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

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:

P_{ij} = (w_i  P_i + w_j P_j) / (w_i + w_j)

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