![]() |
AdvDiffusionFemPhysics
An advection-diffusion equation FEM Physics Plugin
|
The Advective Diffusion FEM Physics only publishes one object type (named "Pressure") and so references to the plugin name while creating a physics object don't need to include a type name.
The Advective Diffusion FEM physics requires the model to contain a single pressure state variable named P. It must be a scalar variable. The physics don't have a unit by default.
The Advective Diffusion FEM physics doesn't uses the concept of a metrial type since it doesn't feature multiple constitutive laws. The material behavior is fully described by the material properties below.
The following material properties are supported (required) by the Advective Diffusion Fem physics:
Property | Description | Type | Required |
---|---|---|---|
\(\phi\) | Porosity. | Scalar | Yes |
K | Permeability Tensor. | Scalar/Vector/Matrix | Yes |
F | Source/Sink term. | Scalar | Yes |
P_IC | Initial Condition ( \(p_0\)). | Scalar | Yes |
Q_IC | Initial Condition ( \(\mathbf{u}_0\)). | Vector | Yes |
PT | Analytic Solution ( \(p_t\)). | Scalar | No |
QT | Analytic Solution ( \(\mathbf{u}_t\)). | Vector | No |
DQT | Analytic Solution ( \(\text{grad}(p_t)\)). | Vector | No |
GPT | Analytic Solution ( \(\text{div}(\mathbf{u}_t)\)). | Scalar | No |
1) The Permeability Tensor K have a 'nxn' matrix representation, where 'n' is either 2 or 3 depending on the model dimension. It can be replaced by a scalar instead in one dimension problems or vector in two dimensional problems.
2) The Analytic Solution Set (PT, QT, DQT and GPT) is only required in error/convergence tests.
Example
In AdvDiffusionFEMPhysics is necessary a topology mesh and a pair ( \(p\geq 1\), \(q\geq 1\)) local degree approximations for hierarquical elements.
Attribute | Description | Type | Required |
---|---|---|---|
id | The mesh name . | String | Yes |
Example: id = 'mesh', | |||
typeName | Mesh used in GeMA Framework . | String | Yes |
Example: typeName = 'GemaMesh.elem' | |||
description | Description of Mesh . | String | Yes |
Example: description = 'Regular 2D Mesh' | |||
coordinateDim | Dimesional Space. | Integer | Yes |
Example: coordinateDim = 2 | |||
coordinateUnit | Unit of Lenght used in the Mesh. | Unit | No |
Example: coordinateUnit = 'm' | |||
stateVars | State Variavel associated to Physics. | State Variavel | Yes |
Example: stateVars = {'Pressure'} | |||
nodeData | Node List of geometrical mesh . | List | Yes |
Example: nodeData = mesh_nodes | |||
cellProperties | Cell properties associad to mesh . | PropertySet | Yes |
Example: cellProperties = {'MatProp'} | |||
cellData | Element List of geometrical mesh . | List | Yes |
Example: cellData = mesh_elements | |||
hOrder | Local degree approximation for hierarchical elements for pressure and velocity subspaces. | List | Yes |
Example: hOrder = {p = POrder,q = Qrder } | |||
boundaryEdgeData | Boundarie list of geometrical mesh. | List | Yes |
Example: boundaryEdgeData= mesh_bnd | |||
userghostNodes | AdvDiffusionFEMPhysics physics use ghost nodes . | Bool | Yes |
Example: useGhostNodes = true | |||
elementRules | Lobbato Integration rule with \( 2\text{max}(p,q)+1 \) points for each dimension. | Integration Rule | Yes |
Example: elementRules = {{hquadp = 2* max(p,q) + 1}} |
Example
When defining a AdvDiffusionFEMPhysics object, the following fields are available for usage during the definition:
Attribute | Description | Type | Required | Def. Unit |
---|---|---|---|---|
id | The physics name. | String | Yes | - |
Example: id = 'DG_FEM' | ||||
typeName | Physics plugin name. Should be equal to 'DGFemPhysics.Galerkin'. | String | Yes | - |
Required value: typeName = 'DGFemPhysics.Galerkin' | ||||
type | Type of physics object. Should be equal to 'fem'. | String | Yes | - |
Required value: type= 'fem' | ||||
description | An optional description for this physics role in the simulation. | String | No | Empty |
Example: description = 'Discontinuous Galerkin Method' | ||||
mesh | The mesh name. | String | Yes | - |
Example: mesh = 'myMeshName' | ||||
NodsX | Number of nodes arranged in the regular mesh in the x direction. | Integer | Yes | - |
Example: NodsX = NodsX | ||||
NodsY | Number of nodes arranged in the regular mesh in the y direction. | Integer | Yes | - |
Example: NodsY = NodsY | ||||
NodsY | Is or not a Transient Analysis?. | Bool | Yes | false |
Example: Transient = true | ||||
NodsY | Is or not a Error Analysis Test? | Bool | No | false |
Example: ErrorAnalysis = true | ||||
boundaryConditions | Table filled with the names of the boundary conditions associated with this physics. | String table | Yes | - |
Example: boundaryConditions = {'Border_Concentration','Free_Concentration'} | ||||
unitSystem | Unit of length. | Unit | Yes | - |
Example: unitSystem = { coord = 'm'} |
Like other Fem physics, stateVar, property and attribute renaming fields are supported. Likewise, restricting the physics application domain to a set of cell groups, setting the desired integration rule and unit system remapping are also available. Those common optional fields are detailed at the Common Fem physics plugin options page.
Example:
The AdvDiffusionFEM physics supports Dirichlet boundary conditions for both pressure and velocity variavels. Available boundary condition types are:
1) Pressure BC : Boundary condition type for fixed pressure. Always applied on element node/edge/face. Supported attributes are:
Attribute | Description | Type | Required | Def. Unit |
---|---|---|---|---|
P | Prescribe Edge/Face Pressure. | Scalar | Yes | - |
Example:
2) Velocity BC : Boundary condition type for natural boundary condition for velocity. Always applied on element edge/face. Supported attributes are:
Attribute | Description | Type | Required | Default |
---|---|---|---|---|
Q | Surface Velocity | Vector | Yes | - |
Example:
The AdvDiffusionFEMPhysics use a implicit Backward Euler Method scheme by default for temporal integration .
Attribute | Description | Type | Required | Default |
---|---|---|---|---|
linearTransientMethod | Implicit Temporal Integration Scheme. Euler. | String | Yes | nil |
Example
The AdvDiffusionFEM physics doesn't includes any constants in the constants.AdvDiffusionFemPhysics table.
The AdvDiffusionFEMPhysics doesn't supports the concept of integration with other physics through external loads.
The AdvDiffusionFEMPhysics doesn't supports derived results.
The AdvDiffusionFEMPhysics supports 1D, 2D and 3D elements. Supported elements are: hlinep, hquadp and hhexp.