Difference between revisions of "Particle-Based Boundary Conditions"
(20 intermediate revisions by 2 users not shown) | |||
Line 2: | Line 2: | ||
== Introduction == | == Introduction == | ||
Particle-based boundary conditions are used to apply conditions directly to particles for loads, tractions, heat fluxes, and concentration fluxes. Particle-based boundary conditions are typically applied to particles on the boundary of the object. | Particle-based boundary conditions are used to apply conditions directly to particles for loads, tractions, heat fluxes, and concentration fluxes. Particle-based boundary conditions are typically applied to particles on the boundary of the object. Some particle-based boundary conditions instead set initial some particle properties (''e.g.'', damage). Besides particle conditions, simulations can set [[Grid-Based Boundary Conditions]]. | ||
== Particle-Based Boundary Condition | ==Particle-Based Boundary Condition Commands == | ||
In scripted files, all particle-based boundary conditions are created by a series of <tt>ParticleBC</tt> command blocks that select particles: | |||
ParticleBC | |||
(one or more load, traction, or flux condition) | (one 2D or 3D shape command, which can be nested) | ||
(one or more load, traction, heat flux, or concentration flux condition) | |||
... | ... | ||
EndParticleBC | |||
In <tt>XML</tt> files, particle-based boundary conditions are created with a <tt><BCShape></tt> block | |||
(one or more load, traction, or flux condition) | |||
<BCShape> | |||
(one 2D or 3D shape command, which can be nested) | |||
(one or more load, traction, heat flux, or concentration flux condition) | |||
... | ... | ||
</BCShape> | |||
which must be within the main <tt><ParticleBC></tt> block. | |||
The particles 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 can be a [[Nested Shapes|nested shape]]. | |||
All particles within the one shape will be set to all provided [[Setting Forces and Fluxes|conditions (load, traction, heat, concentration, pore pressure flux, and/or initial damage or phase field)]]. | |||
=== Deprecated Commands === | |||
Prior to the particle-based boundary condition commands in the previous section, the boundary conditions used to be set with [[Particle BC Shape Commands|boundary condition shape commands]]. The deprecated commands are: | |||
* <tt>LoadLine</tt> and <tt><BCLine></tt> | |||
* <tt>LoadArc</tt> and <tt><BCArc></tt> | |||
* <tt>LoadRect</tt> and <tt><LdRect></tt> | |||
* <tt>LoadBox</tt> and <tt><BCBox></tt> | |||
See [[Particle BC Shape Commands|documentation]] for conversion of old commands to the new method. | |||
== Particle-Based Boundary Condition in XML Files == | == Explicit Particle-Based Boundary Condition in XML Files == | ||
An option in <tt>XML</tt> files is to explicitly set boundary conditions on particles without using shape functions. The format is | |||
< | <GridBCs> | ||
(one or more | (one or more <BCShape> blocks) | ||
... | |||
<LoadBCs> | <LoadBCs> | ||
(one or more explicit boundary conditions) | (one or more explicit boundary conditions) | ||
</LoadBCs > | </LoadBCs> | ||
</GridBCs> | </GridBCs> | ||
The <tt><BCShape></tt> blocks set boundary conditions as explained [[#Particle-Based Boundary Condition Commands|above]]. The <tt><LoadBCs></tt> block lets you [[Explicit Particle Boundary Conditions|explicitly list each particle]]. The explicit method is limited to load conditions, and is usually generated with other software. You can use both [[#Particle-Based Boundary Condition Commands|<tt><BCShape></tt> blocks]] and a [[Explicit Particle Boundary Conditions|<tt><LoadBCs></tt> block]] in the same input file. |
Latest revision as of 09:24, 17 November 2023
Introduction
Particle-based boundary conditions are used to apply conditions directly to particles for loads, tractions, heat fluxes, and concentration fluxes. Particle-based boundary conditions are typically applied to particles on the boundary of the object. Some particle-based boundary conditions instead set initial some particle properties (e.g., damage). Besides particle conditions, simulations can set Grid-Based Boundary Conditions.
Particle-Based Boundary Condition Commands
In scripted files, all particle-based boundary conditions are created by a series of ParticleBC command blocks that select particles:
ParticleBC (one 2D or 3D shape command, which can be nested) (one or more load, traction, heat flux, or concentration flux condition) ... EndParticleBC
In XML files, particle-based boundary conditions are created with a <BCShape> block
<BCShape> (one 2D or 3D shape command, which can be nested) (one or more load, traction, heat flux, or concentration flux condition) ... </BCShape>
which must be within the main <ParticleBC> block.
The particles that will get boundary conditions are selected by defining one 2D shape (for 2D simulations) or one 3D shape (for 3D simulations). The shape can be a nested shape.
All particles within the one shape will be set to all provided conditions (load, traction, heat, concentration, pore pressure flux, and/or initial damage or phase field).
Deprecated Commands
Prior to the particle-based boundary condition commands in the previous section, the boundary conditions used to be set with boundary condition shape commands. The deprecated commands are:
- LoadLine and <BCLine>
- LoadArc and <BCArc>
- LoadRect and <LdRect>
- LoadBox and <BCBox>
See documentation for conversion of old commands to the new method.
Explicit Particle-Based Boundary Condition in XML Files
An option in XML files is to explicitly set boundary conditions on particles without using shape functions. The format is
<GridBCs> (one or more <BCShape> blocks) ... <LoadBCs> (one or more explicit boundary conditions) </LoadBCs> </GridBCs>
The <BCShape> blocks set boundary conditions as explained above. The <LoadBCs> block lets you explicitly list each particle. The explicit method is limited to load conditions, and is usually generated with other software. You can use both <BCShape> blocks and a <LoadBCs> block in the same input file.