BornAgain
1.18.0
Simulate and fit neutron and x-ray scattering at grazing incidence
|
Classes | |
class | BaseMaterialImpl |
class | MagneticMaterialImpl |
class | Material |
class | MaterialBySLDImpl |
class | RefractiveMaterialImpl |
Functions | |
Material | HomogeneousMaterial () |
Material | HomogeneousMaterial (const std::string &name, double delta, double beta, kvector_t magnetization={}) |
Material | HomogeneousMaterial (const std::string &name, complex_t refractive_index, kvector_t magnetization={}) |
Material | MaterialBySLD () |
Material | MaterialBySLD (const std::string &name, double sld_real, double sld_imag, kvector_t magnetization={}) |
Material | createAveragedMaterial (const Material &layer_mat, const std::vector< HomogeneousRegion > ®ions) |
std::vector< complex_t > | MaterialProfile (const MultiLayer &multilayer, int n_points, double z_min, double z_max) |
Classes and functions to describe magnetic and non-magnetic materials.
Material HomogeneousMaterial | ( | ) |
Definition at line 37 of file MaterialFactoryFuncs.cpp.
References HomogeneousMaterial().
Material HomogeneousMaterial | ( | const std::string & | name, |
double | delta, | ||
double | beta, | ||
kvector_t | magnetization = {} |
||
) |
Definition at line 27 of file MaterialFactoryFuncs.cpp.
Material HomogeneousMaterial | ( | const std::string & | name, |
complex_t | refractive_index, | ||
kvector_t | magnetization = {} |
||
) |
Constructs a material with name, refractive_index and magnetization (in A/m).
Alternatively, and for refractive index can be passed directly. With no parameters given, constructs default (vacuum) material with and zero magnetization.
Definition at line 21 of file MaterialFactoryFuncs.cpp.
Referenced by CoreShellParticleBuilder::buildSample(), HomogeneousMultilayerBuilder::buildSample(), MagneticSubstrateZeroFieldBuilder::buildSample(), MagneticLayerBuilder::buildSample(), MagneticRotationBuilder::buildSample(), MagneticParticleZeroFieldBuilder::buildSample(), MagneticCylindersBuilder::buildSample(), MagneticSpheresBuilder::buildSample(), MultiLayerWithRoughnessBuilder::buildSample(), ResonatorBuilder::buildSample(), SlicedCylindersBuilder::buildSample(), createAveragedMaterial(), HomogeneousMaterial(), and anonymous_namespace{MagneticLayersBuilder.cpp}::parametricBuild().
Material MaterialBySLD | ( | ) |
Definition at line 42 of file MaterialFactoryFuncs.cpp.
Referenced by anonymous_namespace{FeNiBilayerBuilder.cpp}::FeNiBilayer::constructSample(), and createAveragedMaterial().
Material MaterialBySLD | ( | const std::string & | name, |
double | sld_real, | ||
double | sld_imag, | ||
kvector_t | magnetization = {} |
||
) |
Constructs a wavelength-independent material with a given complex-valued scattering length density (SLD).
SLD values for a wide variety of materials can be found on https://sld-calculator.appspot.com/ and https://www.ncnr.nist.gov/resources/activation/ By convention, SLD imaginary part is treated as negative by default, which corresponds to attenuation of the signal. With no parameters given, MaterialBySLD constructs default (vacuum) material with zero sld and zero magnetization.
name | material name |
sld_real | real part of the scattering length density, inverse square angstroms |
sld_imag | imaginary part of the scattering length density, inverse square angstroms |
magnetization | magnetization (in A/m) |
Definition at line 27 of file MaterialFactoryFuncs.cpp.
Material createAveragedMaterial | ( | const Material & | layer_mat, |
const std::vector< HomogeneousRegion > & | regions | ||
) |
Creates averaged material.
Square refractive index of returned material is arithmetic mean over regions and layer_mat. Magnetization (if present) is averaged linearly.
Definition at line 38 of file HomogeneousRegion.cpp.
References MaterialUtils::checkMaterialTypes(), Material::getName(), HomogeneousMaterial(), InvalidMaterialType, Material::magnetization(), MaterialBySLD, Material::materialData(), and RefractiveMaterial.
Referenced by anonymous_namespace{ProcessedSample.cpp}::CreateAverageMaterialSlices().
std::vector<complex_t> MaterialProfile | ( | const MultiLayer & | multilayer, |
int | n_points, | ||
double | z_min, | ||
double | z_max | ||
) |
Calculate average material profile for given multilayer
Definition at line 20 of file MultiLayerFuncs.cpp.
References ProfileHelper::calculateProfile(), GenerateZValues(), and SimulationOptions::setUseAvgMaterials().