Difference between revisions of "Particle BC Shape Commands"

From OSUPDOCS
Jump to navigation Jump to search
Line 1: Line 1:
These commands define shapes. All particles contained within the shape will be assigned [[Particle-Based Boundary Conditions|boundary conditions]] for [[Setting Forces and Fluxes|load, traction, heat flux, and concentration flux]] that are specified within the shape command.
The method to create particle-based boundary conditions was changed in [[NairnMPM]] (April 2017) and [[OSParticulas]] (revision 1170) to the method using [[Particle-Based Boundary Conditions|<tt>ParticleBC</tt> and <tt>&lt;BCShape&gt;</tt> blocks]]. As a result, all boundary conditions commands listed below are deprecated. They still work, but should be replaced by new methods as described below.


== Line (2D or Axisymmetric) ==
== Line (2D or Axisymmetric) ==
Line 16: Line 16:
     ...
     ...
  </BCLine>
  </BCLine>
where
* <tt>(x1, y1)</tt> to <tt>(x2, y2)</tt> define <tt>(x, y)</tt> coordinates for the points at the beginning and end of the line (or <tt>(R, Z)</tt> coordinates if axisymmetric). The units are [[ConsistentUnits Command#Legacy and Consistent Units|length units]] (or determined by a [[Units Attribute|units attribute]] in <tt>XML</tt> files). In <tt>XML</tt> files, the coordinates can alternatively be specified [[Grid BC Shape Commands#Relative Grid Locations|relative to the mesh edges]].
* <tt>(tolerance)</tt> is an optional tolerance. The units are [[ConsistentUnits Command#Legacy and Consistent Units|length units]] (or determined by a [[Units Attribute|units attribute]] in <tt>XML</tt> files). In <tt>XML</tt> files, you can optionally use the format <tt>'*0.5'</tt> to set the tolerance to any factor times the minimum cell dimension in the current mesh.  If it is omitted, the tolerance will be set to a small number appropriate for the current background grid cell dimensions.
This command will apply [[Setting Forces and Fluxes|load, traction, heat flux, and/or concentration flux boundary conditions]] to all particles within <tt>(tolerance)</tt> of the line from <tt>(x1, y1)</tt> to <tt>(x2, y2)</tt>.


== Arc (2D or Axisymmetric) ==
== Arc (2D or Axisymmetric) ==
Line 40: Line 33:
     ...
     ...
  </BCLine>
  </BCLine>
where
* <tt>(x1, y1)</tt> to <tt>(x2, y2)</tt> define <tt>(x, y)</tt> coordinates for the corners of a rectangular area enclosing the arc (or <tt>(R, Z)</tt> coordinates if axisymmetric). The units are [[ConsistentUnits Command#Legacy and Consistent Units|length units]] (or determined by a [[Units Attribute|units attribute]] in <tt>XML</tt> files). In <tt>XML</tt> files, the coordinates can alternatively be specified [[Grid BC Shape Commands#Relative Grid Locations|relative to the mesh edges]].
* <tt>(startAng)</tt> and <tt>(endAng)</tt> give the start and end angle (in degrees) to specify the arc.
* <tt>(tolerance)</tt> is an optional tolerance. The units are [[ConsistentUnits Command#Legacy and Consistent Units|length units]] (or determined by a [[Units Attribute|units attribute]] in <tt>XML</tt> files). In <tt>XML</tt> files, you can optionally use the format <tt>'*0.5'</tt> to set the tolerance to any factor times the minimum cell dimension in the current mesh.  If it is omitted, the tolerance will be set to a small number appropriate for the current background grid cell dimensions.
This command will apply [[Setting Forces and Fluxes|load, traction, heat flux, and/or concentration flux boundary conditions]] to all particles within <tt>(tolerance)</tt> of the arc. The arc is traced in a counter-clockwise direction from <tt>(startAng)</tt> to <tt>(endAng)</tt> with angle = 0 corresponding to the position along the positive x axis.


== Rectangle (2D or Axisymmetric) ==
== Rectangle (2D or Axisymmetric) ==
Line 64: Line 49:
     ...
     ...
  </LdRect>
  </LdRect>
* <tt>(xmin)</tt>,  <tt>(xmax)</tt>, <tt>(ymin)</tt>, and <tt>(xmax)</tt>define the <tt>x</tt> and <tt>y</tt> ranges for the rectangular area (or <tt>R</tt> and <tt>Z</tt> ranges if axisymmetric). The units are [[ConsistentUnits Command#Legacy and Consistent Units|length units]] (or determined by an optional [[Units Attribute|units attribute]] in <tt>XML</tt> files).  In <tt>XML</tt> files, the coordinates can alternatively be specified [[Grid BC Shape Commands#Relative Grid Locations|relative to the mesh edges]].
This command will apply [[Setting Forces and Fluxes|load, traction, heat flux, and/or concentration flux boundary conditions]] to all particles within the rectangle.


== Box or Cylinder (3D) ==
== Box or Cylinder (3D) ==
Line 85: Line 66:
     ...
     ...
  </BCBox>
  </BCBox>
where
* <tt>(x1, y1, z1)</tt> and <tt>(x2, y2, z2)</tt> define <tt>(x, y, z)</tt> coordinates for opposite corners of the box. The units are [[ConsistentUnits Command#Legacy and Consistent Units|length units]] (or determined by a [[Units Attribute|units attribute]] in <tt>XML</tt> files). In <tt>XML</tt> files, the coordinates can alternatively be specified [[Grid BC Shape Commands#Relative Grid Locations|relative to the mesh edges]].
* <tt>(axis)</tt> is an optional parameter that will convert the shape from a box to the cylinder enclosed within the box with its axis along the specified direction (entered as x, 1, y, 2, z, or 3).
This command will apply [[Setting Forces and Fluxes|load, traction, heat flux, and/or concentration flux boundary conditions]] to all particles within the specified box or cylinder.

Revision as of 11:10, 8 April 2017

The method to create particle-based boundary conditions was changed in NairnMPM (April 2017) and OSParticulas (revision 1170) to the method using ParticleBC and <BCShape> blocks. As a result, all boundary conditions commands listed below are deprecated. They still work, but should be replaced by new methods as described below.

Line (2D or Axisymmetric)

The command to select a line through a 2D mesh in scripted files is:

LoadLine (x1),(y1),(x2),(y2),<(tolerance)>
  (one or more load, traction, heat flux, or concentration flux condition)
    ...
EndLoadLine

In XML files, a line is selected with:

<BCLine units='(units)' x1='(x1)' y1='(y1)' x2='(x2)' y2='(y2)' tolerance='(tolerance)'>
  (one or more load, traction, heat flux, or concentration flux condition)
    ...
</BCLine>

Arc (2D or Axisymmetric)

The command to select an arc through a 2D mesh in scripted files is:

LoadArc (x1),(y1),(x2),(y2),(startAng),(endAng),<(tolerance)>
  (one or more load, traction, heat flux, or concentration flux condition)
    ...
EndLoadArc

In XML files, a line is selected with:

<BCArc units='(units)' x1='(x1)' y1='(y1)' x2='(x2)' y2='(y2)'
       start='(startAng)' end='(endAng)' tolerance='(tolerance)'>
  (one or more load, traction, heat flux, or concentration flux condition)
    ...
</BCLine>

Rectangle (2D or Axisymmetric)

The command to select rectangle in a 2D mesh in scripted files is:

LoadRect (xmin),(xmax),(ymin),(ymax)
  (one or more load, traction, heat flux, or concentration flux condition)
    ...
EndLoadRect

In XML files, a rectangle is selected with:

<LdRect xmin='(xmin)' xmax='(xmax)' ymin='(ymin)' ymax='(ymax)'>
  (one or more load, traction, heat flux, or concentration flux condition)
    ...
</LdRect>

Box or Cylinder (3D)

The command to select a 3D box or cylinder in scripted files is:

LoadBox (x1),(y1),(z1),(x2),(y2),(z2),<(axis)>
  (one or more load, traction, heat flux, or concentration flux condition)
    ...
EndLoadBox

In XML files, a box is selected with:

<BCBox units='(units)' xmin='(x1)' xmax='(x2)' ymin='(y1)' ymax='(y2)'
                       zmin='(z1)' zmax='(z2)' axis='(axis)'>
  (one or more load, traction, heat flux, or concentration flux condition)
    ...
</BCBox>