Difference between revisions of "FEA Boundary Conditions"
Line 111: | Line 111: | ||
== Stress Conditions == | == Stress Conditions == | ||
The Stress command | The scripted <tt>Stress</tt> command applies a load to all nodes along the [[Path Command|path]] selected by the command that encloses it: | ||
Stress (dir),(stress1),<(stress2)>,<(stress3)> | |||
In <tt>XML</tt> files, nodal displacements are set with | |||
<StressBC dir='(dirnum)' stress='stress1,<(stress2)>,<(stress3)'/> | |||
where | where | ||
* <tt>(dir)</tt> is the direction of the applied stress. It must be <tt>n</tt> or <tt>t</tt> (or 1 or 2) for normal or tangential stress. A positive tangential stress is defined as loading the element face in the counter-clockwise direction. | |||
* <tt>(dirnum)</tt> - | |||
* <tt>(stress1),<(stress2)>,<(stress3)></tt> are 1 to 3 stresses (2 and 3 are optional). If one stress is given, the stress on the path will be constant. If two stresses are given, the stress will vary linearly between the two values at the endpoints of the path. If three stresses are given, the stress will vary quadratically along the path between the endpoint stresses (<tt>(stress1)</tt> and <tt>(stress3)</tt>) and the stress at the middle of the path (<tt>(stress3)</tt>) | |||
The Stress command can only be used in FixLine commands that define the line using a predefine path. | The Stress command can only be used in FixLine commands that define the line using a predefine path. |
Revision as of 11:24, 11 September 2013
Nodal and element face boundary conditions in FEA analyses are applied to nodes or elements by using the commands on this page.
Scripted Input Files
In scripted input files, FEA boundary conditions are applied with a series of FixLine commands and FixPoint commands, each of which is available in two versions. The FixLine command can either select nodes and elements along a previously defined path or can select all nodes close to that line:
FixLine (pathid) (boundary conditions commands) EndFixLine FixLine (x1),(y1),(x2),(y2),<(tolerance)> (boundary condition commands) EndFixLine
The FixPoint command can either select one define keypoint or can select the one node closest to a point:
FixPoint (keyid) (boundary conditions commands) EndFixPoint FixPoint (x3),(y3) (boundary condition commands) EndFixPoint
In these commands, the arguments are:
- (pathid) to select a previously defined path by id, which must have be used in an area.
- (x1,y1) to (x2,y2) define (x,y) coordinates (in mm) for the points at the beginning and end of the line (or (R,Z) coordinates in axisymmetric calculations). All nodes close to that line are selected.
- (tolerance) is an optional tolerance (in mm). When used it accepts nodes within that distance of the define line; when omitted, tolerance is set to small number bases on mesh dimensions.
- (keyid) to select a previously defined keypoint by id, which must be part of a path that is in an area.
- (x3,y3) define (x,y) coordinates (in mm) for a single point (or (R,Z) coordinates in axisymmetric calculations). The node closest to that point is selected.
All nodes along the selected path or along the selected line (for FixLine commands) or the single selected node (for FixPoint commands) can be assigned nodal displacement or load conditions, rotated for skewed boundary conditions, or designated for conditional output.
In addition, when using FixLine to select a defined path, all element faces along that path can be assigned stresses. You cannot, however, apply stress conditions along interior paths; they can only be assigned to paths on the boundary of the object. Also note that FixLine commands that use a line instead of a path cannot assign stresses to element faces).
XML Input Files
In XML input files, all FEA boundary conditions are applied within a <GridBC> block:
<GridBC> (boundary condition commands) </GridBCs>
Within this block, most conditions are set with a series of <BCLine> commands and <BCPt> commands, each of which is available in two versions. The <BCLine> command can either select nodes and elements along a previously defined path or can select all nodes close to a line:
<BCLine path='(pathid)'> (set conditions) </BCLine> <BCLine x1='(x1)' y1='(y1)' x2='(x2)' y2='(y2)' tolerance='(tolerance)'> (set conditions) </BCLine>
The <BCPt> command can either select one defined keypoint or can select the one node closest to a point:
<BCPt keypt='(keyid)'> (set conditions) </BCPt> <BCPt x='(x3)' y='(y3)'> (set conditions) </BCPt>
These commands and attributes function exactly as defined above for the scripted FixLine and FixPoint commands.
An alternative to the above boundary conditions commands, XML files can alternative explicitly set boundary conditions on nodes and element faces, but this method is rarely used.
Displacement Conditions
The scripted Displacement command sets displacement conditions to all nodes selected by the command that encloses it:
Displacement (dir),<(disp)>
In XML files, nodal displacements are set with
<DisBC dof='(dirnum)' disp='(disp)'/> <DisBC dof='(dirnum)' function='(function)'/>
where
- (dir) is x or y (or 1 or 2) to specify the direction of the applied displacement. In axisymmetric calculations use x (or 1) for R and y (or 2) for Z.
- (dirnum) - in XML files, the displacement direction must be specified by number (1 or 2) only.
- (disp) specifies magnitude of the displacement in mm. It can be specified by a number or by a user-defined function of nodal point position. In scripted files, a function is specified by enclosing an expression in quotes. In XML files, numeric displacements use a disk attribute while [[User Defined Functions| are specified using a function attribute. If (disp) is omitted, the default displacement is 0 (i.e., a fixed node).
See below for how to fix displacement that are not along the x or y axes.
Load Conditions
The scripted Load command applies a load to all nodes selected by the command that encloses it:
Load (dir),(load)
In XML files, nodal displacements are set with
<LoadBC dof='(dirnum)' load='(load)'/> <LoadBC dof='(dirnum)' function='(load)'/>
where
- (dir) is x or y (or 1 or 2) to specify the direction of the applied displacement. In axisymmetric calculations use x (or 1) for R and y (or 2) for Z.
- (dirnum) - in XML files, the displacement direction must be specified by number (1 or 2) only.
- (load) specifies magnitude of the displacement in mm. It can be specified by a number or by a user-defined function of nodal point position. In scripted files, a function is specified by enclosing an expression in quotes. In XML files, numeric loads use a load attribute while [[User Defined Functions| are specified using a function attribute.
See below for how to apply that are not along the x or y axes.
Stress Conditions
The scripted Stress command applies a load to all nodes along the path selected by the command that encloses it:
Stress (dir),(stress1),<(stress2)>,<(stress3)>
In XML files, nodal displacements are set with
<StressBC dir='(dirnum)' stress='stress1,<(stress2)>,<(stress3)'/>
where
- (dir) is the direction of the applied stress. It must be n or t (or 1 or 2) for normal or tangential stress. A positive tangential stress is defined as loading the element face in the counter-clockwise direction.
- (dirnum) -
- (stress1),<(stress2)>,<(stress3)> are 1 to 3 stresses (2 and 3 are optional). If one stress is given, the stress on the path will be constant. If two stresses are given, the stress will vary linearly between the two values at the endpoints of the path. If three stresses are given, the stress will vary quadratically along the path between the endpoint stresses ((stress1) and (stress3)) and the stress at the middle of the path ((stress3))
The Stress command can only be used in FixLine commands that define the line using a predefine path.
Skewed Conditions
Selecting Nodes
Explicit XML Boundary Conditions
An alternate way to assign FEA boundary conditions (which can only be done in XML files is to to explicit list each one. This method is rarely used because the generate conditions desribed above are much more flexible. If needed (e.g., when creating an XML file in custom software), the basic format is
<GridBCs> <DisplacementBCs> <fix node='24' dof='2'>0</fix> <rotate node='5' axis='3'>45</rotate> </DisplacementBCs> <LoadBCs> <load node='5' dof='1'>45</load> <rotate node='5' axis='3'>45</rotate> </LoadBCs> <EdgeBCs> <stress elem='3' face='1' dir='1'>0,100</load> </EdgeBCs> </GridBCs>
In this black, nodal displacements are in <DisplacementBCs> blocks, nodal loads are in <LoadBCs> blocks, and stresses on element faces are in <EdgeBCs> blocks. which are defined as follows:
- <DisplacementBCs>
- This command can set fixed displacement boundary conditions on nodes. Subordinate to the command can be any number of <fix> and <rotate> commands. The <fix> commands specify a node (by number) and the direction that is fixed with dof of 1 for x direction or 2 or y for y direction (or R and Z directions if axisymmetric). The value of the <fix> tag is the fixed displacement in mm.
The <rotate> tag can be used to apply skewed displacement (or load) boundary conditions that are in some direction that is not along the x or y axis. The method is to rotate the node first using a <rotate> command where the node attribute gives the node to rotate and the axis attribute is the axis of rotation, which must be 3 or z for 2D calculations or for rotation about the z axis. The value of the <rotate> tag is the angle to rotate in the clockwise direction in degress. Alternatively, the angle can be set using an angle attribute. Any rotated node can only be rotated once. After rotating a node, you can apply displacement (or load) boundary conditions in the rotated coordinate system.
- <LoadBCs>
- This command is used to apply loads directly to nodes. Subordinate to the command can be any number of <load> and <rotate> commands. The <load> commands specify a node (by number) and the direction of the load with dof of 1 for x direction or 2 or y for y direction (or R and Z directions if axisymmetric). The value of the <load> tag is the applied load in N. You can apply skewed loads, or loads not in the x or y direction by rotating the node first with a <rotate> command and then applying the load to the rotated axes. See <DisplacementBCs> command above for details.
- <EdgeBCs>
- This command is used to apply stress to edges of elements. Subordinate to the command can be <stress> commands. Each <stress> command specifies an element (using elem), a face of the element, and a direction (using dir with setting 1 or n for normal stress or 2 or t for tangential or shear stress). The value of the <stress> tag should be 1 to 3 stresses (in MPa), separated by commas, to allow applying constant or variable stress. If three stresses are given, the entered values correspond to the applied stress at the endpoints and in the middle of the face and stresses vary quadratically through these three points. If only two stresses are given, the stress will vary linearly between the endpoints of the face. If only one stress is given, the stress will be constant. The element faces are numbered around the element in the counter-clockwise direction starting with 1.
Notes
- When doing axisymmetric FEA, nodes at r=0 will automatically be set to zero velocity in the r directions. You therefore need not set those conditions.