Difference between revisions of "Particle-Based Boundary Conditions"

From OSUPDOCS
Jump to navigation Jump to search
 
(9 intermediate revisions by the same user 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. Besides particle conditions, simulations can set [[Grid-Based Boundary Conditions]].
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 in Scripted Files ==
==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:
In scripted files, all particle-based boundary conditions are created by a series of <tt>ParticleBC</tt> command blocks that select particles:
Line 26: Line 26:
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]].
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|load, traction, heat flux, and/or concentration flux conditions]].
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 ===
=== Deprecated Commands ===
Line 39: Line 39:
See [[Particle BC Shape Commands|documentation]] for conversion of old commands to the new method.
See [[Particle BC Shape Commands|documentation]] for conversion of old commands to the new method.


== Explicit Grid-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
An option in <tt>XML</tt> files is to explicitly set boundary conditions on particles without using shape functions. The format is
Line 51: Line 51:
  </GridBCs>
  </GridBCs>


The <tt>&lt;BCShape&gt;</tt> blocks set boundary conditions as explained [[#Particle-Based Boundary Condition Commands|above]]. The <tt>&lt;DisplacementBCs&gt;</tt> blocks 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>&lt;BCShape&gt;</tt> commands]] and a <tt>&lt;DisplacementBCs&gt;</tt> block in the same input file.
The <tt>&lt;BCShape&gt;</tt> blocks set boundary conditions as explained [[#Particle-Based Boundary Condition Commands|above]]. The <tt>&lt;LoadBCs&gt;</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>&lt;BCShape&gt;</tt> blocks]] and a [[Explicit Particle Boundary Conditions|<tt><LoadBCs></tt> block]] in the same input file.
== Particle-Based Boundary Condition in XML Files ==
 
All particle-based boundary conditions must be set up within a single <ParticleBCs> element. The format is
 
<ParticleBCs>
    (one or more particle BC shape commands)
      ...
    <LoadBCs>
      (one or more explicit boundary conditions)
    </LoadBCs >
</ParticleBCs>
 
There are two ways to specify particle boundary conditions. The most common approach is to generate boundary conditions using one or more [[Particle BC Shape Commands|shape commands]] to select particles and assign [[Setting Forces and Fluxes|specified load, traction, heat flux, and or concentration flux conditions]] to those particles. The other way is to [[Explicit Particle Boundary Conditions|explicitly list each particle condition]]. The explicit method is shown in the <tt><LoadBCs></tt> section above; it is limited to load conditions, and is usually generated with other software. You can use both [[Particle BC Shape Commands|shape commands]] and a [[Explicit Particle Boundary Conditions|<tt><LoadBCs></tt> section]] in the same input file.

Latest revision as of 10: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.