Difference between revisions of "Particle-Based Boundary Conditions"

From OSUPDOCS
Jump to navigation Jump to search
 
(21 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 in Scripted Files ==
==Particle-Based Boundary Condition Commands ==


All particle-based boundary conditions are created by a series of [[Particle BC Shape Commands|shape commands]]. In 2D simulations, the commands are:
In scripted files, all particle-based boundary conditions are created by a series of <tt>ParticleBC</tt> command blocks that select particles:


  LoadLine (x1),(y1),(x2),(y2),(tolerance)
  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)
     ...
     ...
  EndLoadLine
  EndParticleBC
   
 
LoadArc (x1),(y1),(x2),(y2),(startAng),(endAng),(tolerance)
In <tt>XML</tt> files, particle-based boundary conditions are created with a <tt>&lt;BCShape&gt;</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)
     ...
     ...
  EndLoadArc
  </BCShape>
 
LoadRect (xmin),(xmax),(ymin),(ymax),
which must be within the main <tt>&lt;ParticleBC&gt;</tt> block.
  (one or more load, traction, or flux condition)
 
    ...
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]].
EndLoadRect
 
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 ===


In 3D simulations, the commands are:
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:


LoadBox (x1),(y1),(z1),(x2),(y2),(z2)
* <tt>LoadLine</tt> and <tt>&lt;BCLine&gt;</tt>
  (one or more load, traction, or flux condition
* <tt>LoadArc</tt> and <tt>&lt;BCArc&gt;</tt>
    ...
* <tt>LoadRect</tt> and <tt>&lt;LdRect&gt;</tt>
EndLoadBox
* <tt>LoadBox</tt> and <tt>&lt;BCBox&gt;</tt>


The commands within these [[Particle BC Shape Commands|shape commands]] are used to set [[Setting Forces and Fluxes|load, traction, heat flux, and/or concentration flux conditions]].
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 ==


All particle-based boundary conditions must be set up within a single <ParticleBCs> element. 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


  <ParticleBCs>
  <GridBCs>
     (one or more particle BC shape commands)
     (one or more <BCShape> blocks)
      ...
    ...
     <LoadBCs>
     <LoadBCs>
       (one or more explicit boundary conditions)
       (one or more explicit boundary conditions)
     </LoadBCs >
     </LoadBCs>
  </GridBCs>
  </GridBCs>


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 Velocity, Temperature, and Concentration|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.
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.

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.