material_properties command
Purpose
Command for defining the properties of a material.
Note
This command is supported by Aspherix GPU.Syntax
material_properties material_name keyword/value pairs
material_name = name of the material to be defined (obligatory entry).
Keyword |
Description |
|---|---|
density of the material
units: [mass/length^3]
|
Additionally, a contact-model dependent list of keyword/value pairs can be appended (e.g.,
youngsModulus, poissonsRatio, coefficientFriction, etc.). The documentation of
each physics model contains information about the required properties.
Examples
material_properties glass density 2500
material_properties glass youngsModulus 5e6 coefficientRestitution 0.7 coefficientFriction &
0.4 poissonsRatio 0.3 density 2500
material_properties glass youngsModulus 5e6 coefficientRestitution 0.7 coefficientFriction temp_friction.csv &
poissonsRatio 0.3 density 2500
material_properties glass youngsModulus 5e6 coefficientRestitution 0.7 &
coefficientFriction function(temp_friction.csv,Temp) poissonsRatio 0.3 density 2500
material_properties glass density 1000 cohesionEnergyDensity function(temp_ced.csv,Temp,atom_style_variable)
Description
This command allows to define the mechanic and thermodynamic properties of a
material. The name of the material is the only obligatory
entry. Multiple instances of the command can be used to define different
materials. The density is an obligatory entry if mesh_module wear
is used with sum_wear_output set to mass.
Inter-dependent material properties
The Property Framework (PF) is a more general implementation of the lookup functionality described above, as it is not limited to specific models. The PF can be used to relate (through a provided csv data file) a material (interaction) property with a particle property, which both need to be specified in the input file (see below). From the provided csv data file a precomputed lookup table is created at initialization, which allows computationally efficient lookup during simulation runtime. To use the PF the following formatting has to be used in the input file:
mat_property function(filename.csv,reference_property,weighting_variable)
Here ‘mat_property’ is the material (interaction) property that is defined (many of the regular material properties should work). The obligatory ‘filename.csv’ consists of two columns, where the first column contains the ‘reference_property’ values and the second column the corresponding ‘mat_property’ values.
Example for temperature dependent coefficient of friction:
# Lines starting with '#' are ignored, e.g. for comments
273. 0.45
283. 0.47
293. 0.51
303. 0.58
Next, the obligatory ‘reference_property’ defines which particle property is used to perform
the lookup of the ‘mat_property’, e.g., Temp for the temperature. For material interaction
properties the ‘interaction_reference_property’ (Pij) has to be determined, which is done by
the following relation:

Here Pi and Pj are the reference properties of particle i and j, respectively. The weights wi and wj are the weights used for each particle, and by default both equal to 0.5 (which makes that Pij is equal to the mean of Pi and Pj). If the (optional) ‘weighting_variable’ is specified, the values for wi and wj are set from that atom-style variable. Finally, the ‘interaction_reference_property’ Pij is used to obtain the value of the material interaction property via the lookup table.
Note
When using the Property Framework, the following conditions should be taken into account:
no whitespace is allowed within the ‘function(…)’ definition,
the reference_property must be a defined particle fix property (see
fix property/atom), and the weighting_variable must be an
atom-style variable (see variables).
Note
If one property is using a file as input all other materials must use a file as well for
this property and the same reference_property.
Legacy: parameter dependent physics models
Note, some models (e.g. tangential model history/tempdep) can use parameters dependent upon state variables (e.g. coefficient of friction dependent on temperature). In case a model allows this you can replace the number by a filename and this filename will be used to construct a lookup function. The function is specified pointwise in a file and a linear interpolation is performed between the points specified in the file. The file is structured as follows:
# Lines starting with '#' are ignored, e.g. for comments
273. 0.45
283. 0.47
293. 0.51
303. 0.58
Note that the entries in the first column must be listed in ascending order. Models that allow for such a lookup function will note that in the corresponding material properties list.
Material type photon
When using the photon custom material type with interaction_type reflect further
material properties must be defined for the standard materials:
refractiveIndex = the material's refractive index
Moreover, photon behavior may adapted by the photon_properties command.
Restrictions
The lack or incomplete specification of material interaction properties might generate an error depending on the model employed.
Default
none