GemaPropertySet
The GeMA Property Set Plugin
Plugin options

The synatx for creating a Property Set object follows the basic syntax used for creating every plugin based object. To those basic fields, a properties field adds a definition of the properties (columns) that will be included in this property set following the common attribute definition syntax described in the Data options page. The values field adds the material property values (lines).

Each property set line in values is composed by pairs of property names and values. It can also include an id so that this line can be referenced in the model by a name as well as by its line number (starting with 1).

A property value should be a number for scalar properties or a table for vectors or matrices. Matrix values can be either given by a table of tables or linearized by column major format (the same used in the FORTRAN language), so, for a 2x2 matrix, both {11, 21, 12, 22} and { {11, 12}, {21, 22} } correspond to the matrix \(\begin{pmatrix} 11 & 12 \\ 21 & 22 \end{pmatrix}\).

If a property accepts functions, its value can also be a string with the function name. For scalar values, the given value can also be a string if a constMap has been added to the property definition. The map value will be used to initialize the property. Constant maps are commonly used for defining material types (constitutive models) for physics supporting that concept and exporting their maps through a table accesible as constants.PhysicsName.materialModels.

If a property name is missing from a values line, the property default value is assumed.

Example

PropertySet
{
id = 'LithoProperties',
typeName = 'GemaPropertySet',
description = 'Thermal lithological parameters',
properties = {
{id = 'rho', description = 'Grain density', unit = 'kg/m3' },
{id = 'k', description = 'Grain conductivity', unit = 'W/(m.K)', dim = 2 },
{id = 'cp', description = 'Grain specific heat capacity', unit = 'J/(kg.K)' },
{id = 'G', description = 'Grain radiogenic heat', unit = 'uW/m3' },
{id = 't', description = 'Element thickness', unit = 'm', defVal = 1.0 },
},
values = {
{id = 'limestone', rho = 2680, k = {3.90, 2.00}, cp = 845, G = 1.40},
{id = 'sandstone', rho = 2720, k = {4.54, 3.95}, cp = 855, G = 0.70},
{id = 'shale', rho = 2700, k = {2.62, 1.64}, cp = 860, G = 2.03},
}
}

Fields

Field Description Type Required
id The property set name. String Yes
typeName The plugin name. Should be equal to "GemaPropertySet". String Yes
description A description of the property set purpose. String No
properties The table with the definition of the properties (columns) in this property set. Each table entry is a sub-table with a property definition following the syntax described in the Data options page. Table Yes
values The table storing the property set values. Each of its lines is a table storing values for one "material" as (name=value) pairs. Its complete syntax follows the description above. Table Yes