Difference between revisions of "Rigid Material"

From OSUPDOCS
Jump to navigation Jump to search
Line 23: Line 23:
! Property !! Description !! Units !! Default
! Property !! Description !! Units !! Default
|-
|-
| direction || <ul><li>1 through 7: set grid velocities to various components of the rigid particle velocity (see table below). <li>8: create rigid material that interacts with non-rigid material by contact. <li>0: sets no velocity components, but can set temperature and/or concentration values.</ul> || none || 0
| direction <br>SetDirection || <ul><li>1 through 7: set grid velocities to various components of the rigid particle velocity (see table below). <li>8: create rigid material that interacts with non-rigid material by contact. <li>0: sets no velocity components, but can set temperature and/or concentration values.</ul> (note: the <tt>SetDirection</tt> property name can only be use in scripted files) || none || 0
|-
|-
| temperature || 1 to set temperature boundary condition or 0 to not set it. This setting has no affect unless the analysis is doing thermal calculations. Can only be used if <tt>direction</tt> is 0 through 7. Use <tt>direction</tt> = 0 to having moving heat source only; use <tt>direction</tt> = 1 to 7 to combine moving heat source with velocity boundary conditions. || none || 0
| temperature || 1 to set temperature boundary condition or 0 to not set it. This setting has no affect unless the analysis is doing thermal calculations. Can only be used if <tt>direction</tt> is 0 through 7. Use <tt>direction</tt> = 0 to having moving heat source only; use <tt>direction</tt> = 1 to 7 to combine moving heat source with velocity boundary conditions. || none || 0
Line 29: Line 29:
| concentration || 1 to set concentration boundary condition or 0 to not set it. This setting has no affect unless the analysis is doing diffusion calculations. Can only be used if <tt>direction</tt> is 0 through 7. Use <tt>direction</tt> = 0 to having moving concentration source only; use <tt>direction</tt> = 1 to 7 to combine moving concentration source with velocity boundary conditions. || none || 0
| concentration || 1 to set concentration boundary condition or 0 to not set it. This setting has no affect unless the analysis is doing diffusion calculations. Can only be used if <tt>direction</tt> is 0 through 7. Use <tt>direction</tt> = 0 to having moving concentration source only; use <tt>direction</tt> = 1 to 7 to combine moving concentration source with velocity boundary conditions. || none || 0
|-
|-
| settingFunction<br>settingFunction1<br>settingFunction2<br>settingFunction3 || You can enter one to three [[User Defined Functions|user defined functions]] (settingFunction and settingFunction1 are synonyms) of time, time step, and position. The function should evaluate to the velocity in mm/s and it will set the rigid-particle velocity (any initial velocity setting will be ignored). || none || none
| settingFunction<br>settingFunction2<br>settingFunction3 || You can enter one to three [[User Defined Functions|user defined functions]] (settingFunction and settingFunction1 are synonyms) of time, time step, and position. The function should evaluate to the velocity in mm/s and it will set the rigid-particle velocity (any initial velocity setting will be ignored). || none || none
|-
|-
| valueFunction || You can enter a [[User Defined Functions|user defined function]] of time, time step, and position. The function should evaluate to the temperature or concentration potential. Any initial temperature or concentration assigned to the rigid particles will be ignored. || none || none
| valueFunction || You can enter a [[User Defined Functions|user defined function]] of time, time step, and position. The function should evaluate to the temperature or concentration potential. Any initial temperature or concentration assigned to the rigid particles will be ignored. Because there is only one value function, you cannot independently set temperature and concentration with a function. Thus rigid particles with value functions should only set one of these quantities. || none || none
|}
|}


The options 1 through 7 set grid velocities to various components of the rigid particle velocity by bit-wise selection with first three bits being for x, y, and z directions (or R, Z, &theta; if axisymmetric). A value of 0 sets no direction:
The <tt>direction</tt> options 1 through 7 set grid velocities to various components of the rigid particle velocity by bit-wise selection with first three bits being for x, y, and z directions (or R, Z, &theta; if axisymmetric). A value of 0 sets no direction:


<table border="1" cellpadding="2" cellspacing="0">
{| class="wikitable"
<tr><th>Value</th><th>Binary</th><th>Set Directions</th>
|-
</tr>
! Value !! Binary !! Set Directions
<tr><td>0</td><td>0x000</td><td>no direction</td></tr>
|-
<tr><td>1</td><td>0x001</td><td>x only</td></tr>
| 0 || 0x000 || no direction
<tr><td>2</td><td>0x010</td><td>y only</td></tr>
|-
<tr><td>3</td><td>0x011</td><td>x and y</td></tr>
| 1 || 0x001 || x only
<tr><td>4</td><td>0x100</td><td>z only</td></tr>
|-
<tr><td>5</td><td>0x101</td><td>x and z</td></tr>
| 2 || 0x010 || y only
<tr><td>6</td><td>0x110</td><td>y and z</td></tr>
|-
<tr><td>7</td><td>0x111</td><td>x, y, and z</td></tr>
| 3 || 0x011 || x and y
</table>
|-
| 4 || 0x100 || z only
|-
| 5 || 0x101 || x and z
|-
| 6 || 0x110 || y and x
|-
| 7 || 0x111 || x, y, and z
|}


<ul>
The (up to) three setting functions can set up to three velocity direction, and their meaning depends on the current setting for the <tt>direction</tt> property:
<li><code>settingFunction</code> (or <code>settingFunction1</code>), <code>settingFunction2</code>, and <code>settingFunction3</code> to enter a <a href="function.html">user-defined function</a> of time, time step, and position. The function should evaluate to the velocity in mm/s. The initial velocity assigned to the rigid particles when they are created in <a href="region.html">Region commands</a> will be ignored.
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The three setting functions can set up to three directions. For <code>SetDirection</code> 1 to 7 the functions must be given in order (<code>settingFunction</code>, <code>settingFunction2</code>, and <code>settingFunction3</code>) and apply to the set velocities in order (<i>e.g.</i>, when controlling <code>y</code> and <code>z</code> with <code>direction</code>=6, the <code>settingFunction</code> is for <code>y</code> direction and <code>settingFunction2</code> is for <code>z</code> direction).
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;For <code>direction</code> of 8, the three functions are for setting <code>x</code>, <code>y</code>, and <code>z</code> directions and zero to three can be used. Any not controlled will use the initial particle velocity (you can use <code>settingFunctionx</code> (or <code>y</code> or <code>z</code>) as synonyms for <code>settingFunction1</code> (or <code>2</code> or <code>3</code>)) </li>


<li><code>valueFunction</code> to enter a <a href="function.html">user-defined function</a> of time, time step, and position. The function should evaluate to the temperature or concentration potential. The initial temperature or concentration assigned to the rigid particles when they are created in <a href="region.html">Region commands</a> will be ignored.
* For <tt>direction</tt> =  1 to 7 the functions must be given in order (<tt>settingFunction</tt>, <tt>settingFunction2</tt>, and <tt>settingFunction3</tt>) and they apply to the velocities that are controlled in order (''e.g.'', when controlling <tt>y</tt> and <tt>z</tt> with <tt>direction</tt>=6, the <tt>settingFunction</tt> is for <tt>y</tt> velocity and <tt>settingFunction2</tt> is for <tt>z</tt> velocity).
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Since there is only one value function, you cannot independently vary temperature and concentration with time and position. Thus rigid particles with value functions should only set one of these quantities.</li>
* For <tt>direction</tt> = 8, the three functions (regardless of order) are for setting <tt>x</tt>, <tt>y</tt>, and <tt>z</tt> velocities and zero to three can be used. Any not controlled will use the initial particle velocity.
</ul>
* Note that in scripte files, you can use <tt>settingFunction1</tt> (or <tt>x</tt>) as a synonym for <tt>settingFunction</tt> and you can use <tt>settingFunctiony</tt> (or <tt>z</tt>) as a synonym for <tt>settingFunction2</tt> (or <tt>3</tt>)).


== History Data ==
== History Data ==

Revision as of 14:09, 18 November 2013

Constitutive Law

This MPM material is actually two materials in one, depending on the value for its direction property.

Moving Boundary Condition

If direction is 0 through 7, the material is not really a material and points that are this type of rigid material will not really be part of the MPM analysis. These rigid material points are used to set boundary conditions on the grid that move with the particles. The rigid material points should be initialized to a velocity, temperature, or concentration when they are created in Region commands. As the rigid material points move through the grid, all nodes connected to those points will be assigned grid-based boundary conditions for the selected particle properties of velocity, temperature, and/or concentration. To have the boundary condition vary in time and position, use the settingFunction(2)(3) and valueFunction properties below to set the value rather than using the initial particle properties to pick a constant value.

Rigid Contact Material

If direction is 8, the material will correspond to actual material points that move through the analysis. Since they are rigid, they will move with their prescribed velocity. They will interact with other material points only through multimaterial contact or imperfect interface laws and thus this type of rigid material can only be used in multimaterial mode MPM calculations.

The advantage of this type of rigid material (unlike the other type) is that you can set frictional properties for contact between rigid materials and non-rigid materials or you can use multimaterial methods to model imperfect interfaces. These rigid materials will move in the direction defined by the initial velocity, or, by using settingFunction(2)(3) properties below, they can moved by any prescribed velocity. If two different rigid materials of this type interact at the same node, however, there is a conflict and the calculations will stop. Finally, because this type of rigid material does not set boundary conditions, it cannot be used to set temperature or concentration.

A direction=8 rigid material ignores cracks, but that actually makes it possible to use them for new crack problems. For example, these rigid particles can provide wedge opening of a crack. If the rigid particles run along an explicit crack plane, those particles may contact particles on both sides of the crack, which can move the top and bottom surfaces of the crack apart. It may be only way to wedge open a crack (i.e., the only material that can act like it is within a crack rather than on either side of the crack). All crack calculations (e.g., crack contact, traction laws, imperfect interfaces, updating of crack position, and J integral) will ignore the rigid particles. The interactions with the rigid particles arise only by contact laws between the rigid particles and the various crack velocity fields.

Material Properties

The rigid material properties are set with the following commands:

Property Description Units Default
direction
SetDirection
  • 1 through 7: set grid velocities to various components of the rigid particle velocity (see table below).
  • 8: create rigid material that interacts with non-rigid material by contact.
  • 0: sets no velocity components, but can set temperature and/or concentration values.
(note: the SetDirection property name can only be use in scripted files)
none 0
temperature 1 to set temperature boundary condition or 0 to not set it. This setting has no affect unless the analysis is doing thermal calculations. Can only be used if direction is 0 through 7. Use direction = 0 to having moving heat source only; use direction = 1 to 7 to combine moving heat source with velocity boundary conditions. none 0
concentration 1 to set concentration boundary condition or 0 to not set it. This setting has no affect unless the analysis is doing diffusion calculations. Can only be used if direction is 0 through 7. Use direction = 0 to having moving concentration source only; use direction = 1 to 7 to combine moving concentration source with velocity boundary conditions. none 0
settingFunction
settingFunction2
settingFunction3
You can enter one to three user defined functions (settingFunction and settingFunction1 are synonyms) of time, time step, and position. The function should evaluate to the velocity in mm/s and it will set the rigid-particle velocity (any initial velocity setting will be ignored). none none
valueFunction You can enter a user defined function of time, time step, and position. The function should evaluate to the temperature or concentration potential. Any initial temperature or concentration assigned to the rigid particles will be ignored. Because there is only one value function, you cannot independently set temperature and concentration with a function. Thus rigid particles with value functions should only set one of these quantities. none none

The direction options 1 through 7 set grid velocities to various components of the rigid particle velocity by bit-wise selection with first three bits being for x, y, and z directions (or R, Z, θ if axisymmetric). A value of 0 sets no direction:

Value Binary Set Directions
0 0x000 no direction
1 0x001 x only
2 0x010 y only
3 0x011 x and y
4 0x100 z only
5 0x101 x and z
6 0x110 y and x
7 0x111 x, y, and z

The (up to) three setting functions can set up to three velocity direction, and their meaning depends on the current setting for the direction property:

  • For direction = 1 to 7 the functions must be given in order (settingFunction, settingFunction2, and settingFunction3) and they apply to the velocities that are controlled in order (e.g., when controlling y and z with direction=6, the settingFunction is for y velocity and settingFunction2 is for z velocity).
  • For direction = 8, the three functions (regardless of order) are for setting x, y, and z velocities and zero to three can be used. Any not controlled will use the initial particle velocity.
  • Note that in scripte files, you can use settingFunction1 (or x) as a synonym for settingFunction and you can use settingFunctiony (or z) as a synonym for settingFunction2 (or 3)).

History Data

Contact?

Notes

Note that <a href="multimaterialmode.html">multimaterial mode MPM</a> calculations can combine moving boundary condition rigid particles (direction=0 to 7) with contact rigid particles (direction=8) to provide different functions, but single-material mode MPM can only use boundary condition rigid particles (direction=0 to 7).

Note that creating rigid particles but not setting any velocity direction (direction=0) can be used to create moving temperature or concentration boundary conditions that move over the particles; i.e., the rigid particles will move through the real particles. Such moving temperature or concentration boundary conditions can only move at a constant velocity defined by the initial particle velocity, because the direction=0 setting implies no axis is controlled by a function.

If a rigid particle is added to a problem, but it does not set any velocity, temperature, or concentration (direction=temperature=concentration=0 or omitted), it will have no affect on the calculations. It may plot in visualization software and therefore appear to be part of the simulation, but it will be identical to the results that would be obtained if it had never been added to the problem.

Examples