Definition in file yanera_profile.h.
Go to the source code of this file.
Functions | |
void | yanera_write_profile (yanera_container *yanera) |
Write the SLD profiles to file. | |
double | layerProfileReal (double z, yanera_model *model, yanera_container *yanera) |
Calulates for a slab model. | |
double | componentProfileReal (double z, yanera_model *model, yanera_container *yanera) |
Calulates for a component model. | |
double | functionProfileReal (double z, yanera_model *model, yanera_container *yanera) |
Calulates for a function model. | |
double | layerProfileImag (double z, yanera_model *model, yanera_container *yanera) |
Calulates imaginary component of for a slab model. | |
double | componentProfileImag (double z, yanera_model *model, yanera_container *yanera) |
Calulates imaginary component of for a component model. | |
double | functionProfileImag (double z, yanera_model *model, yanera_container *yanera) |
Calulates imaginary component of for a function model. | |
void | minMaxProfile (double *min, double *max, yanera_model *model, yanera_container *yanera) |
Figures the minimum and maximum . |
void yanera_write_profile | ( | yanera_container * | yanera | ) |
Write the SLD profiles, , to file. The file names are drawn from the file names of the data files, and the file type suffix ".pro" is appended. If there were no data files, then the file name is "result_xx.pro", where xx is a sequential number based on the number of models.
Definition at line 25 of file yanera_profile.c.
double layerProfileReal | ( | double | z, | |
yanera_model * | model, | |||
yanera_container * | yanera | |||
) |
z | Position to calculate | |
model | The yanera_model to calculate. | |
yanera | The general yanera_container . |
where is the thickness, is the real part of the scattering length density, the roughness, each of layer . The location of the error function, , is calculated by a running total of the thicknesses. When the roughness is zero, the error function becomes a Heavyside step function.
Definition at line 80 of file yanera_profile.c.
double componentProfileReal | ( | double | z, | |
yanera_model * | model, | |||
yanera_container * | yanera | |||
) |
z | Position to calculate | |
model | The yanera_model to calculate. | |
yanera | The general yanera_container . |
where is a functional form of a component, that may have XML tags specifying the center (<cntr/>
), roughness (<sigz/>
), and thickness (<thik/>
).
The bulk and/or substrate are modeled by error functions centered at 0 and at the total thickness given by the <cntr/>
tag for the bulk in the XML file.
For a Gaussian function, the <sigz/>
tag becomes the width of the gaussian, given by
A box function is a box of total width <thik/>
, convoluted with a Gaussian of width <sigz/>
:
If <sigz/>
is zero, then the box function becomes a Heavyside step function, and the Gaussian becomes zero.
Definition at line 144 of file yanera_profile.c.
double functionProfileReal | ( | double | z, | |
yanera_model * | model, | |||
yanera_container * | yanera | |||
) |
z | Position to calculate | |
model | The yanera_model to calculate. | |
yanera | The general yanera_container . |
slabProfile
, but for layers that have a functional form, that layer is evaluated according to the expression.
Definition at line 239 of file yanera_profile.c.
double layerProfileImag | ( | double | z, | |
yanera_model * | model, | |||
yanera_container * | yanera | |||
) |
double componentProfileImag | ( | double | z, | |
yanera_model * | model, | |||
yanera_container * | yanera | |||
) |
double functionProfileImag | ( | double | z, | |
yanera_model * | model, | |||
yanera_container * | yanera | |||
) |
void minMaxProfile | ( | double * | min, | |
double * | max, | |||
yanera_model * | model, | |||
yanera_container * | yanera | |||
) |
min | Allocated double to contain the calculated minimum | |
max | Allocated double to contain the calculated maximum | |
model | The yanera_model to calculate. | |
yanera | The general yanera_container . |
Definition at line 527 of file yanera_profile.c.