Difference between revisions of "FEA Boundary Conditions"
Line 73: | Line 73: | ||
== Displacement Conditions == | == Displacement Conditions == | ||
The scripted <tt>Displacement</tt> command sets displacement conditions to all nodes selected by the command that | The scripted <tt>Displacement</tt> command sets displacement conditions to all nodes selected by the command that encloses it: | ||
Displacement (dir),<(disp)> | Displacement (dir),<(disp)> | ||
Line 87: | Line 87: | ||
* <tt>(disp)</tt> specifies magnitude of the displacement in mm. It can be specified by a number or by a [[User Defined Functions|user-defined function]] of nodal point position. If <tt>(disp)</tt> is omitted, the default displacement is 0 (<i>i.e.</i>, a fixed node). | * <tt>(disp)</tt> specifies magnitude of the displacement in mm. It can be specified by a number or by a [[User Defined Functions|user-defined function]] of nodal point position. If <tt>(disp)</tt> is omitted, the default displacement is 0 (<i>i.e.</i>, a fixed node). | ||
See [[Skewed Conditions|below]] for how to fix displacement that are not along the <tt>x</tt> or <tt>y</tt> axes. | See [[#Skewed Conditions|below]] for how to fix displacement that are not along the <tt>x</tt> or <tt>y</tt> axes. | ||
== Load Conditions == | == Load Conditions == |
Revision as of 11:08, 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)'/>
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. 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
Stress Conditions
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.