Difference between revisions of "Explicit FEA Mesh Generation"
Line 52: | Line 52: | ||
# You should not use a <tt>temp</tt> attribute to set temperature of a node. | # You should not use a <tt>temp</tt> attribute to set temperature of a node. | ||
# The only attribute allowed for the <tt>Element</tt> tag is the <tt>type</tt> attribute. It must be 2 for 2D calculations and 7 for 3D calculations (to give four-node quadrilateral or eight-node | # The only attribute allowed for the <tt>Element</tt> tag is the <tt>type</tt> attribute. It must be 2 for 2D calculations and 7 for 3D calculations (to give [[Element Types#MPM Elements|four-node quadrilateral or eight-node brick elements]]) | ||
Because many MPM features assume, and are only efficient in, a regular grid, you probably would never want to explicity define the MPM grid. Instead, you should use create the MPM grid using commands that [[MPM Grid Generation|generate the grid]]. | Because many MPM features assume, and are only efficient in, a regular grid, you probably would never want to explicity define the MPM grid. Instead, you should use create the MPM grid using commands that [[MPM Grid Generation|generate the grid]]. |
Revision as of 10:31, 15 November 2013
To explicitly define a mesh, which can only be done in XML files, define all nodal points and all elements in lists within a <Mesh> element. Note that use of this method is very rare. You should almost always use commands to generate the mesh instead.
The Mesh Block for an Explicit Mesh
The typical structure of a <Mesh> block for explicit FEA mesh generation is as follows (the subordinate commands are described in more detail below):
<Mesh> <NodeList> <pt x='0' y='-18' temp='-100'/> <pt x='110' y='-18'/> . . . </NodeList> <ElementList> <elem type='2' mat='1' angle='0' thick='10'>1,5,69,68</elem> <elem type='2' mat='1' angle='0' thick='10'>5,6,70,69</elem> . . . </ElementList> </Mesh>
<NodeList> Block
The <NodeList> block must have one <pt> tag for each nodal point. The x and y attributes give the coordinates of each point in mm. The optional temp can be used to set the temperature of the node as the temperature difference relative to the stress free temperature.
<ElementList> Block
These nodes defined in the <NodeList> are connected into elements in the <ElementList> block. Each element is defined in an <elem> tag. Each element has attributes to define the element properties:
- type: The type of element by number.
- mat (or matl for backward compatibility): Material number in the list of defined materials when referring to a material "By Number". If you are using images and shape commands to set element properties, the mat should be 0 for elements that will be set later by other commands.
- matname: Alternatively, materials can be specified "By Name".
- angle: Optional material angle relevant to anisotropic materials.
- thick: Thickness in mm (for plane stress or plane strain 2D calculations)
The value of the <elem> tags are the node numbers listed in the counter-clockwise direction. For elements with mid-side nodes, the corner nodes are first followed by the mid-side nodes. The numbers correspond to the above nodal list with the first node being numbered 1. The node numbers can be delimited by any white space, commas, colons, semicolons, or any combination of those delimiters.
Using Images and Shapes
If some elements in the explicitly defined mesh are set to mat=0, you can follow the <Mesh> block with image and shape commands to fill in material types, angles, and define the final mesh geometry. This option is described here.
Explicit MPM Grid
The above procedure for an explicit finite element mesh can also be used to explicitly define a background MPM. There are two exceptions:
- You should not use a temp attribute to set temperature of a node.
- The only attribute allowed for the Element tag is the type attribute. It must be 2 for 2D calculations and 7 for 3D calculations (to give four-node quadrilateral or eight-node brick elements)
Because many MPM features assume, and are only efficient in, a regular grid, you probably would never want to explicity define the MPM grid. Instead, you should use create the MPM grid using commands that generate the grid.