FemProcess
The GeMA Fem Process Plugin
Common Fem physics plugin options

The following Fem physics attributes are common to most Fem physics. Review the specific physics documentation to check if a particular field is available or not.

Attribute Description Type Required Def. Value
mesh The mesh name. String Yes -
Example: mesh = "myMeshName"
boundaryConditions Table filled with the names of the boundary conditions associated with this physics. String table Yes -
Example: boundaryConditions = { "myBc1", "myBc2", "myBc3" }
contactConditions Table filled with the names of the contact boundary conditions associated with this physics. String table No nil
Example: contactConditions = { "myContactBc1" }
discontinuitySet The name of the discontinuity set associated with this physics. String No nil
Example: discontinuitySet = "myDiscSet"
elementGroups Optional table with the set of element group names over which this physics will be applied. When absent, the whole mesh will be used. To the list of element group names, a booelan field 'disjoint' can be added. When set to true, it informs the physics that the element groups don't have common elements. String table No nil
Example: elementGroups = { "cellGroup1", "cellGroup2", disjoint = true }
materials If the physics supports the material type concept, this attribute stores either the material applied to the whole mesh (value is a single string or a table with only one material name) or a list with the set of material types used on the analysis. In this case, the property set must include a 'material' column to define the type for each property set line. Check the specific physics documentation for a list of available material types. If this attribute is missing, and the pysics uses the material type concept, the default physics material will be used. String or String table No The physics default material
Example: materials = { "elastic", "fracturedRock" }
ruleSet When several integration rule sets are defined in the simualtion mesh, this attribute allows for defining which one will be used by the physics. The given value should be an index between 1 and the number of rule-sets defined on the mesh. It selects both the element rule and the border rule. If absent, a default value of 1 will be assumed. If no set is defined on the mesh, the default value of 1 for this attribute means that the default integration rule for the element type will be used for each element. Integer No 1
Example: ruleSet = 2
stateVars Translation table used to inform the physics which model state variables should be used instead of the default ones expected by it. The given table should be indexed by the names of the expected state vars, having as values the names of the corresponding model state vars. This kind of translation is needed if two different physics share the same concept but using different names. It is also very usefull if one wants to calculate the same value kind (a temperature, for example) with different parameter scenarios. We can, for example, create two state variables named 'T1' and 'T2' and use each one in turn to host the result of different simulations. Table No nil
Example (using thermo physics state vars): stateVars = { T = "T1" }
properties Like stateVars but intended to translate material property names. Also used to translate discontinuity set properties if a set is associated with this physics. Table No nil
Example (using thermo physics properties): properties = { G = "Q", t = "h" }
nodeAttributes Like stateVars but intended to translate node attribute names. Table No nil
gaussAttributes Like stateVars but intended to translate Gauss attribute names. Table No nil
unitSystem If supported by the physics, this table can be used to completelly replace the internal unit system used by the plugin. This replacement can be usefull when working with values that are too small or too big in the default system. The given table should be keyed by the names of the expected physics state variables, properties, node and Gauss attributes, boundary condition attributes and numeric physics attributes, having as values the new units associated with each of them. This new set of units must form a coherent unit system. Special names "coord" and "time" are used, respectively, for replacing the physics units for node coordinates and time. If the table exists but a property or attribute needed by the physics does not have its name included in the table, a warning is emitted. See also the documentation on Working with units. Table No nil
Example: unitSystem = { coord = "in", T = "degF", q = "W/in2", k = "W/(in.degF)", t = "in" }
externalLoads When working with loosely coupled multiphysics scenarios, either in a one way or in a two way schema, results from one physics can be accounted as external load forces for the other. For Fem physics supporting this kind of multiphysics integration, this table maps the expected physics external loads to concrete model state vars or node attributes, identifying the results from other physics simulations that should be used as input for this physics. The table should be keyed by external load names provided by the physics and have as values the name of the corresponding state variables or node attributes. Check the specific physics documentation for a list of supported external load names. Table No nil
Example: externalLoads = { pressureLoad = "P" }
externalLoadRegions Sometimes, the provided external loads should not be applied to the whole spatial domain, but instead to a mesh sub-domain. Like elementGorups, this attribute allows for specifying the set of elements over which an external load will be applied. The table should be keyed like externalLoads, storing for each supported load kind a table with the set of element group names over which the load condition will be applied, using the samen syntax as elementGroups. If an antry exists on externalLoads, but not in this table, the whole mesh will be used. Table No nil
Example: externalLoadRegions = { pressureLoad = { "cellGroup1", "cellGroup3", disjoint = true } }