[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Goptical] Intensity mode
From: |
Richard Graham |
Subject: |
Re: [Goptical] Intensity mode |
Date: |
Mon, 18 Feb 2013 17:16:25 -0800 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20130109 Thunderbird/17.0.2 |
Hi Alexandre,
Thanks for your prompt response. I appreciate it as I am working to a
deadline at the moment.
I tried adding transmittance data for my wavelength to each of the
materials I am using, though I still get the "doesn't contains enough
data" error. I checked that the data was going into the transmittance
data set.
In any case, I am not sure if the calculated intensities would be
sufficient for me. In my case I am not to concerned about the internal
transmittance losses of the materials which are negligible. I am
concerned about the reflection losses which vary with angle of
incidence. In material_base, I see only functions for finding the
transmittance at normal incidence. Should I expect the losses to vary
properly with angle of incidence, or is this not implemented?
Thanks,
--
Richard Graham
On 02/18/2013 03:37 PM, Alexandre Becoulet wrote:
> On Monday 18 February 2013 15:15:17 Richard Graham wrote:
>
> Hi,
>
>> I am trying to work out the intensities in my system and have some
>> confusion about the status of the intensity calculations. From the
>> documentation it seems that while taking into account polarizations is
>> not yet supported, without polarization should be, which is ok for me.
>
> It is supported, see OpticalSurface::trace_ray_intensity in the
> sys_optical_surface.cc source file.
>
>> But when I do:
>>
>> tracer.get_params().set_intensity_mode(Trace::IntensityMode(Trace::Intensity
>> Trace)); tracer.trace();
>>
>> I get a goptical error "what(): data set doesn't contains enough data".
>
> You need to add transmitance data to your material first:
>
> http://www.gnu.org/software/goptical/manual/Material_Dielectric_class_reference.html#__624
>
>> When I do a spot analysis I see that the intensities are always whole
>> numbers -- it seems like it is just counting intersecting rays rather
>> than actually working out the intensities. I don't see anywhere in the
>> code where the IntensityTrace mode is used.
>
> It is used in sys_surface.cc to select a call to the trace_ray_intensity
> virtual function.
>
>> Are the reflection coefficents (such as worked out from Fresnel
>> equations) actually calculated anywhere?
>
> Yes they are, see in material_base.cc. Please check the formula is ok for you
> and let me know.
>
> Best,
>