Setting Velocity and Transport Values

From OSUPDOCS
Jump to navigation Jump to search

These commands are used within shape commands for grid-based boundary conditions to set velocity, temperature, and/or concentration boundary conditions.

Velocity Conditions

The scripted Velocity command sets velocity conditions to all nodes within the shape command that encloses it:

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

In XML files, the command is:

<DisBC dir='(dir)' style='(style)' vel='(value)' time='(time)'
                function='(function)' id='(id)'/>

where

  • (dir) is 1, 2, or 3 to specify the velocity 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). You can also set velocity in a direction that is not along an axis. For details see help on skewed velocity conditions
  • (style) specifies the style of the applied velocity. Each velocity depends on two parameters specified by arguments (value) and (time). If either argument is not supplied, they are set to zero. The styles are described below. The standard units are mm/s 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 velocity in mm/s.
  • (id) - this attribute in XML files specifies and ID for the boundary condition. In scripted files, IDs are set using the BoundaryID command.

Boundary Condition Styles

The possible boundary condition styles are defined below. In scripted files, the style can be set by name or number; in XML files, the style must be set by number. Unless otherwise specified, the units for (value) are the standard units for the type of boundary condition (i.e., mm/s for velocity, degrees K for temperature, and concentration potential for concentration) and the units for (time) are ms.

  • constant (or 1) - the applied boundary conditions is set to the constant (value) and it is applied for times after (time).
  • linear (or 2) - the applied boundary condition is
                         [math]\displaystyle{ BC = ({\rm value})*(t-({\rm time})) }[/math]
    where t is the current time (in ms). This condition is applied only for times after (time). The units for (value) should change to the standard units for the boundary condition per ms.
  • sine (or 3) - the applied boundary condition is
                         [math]\displaystyle{ BC = ({\rm value})\sin\bigl[({\rm time})*t\bigr] }[/math]
    This condition is applied for all times. The units for (time) should change to 1/ms.
  • cosine (or 4) - the applied boundary condition is
                         [math]\displaystyle{ BC = ({\rm value})\cos\bigl[({\rm time})*t\bigr] }[/math]
    This condition is applied for all times. The units for (time) should change to 1/ms.
  • function (or 6) - the applied boundary condition is determined by a user-defined function of time (t in ms), nodal point position , and/or of current clockwise particle rotation angle (2D only). The function should evaluate to the desired value in the standard units for the type of boundary condition. If (time) is supplied, the condition starts at time (time) (in ms) and the function is evaluated at [t-(time)] (instead of at t)

To get any time-dependence for a boundary condition, you can combine more than one conditions in the same direction and the resulting condition will be a superposition of the applied conditions. See below for some special considerations when apply velocity conditions.

Skewed Velocity Conditions

Using two velocity conditions along two axes is not the same as setting a fixed velocity along the direction of the resultant velocity vector. To set velocity in a single direction that is not along a cartesian axes, you have to use a skewed velocity condition. In script files, the command is:

Velocity (skewDir),(style),(value),(time),(angle1),<(angle2)>

in XML files, the command is:

<DisBC dir='(skewDir)' style='(style)' vel='(value)' time='(time)'
                    angle='(angle1)' angle2='(angle2)'/>

where

  • (skewDir) defines two or three axes. For 2D or axisymmetric analyses, it can only be skewxy (or 12 or skewrz</t>). For 3D anlyses, it can additionally be skewxy, skewxz, skewyz, or skewxyz (or 12, 13, 23, or 123). Note that XML files must use the numeric options and not any of the "skew" options. When using two axes, those axes define the plane of the skewed direction. The option skewxyz means velocity in any arbitrary polar direction.
  • (style), (value), and (time) mean the same as for [[#Velocity Conditions}velocity conditions]] along an axis. In scripted files, all these parameters must be supplied to preserve alignment of parameters through to the (angle) parameters.
  • (angle1) defines the direction for the normal vector for the velocity as a clockwise rotation from the first axis in a skew pair. In other words, skewxy applies velocity in the direction (cos(angle1), -sin(angle1)), 0), skewxz applies velocity in the direction (cos(angle1), 0, -sin(angle1)), and skewyz applies velocity in the direction (0, cos(angle1), -sin(angle1)). For skewxyz, (angle1) is a polar angle as explained next.
  • (angle2) is only used for skewxyz and it is the azimuthal angle. The normal vector will be (cos(angle2) sin(angle1) sin(angle2) sin(angle1), cos(angle1)).

Temperature Conditions

When doing conduction calculations, you can set fixed temperatures on the grid. Temperature boundary conditions are ignored unless conduction is activated. The scripted Temperature command sets emperature conditions to all nodes within the shape command that encloses it:

Temperature (style),(value),<(time)>

In XML files, the command is:

<TempBC style='(style)' value='(value)' time='(time)' function='(function)'/>

where

  • (style) specifies the style of the applied temperature. Each temperature depends on two parameters specified by arguments (value) and (time). If either argument is not supplied, they are set to zero. The styles are described above. The standard units are degrees K 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 temperature in degrees K.

Thermal stresses are caused by temperature difference relative to the stress free temperature. If the stress free temperature has not been set, its default value is zero and thus temperature boundary conditions set the temperature difference. If the stress free temperature is set to a non-zero value, the temperature boundary conditions use the absolute temperature and the temperature difference is calculated by subtracting the stress free temperature.

Concentration Conditions

When doing diffusion calculations, you can set fixed concentrations on the grid (set as a potential from 0 to 1 where 1 is the saturation concentration of a material type). Concentration boundary conditions are ignored unless diffusion is activated with a <Diffusion/> element in the MPM Header. The scripted Concentration command sets concentration conditions to all nodes within the shape command that encloses it:

Temperature (style),(value),<(time)>

In XML files, the command is:

<ConcBC style='(style)' value='(value)' time='(time)' function='(function)'/>

where

  • (style) specifies the style of the applied temperature. Each temperature depends on two parameters specified by arguments (value) and (time). If either argument is not supplied, they are set to zero. The styles are described above. The standard units are degrees K 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 temperature in degrees K.

Thermal stresses are caused by temperature difference relative to the stress free temperature. If the stress free temperature has not been set, its default value is zero and thus temperature boundary conditions set the temperature difference. If the stress free temperature is set to a non-zero value, the temperature boundary conditions use the absolute temperature and the temperature difference is calculated by subtracting the stress free temperature.

Notes

  1. You can apply more than one condition to a node and the resulting boundary condition will be a superposition of all assigned conditions. When applying multply velocity conditions, however, the combinations must either be in the same direction or in orthogonal directions. For example, when using skewed boundary conditions, you should not apply some in the x direction and others in the skewed x-y or x-z direction, because these two directions are not orthongal. You can apply any combination along analysis axes (x, y, or z).
  2. When using skewed velocity conditions, the typical problem will use only a single skewed direction on a node, although you can use any number of conditions in that direction. You should not fixed skewed velocity conditions with [[#Velocity Conditions|velocity conditions] along one of the skes axes. In principle orthogonal skewed direction could be used, but such problems can normally be recast to get the same fixed velocity by fixing the two axes in the skew plane.