Programming Reference for VirtualLab Fusion  2025.1
Loading...
Searching...
No Matches
Material Class Referenceabstract

This class is subject to change. Programs using this class may require changes with a new version of VirtualLab.
There are different material classes possible that can contain material properties with different definition. All material classes have to have this interface to access the material properties. More...

Inheritance diagram for Material:

Public Member Functions

override object Clone ()
 Create deep copy of object.
 
bool Edit ()
 Calls the edit dialog of the catalog entry.
 
override bool Equals (object obj, EqualityIntent equalityIntent)
 Determines whether two materials are equal, i.e. whether all properties have the same value.
 
double GetAbsorptionCoeff (double wavelength)
 Returns the absorption for the specified Wavelength. Is no absorption for this Wavelength defined an ArgumentException is thrown.
 
void GetAbsorptionMinMaxWavelength (out double minWavelength, out double maxWavelength)
 Returns minimum and maximum Wavelength for that a absorption is available.
 
Complex GetComplexRefractiveIndex (double vacuumWavelength, double temperatureInDegrees, double pressureInPascal)
 Returns the absolutely defined complex refractive index for the given wavelength.
 
void GetMinMaxWavelength (out double minWavelength, out double maxWavelength)
 Returns the valid min/max wavelength of the medium.
 
double GetRealRefractiveIndex (double vacuumWavelength, bool checkForValidWavelengthRange, double temperatureInDegrees, double pressureInPascal)
 Returns the absolutely defined (!) refractive index for the specified Wavelength. If there is no refractive index for this Wavelength given, an ArgumentException is thrown.
 
double GetRealRefractiveIndex (double vacuumWavelength, double temperatureInDegrees, double pressureInPascal)
 Returns the absolutely defined refractive index for the specified Wavelength. Is no refractive index for this Wavelength given, an ArgumentException is thrown.
 
double GetRealRefractiveIndexAsDefined (double wavelength, bool checkForValidWavelengthRange=true, double vacuumWavelengthIfKnown=0, double temperatureInDegrees=20, double pressureInPascal=Globals.PascalsPerAtm)
 Returns the refractive index relative to air for the specified Wavelength. Is no refractive index for this Wavelength defined an ArgumentException is thrown.
 
void GetRealRefractiveIndexMinMaxWavelength (out double minWavelength, out double maxWavelength, bool giveVacuumWavelengths)
 Returns wavelength range for that a refractive index is available. If giveVacuumWavelengths is true, the values are vacuum wavelengths, otherwise they refer to the reference material.
 
PhysicalValueRange GetRealRefractiveIndexWavelengthRange (bool giveVacuumWavelengths=true)
 Gets the valid wavelength range for calculating real refractive indices.
 
double GetTemperatureInducedRefractiveIndexChange (double temperatureInDegrees, double refractiveIndexAtStandardConditions, double vacuumWavelength)
 Method which calculates the change in the real refractive index which is caused by a temperature difference (between the application temperature and the measurement temperature).
 
PhysicalValueRange GetWavelengthRange ()
 Gets the allowed wavelength range which is the intersection of the allowed wavelength range for the real part of the refractive index and for the absorption index.
 
virtual bool IsConsistent (out ArrayList messageList)
 Virtual method to check the consistency of the material.
 
 Material ()
 Standard constructor.
 

Static Public Member Functions

static Material Load (string fileName)
 Load constructor.
 

Public Attributes

bool RefractiveIndexDefinedAsAbsolute
 Is the given refractive index defined as absolute or as relative to the reference material?
 

Properties

Type CatalogClass [get]
 The catalogs are of type MaterialsCatalog.
 
string CatalogName [get, set]
 Name of the catalog the material belongs to.
 
List< string > Categories [get, set]
 Each string in the list represents one category the catalog belongs to. The format is "subcatalog|subsubcatalog...".
 
EditedInType EditedWithin [get, set]
 Gets and sets how to show the edit dialog of the interface. Must be set prior to calling the edit dialog.
 
virtual string FixedName [get]
 
string HelpChapterPreview [get]
 The help chapter for the preview of the ICatalogEntry.
 
bool IsEditable [get]
 Flag which defines whether the catalog entry is editable.
 
string Name [get, set]
 Name of the material. Has to be unique if material shall be stored into a catalog.
 
List< Parameter > ParameterRunParameters [get]
 public property to get the parameters used for parameter run
 
Material ReferenceMaterial [get, set]
 Get and set the reference material the relative refractive indices are related to (usually air). If a new reference material is set, this material is set to relatively defined refractive indices.
 
StateOfMatter StateOfMatter [get, set]
 State of matter of this material.
 

Detailed Description

This class is subject to change. Programs using this class may require changes with a new version of VirtualLab.
There are different material classes possible that can contain material properties with different definition. All material classes have to have this interface to access the material properties.

Member Function Documentation

◆ Clone()

override object Clone ( )

Create deep copy of object.

Returns
the cloned object

◆ Edit()

bool Edit ( )
abstract

Calls the edit dialog of the catalog entry.

Returns
TRUE: Editing was successful.

◆ Equals()

override bool Equals ( object  obj,
EqualityIntent  equalityIntent 
)

Determines whether two materials are equal, i.e. whether all properties have the same value.

Parameters
objThe material to compare with this material.
equalityIntentDefines what kind of equality you want to check when comparing two objects, for example all values or physical equality.
Returns
True if the properties and variables of both materials are equal.

◆ GetAbsorptionCoeff()

double GetAbsorptionCoeff ( double  wavelength)
abstract

Returns the absorption for the specified Wavelength. Is no absorption for this Wavelength defined an ArgumentException is thrown.

Parameters
wavelengthWavelength for that the absorption should be returned.
Returns
Absorption for this wavelength.

◆ GetAbsorptionMinMaxWavelength()

void GetAbsorptionMinMaxWavelength ( out double  minWavelength,
out double  maxWavelength 
)
abstract

Returns minimum and maximum Wavelength for that a absorption is available.

Parameters
minWavelengthMinimum Wavelength.
maxWavelengthMaximum Wavelength.

◆ GetComplexRefractiveIndex()

Complex GetComplexRefractiveIndex ( double  vacuumWavelength,
double  temperatureInDegrees,
double  pressureInPascal 
)

Returns the absolutely defined complex refractive index for the given wavelength.

Parameters
vacuumWavelengthThe vacuum wavelength needed for the calculation of the refractive index.
temperatureInDegreesTemperature to get the index for.
pressureInPascalPressure to get the index for.
Returns
The complex refractive index

◆ GetMinMaxWavelength()

void GetMinMaxWavelength ( out double  minWavelength,
out double  maxWavelength 
)

Returns the valid min/max wavelength of the medium.

Parameters
minWavelengthReturns the larger wavelength of both the minimum wavelength for refractive indices and absorption coefficients.
maxWavelengthReturns the smaller wavelength of both the maximum wavelength for refractive indices and absorption coefficients.

◆ GetRealRefractiveIndex() [1/2]

double GetRealRefractiveIndex ( double  vacuumWavelength,
bool  checkForValidWavelengthRange,
double  temperatureInDegrees,
double  pressureInPascal 
)

Returns the absolutely defined (!) refractive index for the specified Wavelength. If there is no refractive index for this Wavelength given, an ArgumentException is thrown.

Parameters
vacuumWavelengthVacuum wavelength the refractive index should be returned for.
checkForValidWavelengthRangeIf false, no check is done whether the wavelength is valid. This option should ever be true, except for the case of calculating the vacuum wavelength, where a stack overflow has to be avoided.
temperatureInDegreesThe temperature in degrees Celsius to calculate the refractive index for.
pressureInPascalThe pressure in pascals to calculate the refractive index for.
Returns
Refractive index for this wavelength.

◆ GetRealRefractiveIndex() [2/2]

double GetRealRefractiveIndex ( double  vacuumWavelength,
double  temperatureInDegrees,
double  pressureInPascal 
)

Returns the absolutely defined refractive index for the specified Wavelength. Is no refractive index for this Wavelength given, an ArgumentException is thrown.

Parameters
vacuumWavelengthVacuum wavelength the refractive index should be returned for.
temperatureInDegreesThe temperature in degrees Celsius to calculate the refractive index for.
pressureInPascalThe pressure in pascals to calculate the refractive index for.
Returns
Refractive index for this wavelength.

◆ GetRealRefractiveIndexAsDefined()

double GetRealRefractiveIndexAsDefined ( double  wavelength,
bool  checkForValidWavelengthRange = true,
double  vacuumWavelengthIfKnown = 0,
double  temperatureInDegrees = 20,
double  pressureInPascal = Globals.PascalsPerAtm 
)
abstract

Returns the refractive index relative to air for the specified Wavelength. Is no refractive index for this Wavelength defined an ArgumentException is thrown.

Parameters
wavelengthWavelength (as measured in reference material) for that the refractive index should be returned.
checkForValidWavelengthRangeIf false, no check is done whether the wavelength is valid. This option should ever be true, except for the case of calculating the vacuum wavelength, where a stack overflow has to be avoided.
vacuumWavelengthIfKnownIf known and checkForValidWavelengthRange == true, the vacuum wavelength must not be calculated again for checking the valid wavelength range.
temperatureInDegreesThe temperature in degrees Celsius to calculate the refractive index for.
pressureInPascalThe pressure in pascals to calculate the refractive index for.
Returns
Refractive index for this wavelength.

◆ GetRealRefractiveIndexMinMaxWavelength()

void GetRealRefractiveIndexMinMaxWavelength ( out double  minWavelength,
out double  maxWavelength,
bool  giveVacuumWavelengths 
)
abstract

Returns wavelength range for that a refractive index is available. If giveVacuumWavelengths is true, the values are vacuum wavelengths, otherwise they refer to the reference material.

Parameters
minWavelengthMinimum Wavelength.
maxWavelengthMaximum Wavelength.
giveVacuumWavelengthsIf true, the wavelength range of the reference material's refractive index will be considered, and vacuum wavelengths will be returned. If the material is defined absolutely, the parameter will be ignored.

◆ GetRealRefractiveIndexWavelengthRange()

PhysicalValueRange GetRealRefractiveIndexWavelengthRange ( bool  giveVacuumWavelengths = true)

Gets the valid wavelength range for calculating real refractive indices.

Parameters
giveVacuumWavelengthsIf true, the wavelength range of the reference material's refractive index will be considered, and vacuum wavelengths will be returned. If the material is defined absolutely, the parameter will be ignored. This optional parameter is true by default.
Returns
The valid wavelength range of the medium.

◆ GetTemperatureInducedRefractiveIndexChange()

double GetTemperatureInducedRefractiveIndexChange ( double  temperatureInDegrees,
double  refractiveIndexAtStandardConditions,
double  vacuumWavelength 
)

Method which calculates the change in the real refractive index which is caused by a temperature difference (between the application temperature and the measurement temperature).

Parameters
temperatureInDegreesApplication temperature in degrees Celsius.
refractiveIndexAtStandardConditionsThe refractive index at standard (i.e. measurement) conditions.
vacuumWavelengthThe vacuum wavelength to get the refractive index for.
Returns
The refractive index change.

◆ GetWavelengthRange()

PhysicalValueRange GetWavelengthRange ( )

Gets the allowed wavelength range which is the intersection of the allowed wavelength range for the real part of the refractive index and for the absorption index.

Returns
The allowed wavelength range of the material. Null if the two wavelength ranges do not overlap.

◆ IsConsistent()

virtual bool IsConsistent ( out ArrayList  messageList)
virtual

Virtual method to check the consistency of the material.

Parameters
messageListArray of ConsistenyErrorOrWarning objects
Returns
True if there is no error

◆ Load()

static Material Load ( string  fileName)
static

Load constructor.

Parameters
fileNameFull path and file name of the material to load.
Returns
The loaded document.

Property Documentation

◆ EditedWithin

EditedInType EditedWithin
getset

Gets and sets how to show the edit dialog of the interface. Must be set prior to calling the edit dialog.