Navigation: Scripting Reference Manual > Functions & Subroutines > ScalarFieldToFile

 

ScalarFieldToFile

 

Contact Us: fredsupport@photonengr.com

 

Description

This function computes the complex scalar wave field and writes the result to a FRED Grid Data (FGD) file.  The scalar field function operates only on unpolarized, coherent rays and ignores polarized rays.  When a coherent field calculation encounters multiple wavelengths, the calculation will proceed using only the first wavelength which satisfies the ray filter criteria.  A warning dialog will be displayed which provides the wavelength range detected and the value used in the calculation (to 7 significant digits).  All other wavelengths are ignored.

 

If the optical field is represented by U, then UU* = E (power/area).  This means that the units of the reals() and imags() arrays are Sqrt(power/area).

 

Depending on the number of rays traced, it may be necessary to dimension ray index and ray counter variables as data type Huge_ instead of Long.  Please see Multi-threaded Raytracing for more information.

 

Syntax

count = ScalarFieldToFile( n, nCoordSys, ana, fname )

 

Parameters

count (Long or Huge_)

Returned number of rays that were included in the calculation.

 

n As Long

Node number of the surface to be used as the ray selection filter.  Only rays which exist on this surface at the time of the ScalarField call will be included in the calculation.

 

nCoordSys As Long

Node number of the entity whose coordinate system the ana structure is expressed in.  If the ana structure was initialized using the LoadAnalysis command, the value of nCoordSys should be set to -1.

 

ana As T_ANALYSIS

Structure defining a sample area over which the calculation will be performed.  This variable may be initialized manually or by calling LoadAnalysis.  If LoadAnalysis is used, note that the T_ANALYSIS structure is defined in global coordinates and therefore nCoordSys = -1.

 

fname As String

File name where results of the calculation are to be written.  If a full file path is provided (ex. C:\temp\exampleOutput.fgd), the file will be written to the location specified.  If only a file name is given (ex. exampleOutput.fgd), the file will be written to the current local working directory if the directory allows write permissions.  An error will occur when attempting to create the output file if the directory specified does not have write permissions granted.  If fname string is empty, the results are displayed in a chart window.

 

Example

The example below demonstrates how to use the LoadAnalysis command in conjunction with the ScalarFieldToFile command to calculate the scalar field and write the result to a file.

 

Sub Main

 

    Dim anaSurf As Long, detSurf As Long

    anaSurf = FindFullName( "Analysis Surface(s).Detector Analysis" )

    detSurf = FindFullName( "Geometry.Detector.Surface" )

 

    DeleteRays()

    TraceCreate()

 

    'retrieve analysis surface parameters and calculate pixel area

    Dim tAna As T_ANALYSIS

    Dim pxArea As Double

    LoadAnalysis anaSurf, tAna

 

    'calculate the scalar field

    Dim fname As String, nRays As Long

    fname = "C:\temp\scalarFieldOutput.fgd"

    nRays = ScalarFieldToFile( detSurf, -1, tAna, fname )

 

    'Output information

    Print nRays & " rays were included in the analysis."

    Print "File written: " & fname

 

End Sub

 

See Also

ScalarFieldToARN

ScalarField

ScalarFieldToFileAS

VectorField

VectorFieldToFile

VectorFieldToFileAS

CreateRaysFromScalarField

CreateRaysFromScalarFieldFile

CreateRaysFromVectorField

CreateRaysFromVectorFieldFile

ClipFieldInFile

Irradiance

Intensity

EnergyDensity

T_ANALYSIS

LoadAnalysis

SetAnalysisParameters

DisplayPlotFile

 

 

 

 

 

Copyright © Photon Engineering, LLC