Difference between revisions of "Setting Forces and Fluxes"

From OSUPDOCS
Jump to navigation Jump to search
Line 70: Line 70:
=== Difference Between Loads and Tractions ===
=== Difference Between Loads and Tractions ===


A [[#Load Conditions|<tt>Load</tt> condition]] considers the load (in N) to be applied directly to the particle, which in MPM is not really applied to the surface of the body, even when the particle is on the edge. During the MPM algorithm, this load is extrapolated to all nodes around the paraticle resulting in some of a modeled loading being applied internal to the object. It is common, therefore, to see artifacts in particles near edges that are loaded directly by forces. The MPM results away from the particles, however, reflect the edge load. This form of external loading appears to be common to all MPM codes.
A [[#Load Conditions|<tt>Load</tt> condition]] considers the load (in N) to be applied directly to the particle, which in MPM is not really applied to the surface of the body, even when the particle is on the edge. During the MPM algorithm, this load is extrapolated to all nodes around the paraticle resulting in some of a modeled loading being applied internal to the object. It is common, therefore, to see artifacts in particles near edges that are loaded directly by forces. The MPM results away from the particles, however, reflect the edge load better. This form of external loading appears to be common to all MPM codes.


In contrast, a [[#Traction Conditions|<tt>Traction</tt> condition]] applies the load (as a stress) on the actual surface by implementing a surface integral term that appears in MPM derivations. This integral involves integration of the traction times grid shape functions on the particle surface. This surface is found from the current particle deformation, which depending on the current [[MPM Methods and Simulation Timing|MPM method]] being used, is as follows:
In contrast, a [[#Traction Conditions|<tt>Traction</tt> condition]] applies the load (as a stress) on the actual surface by implementing a surface integral term that appears in MPM derivations. This integral involves integration of the traction times grid shape functions on the particle surface. This surface is found from the current particle deformation, which depending on the current [[MPM Methods and Simulation Timing|MPM method]] being used, is as follows:


* <tt>Dirac</tt>: [[#Traction Conditions|<tt>Traction</tt> conditions]] are not allowed in this method; only [Load Conditions|<tt>Load</tt> conditions]] can be used
* <tt>Dirac</tt>: [[#Traction Conditions|<tt>Traction</tt> conditions]] are not allowed in this method; only [[#Load Conditions|<tt>Load</tt> conditions]] can be used
* <tt>uGIMP</tt>: Integrate on the surface determined from the initial particle shape but translated to the new particle position.
* <tt>uGIMP</tt>: Integrate on the surface determined from the initial particle shape but translated to the new particle position.
* <tt>lCPDI</tt> or <tt>qCPDI</tt>: Find parallelogram (2D) or parallelopiped (3D) for the deformed particle domain from the particle's deformation gradient and integrate the selected surface terms by expanding its integrand in linear shape functions (''i.e.'', very similar to CPDI methods for shape function integration).
* <tt>lCPDI</tt> or <tt>qCPDI</tt>: Find parallelogram (2D) or parallelopiped (3D) for the deformed particle domain from the particle's deformation gradient and integrate the selected surface terms by expanding its integrand in linear shape functions (''i.e.'', very similar to CPDI methods for shape function integration).


[[#Traction Conditions|<tt>Traction</tt> conditions]] typically reduce artifacts that occur on particles loaded by [[Load Conditions|<tt>Load</tt> conditions]]. Because this method applies forces closer to the actual edge, the potential for artifacts due to low-mass nodes is a concern. The code tries to screen out obvious problem nodes. If instability occurs, try [[Load Conditions|<tt>Load</tt> conditions]] instead. [[#Traction Conditions|<tt>Traction</tt> conditions]] will correctly detect one nearby crack and apply force the the appropriate velocity field, but if a [[#Traction Conditions|<tt>Traction</tt> condition]] is interacting with more than one crack, the results will be unpredictable.
[[#Traction Conditions|<tt>Traction</tt> conditions]] typically reduce artifacts that occur on particles loaded by [[#Load Conditions|<tt>Load</tt> conditions]]. Because this method applies forces closer to the actual edge, the potential for artifacts due to low-mass nodes is a concern. The code tries to screen out obvious problem nodes. If instability occurs, try [[#Load Conditions|<tt>Load</tt> conditions]] instead. [[#Traction Conditions|<tt>Traction</tt> conditions]] will correctly detect one nearby crack and apply force to the appropriate velocity field, but if a [[#Traction Conditions|<tt>Traction</tt> condition]] is interacting with more than one crack, the results will be unpredictable.


Another difference is that a [[Load Conditions|<tt>Load</tt> condition]]  applies a total force. In large deformation problems, the stress will change if the cross-section area changes. In contrast, a [[#Traction Conditions|<tt>Traction</tt> condition]] applies a stress to the deformed particle domain, which means its effect depends on [[MPM Methods and Simulation Timing|MPM method]] being used. When using [[[[MPM Methods and Simulation Timing|uGIMP]], the deformed particle domain is the same as the initial particle domain and therefore the applied stress will always be engineering stress based on initial particle area (''i.e''., the stress will change if particle cross-sectional area changes). But, when using [[MPM Methods and Simulation Timing|lCPDI or qCPDI]], the stress will be a true stress that remains constant even if the particle cross sectional area changes.
Another difference is that a [[#Load Conditions|<tt>Load</tt> condition]]  applies a total force. In large deformation problems, the applied stress will change if the cross-sectional area changes. In contrast, a [[#Traction Conditions|<tt>Traction</tt> condition]] applies a stress to the deformed particle domain, which means its effect depends on [[MPM Methods and Simulation Timing|MPM method]] being used. When using [[MPM Methods and Simulation Timing|uGIMP]], the deformed particle domain is the same as the initial particle domain and therefore the applied stress will always be an engineering stress based on initial particle area (''i.e''., the stress will change if particle cross-sectional area changes). But, when using [[MPM Methods and Simulation Timing|lCPDI or qCPDI]], the stress will be a true stress that remains constant even if the particle cross sectional area changes.


== Heat Flux Conditions ==
== Heat Flux Conditions ==


== Concentration Flux Conditions ==
== Concentration Flux Conditions ==

Revision as of 10:11, 27 December 2013

These commands are used within shape commands for grid-based boundary conditions to set loads, tractions, heat fluxes, and concentration fluxes on particles

Load Conditions

The scripted Load command applies a force directly to each particle within the shape command that encloses it:

Load (dir),(style),(value),<(time)>

In XML files, the command is:

<LoadBC dir='(dir)' style='(style)' load='(value)' time='(time)'
                function='(function)'/>

where

  • (dir) is 1, 2, or 3 to specify the loading direction as in the x, y, or z direction (In scripted files, (dir) can be x, y, or z or can be R or Z if axisymmetric).
  • (style) specifies the style of the applied load. Each load depends on two parameters specified by arguments (value) and (time). The (value) is required because there is no point in applying zero laod. If (time) is not supplied, it is set to zero. The styles are described here. The standard units are N for (value) and ms for (time) (but the units may change depending on the (style) setting). The final magnitude of the load depends on the LoadType setting.
  • (function) - if the (style) is function (or 6), this attribute in XML files specifies a user defined function. In scripted files, the user defined function should replace the (value) argument and must be entered as quoted text. The function should evaluate to the desired force in N.

LoadType Options

By default, the (value) argument or the result returned by a function gives the load on each particle with that boundary condition (with standard units of N). Alternatively, a load or function can evaluate to the total Newtons applied to all particles in the current shape. To chose to load style in scripted files, include the command:

LoadType (loadType)

within the current shape. If (loadType) is "net", the boundary conditions specifies to the total load spread out over all particles in the current shape. Alternative, if (loadType) is "perParticle" (or omitted), the load for the boundary condition is applied to each particle. You can switch back and forth between net load and per-particle load in a single shape by using mutliple LoadType commands. Each load boundary condition uses the loading option specified by the most recent LoadType command (or uses "perParticle" is no LoadType command was used).

In XML files, the loading option is set by using the following commands within the current shape:

<net/>
<perParticle/>

As expected, the "net" option is specified with a <net/> command and the "perParticle" option is specified with a <perParticle/> command. These commands can be intersperse to apply different loading options to various load boundary conditions.

These loading-option commands only apply to particle load boundary conditions and have no effect on other traction, heat flux, and concentration flux conditions that happen to be within the same shape command.

Traction Conditions

The scripted Traction command sets traction load on the edge of each particle within the shape command that encloses it:

Traction (dir),(face),(style),<(value)>,<(time)>

In XML files, the command is:

<TractionBC dir='(dir)' face='(fact)' style='(style)' stress='(value)' time='(time)'
                function='(function)'/>

where

  • (dir) is 1, 2, or 3 to specify the loading direction as in the x, y, or z direction (In scripted files, (dir) can be x, y, or z or can be R or Z if axisymmetric). For TractionBC, dir can be 11 or 12 to mean normal or shear traction relative to the selected face, respectively. A normal traction is positive if pointing out of the particle domain and a shear traction is positive when oriented in the counter-clockwise direction. Shear tractions (option 12) are not yet allowed in 3D calculations.
  • (face) defines which face of the original particle domain is loaded by the traction. In 2D, the faces are the edges numbered 1 through 4 in the counter-clockwise direction with the bottom edge (with normal (0,-1)) being number 1. In 3D, 1 to 4 are the same faces (i.e., faces with normals (0,-1,0), (1,0,0), (0,1,0), and (-1,0,0) on the original particle domain, respectively), 5 is the bottom (with normal (0,0,-1)), and 6 is the top (with normal (0,0,1)).
  • (style) specifies the style of the applied traction. Each velocity depends on two parameters specified by arguments (value) and (time). The (value) is required because there is no point in applying zero traction. If (time) is not supplied, it is set to zero.The styles are described here. The standard units are MPa for (value) and ms for (time) (but the units may change depending on the (style) setting).
  • (function) - if the (style) is function (or 6), this attribute in XML files specifies a user defined function. In scripted files, the user defined function should replace the (value) argument and must be entered as quoted text. The function should evaluate to the desired traction in MPa.

Not that valid calculation of grid forces resulting from specified traction during 2D simulations requires that you have correctly specified the grid thickness and that the grid thickness matches the particle thickness that is set in Region commands. Furthermore, the use of traction boundary conditions is only allowed when using uGIMP or lCPDI anlaysis methods.

Difference Between Loads and Tractions

A Load condition considers the load (in N) to be applied directly to the particle, which in MPM is not really applied to the surface of the body, even when the particle is on the edge. During the MPM algorithm, this load is extrapolated to all nodes around the paraticle resulting in some of a modeled loading being applied internal to the object. It is common, therefore, to see artifacts in particles near edges that are loaded directly by forces. The MPM results away from the particles, however, reflect the edge load better. This form of external loading appears to be common to all MPM codes.

In contrast, a Traction condition applies the load (as a stress) on the actual surface by implementing a surface integral term that appears in MPM derivations. This integral involves integration of the traction times grid shape functions on the particle surface. This surface is found from the current particle deformation, which depending on the current MPM method being used, is as follows:

  • Dirac: Traction conditions are not allowed in this method; only Load conditions can be used
  • uGIMP: Integrate on the surface determined from the initial particle shape but translated to the new particle position.
  • lCPDI or qCPDI: Find parallelogram (2D) or parallelopiped (3D) for the deformed particle domain from the particle's deformation gradient and integrate the selected surface terms by expanding its integrand in linear shape functions (i.e., very similar to CPDI methods for shape function integration).

Traction conditions typically reduce artifacts that occur on particles loaded by Load conditions. Because this method applies forces closer to the actual edge, the potential for artifacts due to low-mass nodes is a concern. The code tries to screen out obvious problem nodes. If instability occurs, try Load conditions instead. Traction conditions will correctly detect one nearby crack and apply force to the appropriate velocity field, but if a Traction condition is interacting with more than one crack, the results will be unpredictable.

Another difference is that a Load condition applies a total force. In large deformation problems, the applied stress will change if the cross-sectional area changes. In contrast, a Traction condition applies a stress to the deformed particle domain, which means its effect depends on MPM method being used. When using uGIMP, the deformed particle domain is the same as the initial particle domain and therefore the applied stress will always be an engineering stress based on initial particle area (i.e., the stress will change if particle cross-sectional area changes). But, when using lCPDI or qCPDI, the stress will be a true stress that remains constant even if the particle cross sectional area changes.

Heat Flux Conditions

Concentration Flux Conditions