Difference between revisions of "Particle-Based Boundary Conditions"

From OSUPDOCS
Jump to navigation Jump to search
 
(14 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 10: Line 10:
  ParticleBC
  ParticleBC
   (one 2D or 3D shape command, which can be nested)
   (one 2D or 3D shape command, which can be nested)
   (one or more velocity, temperature, or concentration condition)
   (one or more load, traction, heat flux, or concentration flux condition)
     ...
     ...
  EndParticleBC
  EndParticleBC
Line 18: Line 18:
  <BCShape>
  <BCShape>
   (one 2D or 3D shape command, which can be nested)
   (one 2D or 3D shape command, which can be nested)
   (one or more velocity, temperature, or concentration condition)
   (one or more load, traction, heat flux, or concentration flux condition)
     ...
     ...
  </BCShape>
  </BCShape>
Line 24: Line 24:
which must be within the main <tt>&lt;ParticleBC&gt;</tt> block.
which must be within the main <tt>&lt;ParticleBC&gt;</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 particle-based boundary conditions are created by a series of [[Particle BC Shape Commands|shape commands]] that select particles in the simulation. The [[Particle BC Shape Commands|shape commands]] define shapes (lines or arcs) and all particles withing those shapes are selected.. In scripted 2D simulations, the commands are
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)]].


* [[Particle BC Shape Commands#Line (2D or Axisymmetric)|LoadLine]] - select particles along a line
=== Deprecated Commands ===
* [[Particle BC Shape Commands#Arc (2D or Axisymmetric)|LoadArc]] - select particles along an arc
* [[Particle BC Shape Commands#Rectangle (2D or Axisymmetric)|LoadRect]] - select particles within a rectangle


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


* [[Particle BC Shape Commands#Box or Cylinder (3D)|LoadBox]] - select particles within a box or a cylinder
* <tt>LoadLine</tt> and <tt>&lt;BCLine&gt;</tt>
* <tt>LoadArc</tt> and <tt>&lt;BCArc&gt;</tt>
* <tt>LoadRect</tt> and <tt>&lt;LdRect&gt;</tt>
* <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>
  </ParticleBCs>
  </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 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.
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.