Difference between revisions of "Grid-Based Boundary Conditions"
(28 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
__TOC__ | |||
== Introduction == | == Introduction == | ||
Grid-based boundary conditions are used to create fixed edges, to | Grid-based boundary conditions are used to create fixed edges, to create moving edges that displace the object, and for setting boundary temperature or concentration. Fixed edges are created be setting velocity to zero. If the edge is a symmetry plane in the object, however, it is better to create the [[MPM Grid Generation#Symmetry Planes|symmetry plane boundary conditions automatically]] rather then to set them manually with boundary condition commands. The use of a moving edge to apply displacements is limited to small displacements because in large-displacement problems, the particles may move away from the boundary conditions and the conditions will no longer have the correct influence. The alternative method for creating a moving edge is to use [[Rigid Material|rigid material]] particles set to use the [[Rigid Material#Moving Boundary Condition|moving boundary condition mode]]. These particles create grid-based boundary conditions that move with the particle position. They can set velocity or moving temperature and concentration values. Besides grid-based conditions, simulations can set [[Particle-Based Boundary Conditions]]. | ||
== Grid-Based Boundary Condition | == Grid-Based Boundary Condition Commands == | ||
In scripted files, all grid-based boundary conditions are created by a series of <tt>GridBC</tt> command blocks that select nodes on the grid: | |||
GridBC | |||
(one 2D or 3D shape command, which can be nested) | |||
(one or more velocity, temperature, or concentration condition) | (one or more velocity, temperature, or concentration condition) | ||
... | ... | ||
EndGridBC | |||
In <tt>XML</tt> files, grid-based boundary conditions are created with a <tt><BCShape></tt> block | |||
<BCShape> | |||
(one 2D or 3D shape command, which can be nested) | |||
(one or more velocity, temperature, or concentration condition) | (one or more velocity, temperature, or concentration condition) | ||
... | ... | ||
</BCShape> | |||
which must be within the main <tt><GridBC></tt> block. | |||
The nodes that will get boundary conditions are selected by defining one [[2D MPM Shape Commands|2D shape]] (for 2D simulations) or one [[3D MPM Shape Commands|3D shape]] (for 3D simulations). The shape be a [[Nested Shapes|nested shape]]. | |||
All nodes within the one shape will be set to all provided [[Setting Velocity and Transport Values|velocity and/or transport value conditions]]. | |||
=== Deprecated Commands === | |||
Prior to the grid-based boundary condition commands in the previous section, the boundary conditions used to be set with [[Grid BC Shape Commands|boundary condition shape commands]]. The deprecated commands are: | |||
* <tt>MoveLine</tt> and <tt><BCLine></tt> | |||
* <tt>MoveArc</tt> and <tt><BCArc></tt> | |||
* <tt><LdRect></tt> | |||
* <tt>MoveBox</tt> and <tt><BCBox></tt> | |||
See [[Grid BC Shape Commands|documentation]] for conversion of old commands to the new method. | |||
== Grid-Based Boundary Condition in XML Files == | == Explicit Grid-Based Boundary Condition in XML Files == | ||
An option in <tt>XML</tt> files is to explicitly set boundary conditions on nodes without using shape functions. The format is | |||
<GridBCs> | <GridBCs> | ||
(one or more | (one or more <BCShape> blocks) | ||
... | |||
<DisplacementBCs> | <DisplacementBCs> | ||
(one or more explicit boundary conditions) | (one or more explicit boundary conditions) | ||
Line 38: | Line 51: | ||
</GridBCs> | </GridBCs> | ||
The <tt><BCShape></tt> blocks set boundary conditions as explained [[#Grid-Based Boundary Condition Commands|above]]. The <tt><DisplacementBCs></tt> block lets you [[Explicit Grid Boundary Conditions|explicitly list each grid point]]. The explicit method is limited to velocity conditions, and is usually generated with other software. You can use both [[#Grid-Based Boundary Condition Commands|<tt><BCShape></tt> commands]] and a <tt><DisplacementBCs></tt> block in the same input file. | |||
== Layers of Boundary Conditions == | |||
Grid boundary conditions are typcially placed on a layer of nodes that is outside the body defined by the material points and that layer defines the boundary. When using [[MPM Methods and Simulation Timing|GIMP methods]], however, a particle near the boundary will interact with that boundary layer, but may also interact with nodes beyond a single row of boundary conditions. To prevent non-physical results from the extra nodes that are physcially outside the body, it may be necessary to set up two rows (or columns) of boundary conditions. For example, to have a rigid wall, set the velocity of two rows (or columns) or nodes to be zero. An alternative solution is to fill a boundary area with [[Rigid Material|rigid particles]]. Rigid particle automatically create the required boundary conditions on two rows (or columns) of nodes. | |||
</ | Sometimes even two rows of boundary conditions will lead to artifacts in particles near the edges. These artifacts can be reduced by using [[MPM Grid Generation#Symmetry Planes|symmetry planes]] or [[Rigid Material|rigid particles]] with the <tt>mirrored</tt> property. |
Latest revision as of 10:39, 20 September 2017
Introduction
Grid-based boundary conditions are used to create fixed edges, to create moving edges that displace the object, and for setting boundary temperature or concentration. Fixed edges are created be setting velocity to zero. If the edge is a symmetry plane in the object, however, it is better to create the symmetry plane boundary conditions automatically rather then to set them manually with boundary condition commands. The use of a moving edge to apply displacements is limited to small displacements because in large-displacement problems, the particles may move away from the boundary conditions and the conditions will no longer have the correct influence. The alternative method for creating a moving edge is to use rigid material particles set to use the moving boundary condition mode. These particles create grid-based boundary conditions that move with the particle position. They can set velocity or moving temperature and concentration values. Besides grid-based conditions, simulations can set Particle-Based Boundary Conditions.
Grid-Based Boundary Condition Commands
In scripted files, all grid-based boundary conditions are created by a series of GridBC command blocks that select nodes on the grid:
GridBC (one 2D or 3D shape command, which can be nested) (one or more velocity, temperature, or concentration condition) ... EndGridBC
In XML files, grid-based boundary conditions are created with a <BCShape> block
<BCShape> (one 2D or 3D shape command, which can be nested) (one or more velocity, temperature, or concentration condition) ... </BCShape>
which must be within the main <GridBC> block.
The nodes that will get boundary conditions are selected by defining one 2D shape (for 2D simulations) or one 3D shape (for 3D simulations). The shape be a nested shape.
All nodes within the one shape will be set to all provided velocity and/or transport value conditions.
Deprecated Commands
Prior to the grid-based boundary condition commands in the previous section, the boundary conditions used to be set with boundary condition shape commands. The deprecated commands are:
- MoveLine and <BCLine>
- MoveArc and <BCArc>
- <LdRect>
- MoveBox and <BCBox>
See documentation for conversion of old commands to the new method.
Explicit Grid-Based Boundary Condition in XML Files
An option in XML files is to explicitly set boundary conditions on nodes without using shape functions. The format is
<GridBCs> (one or more <BCShape> blocks) ... <DisplacementBCs> (one or more explicit boundary conditions) </DisplacementBCs> </GridBCs>
The <BCShape> blocks set boundary conditions as explained above. The <DisplacementBCs> block lets you explicitly list each grid point. The explicit method is limited to velocity conditions, and is usually generated with other software. You can use both <BCShape> commands and a <DisplacementBCs> block in the same input file.
Layers of Boundary Conditions
Grid boundary conditions are typcially placed on a layer of nodes that is outside the body defined by the material points and that layer defines the boundary. When using GIMP methods, however, a particle near the boundary will interact with that boundary layer, but may also interact with nodes beyond a single row of boundary conditions. To prevent non-physical results from the extra nodes that are physcially outside the body, it may be necessary to set up two rows (or columns) of boundary conditions. For example, to have a rigid wall, set the velocity of two rows (or columns) or nodes to be zero. An alternative solution is to fill a boundary area with rigid particles. Rigid particle automatically create the required boundary conditions on two rows (or columns) of nodes.
Sometimes even two rows of boundary conditions will lead to artifacts in particles near the edges. These artifacts can be reduced by using symmetry planes or rigid particles with the mirrored property.