Difference between revisions of "Explicit FEA Mesh Generation"

From OSUPDOCS
Jump to navigation Jump to search
 
(6 intermediate revisions by the same user not shown)
Line 28: Line 28:


The <tt>&lt;NodeList&gt;</tt> block must have one <tt>&lt;pt&gt;</tt> tag for each nodal point.
The <tt>&lt;NodeList&gt;</tt> block must have one <tt>&lt;pt&gt;</tt> tag for each nodal point.
The <tt>x</tt> and <tt>y</tt> attributes give the coordinates of each point in mm. The optional <tt>temp</tt> can be used to set the temperature of the node as the temperature difference relative to the stress free temperature.
The <tt>x</tt> and <tt>y</tt> attributes give the coordinates of each point in [[ConsistentUnits Command#Legacy and Consistent Units|length units]]. The optional <tt>temp</tt> can be used to set the temperature of the node as the temperature difference relative to the stress free temperature.


==== <ElementList> Block ====
==== <ElementList> Block ====
Line 39: Line 39:
* <tt>matname</tt>: Alternatively, materials can be specified [[Material Command Block#Referencing Materials in XML Files|"By Name"]].
* <tt>matname</tt>: Alternatively, materials can be specified [[Material Command Block#Referencing Materials in XML Files|"By Name"]].
*<tt>angle</tt>: Optional material angle relevant to [[FEA Material Models|anisotropic materials]].
*<tt>angle</tt>: Optional material angle relevant to [[FEA Material Models|anisotropic materials]].
*<tt>thick</tt>: Thickness in mm (for plane stress or plane strain 2D calculations)
*<tt>thick</tt>: Thickness in [[ConsistentUnits Command#Legacy and Consistent Units|length units]] (for plane stress or plane strain 2D calculations)


The value of the <tt>&lt;elem&gt;</tt> 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.
The value of the <tt>&lt;elem&gt;</tt> 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.
Line 49: Line 49:
== Explicit MPM Grid ==
== Explicit MPM Grid ==


The above procedure can be used to explicit define a background MPM grid with the following exceptions:
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 <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.
# Elements should only specify a <tt>type</tt> attribute and it must be 2 for 2D calculations and 7 for 3D calculations
# 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 Element Types|four-node quadrilateral or eight-node brick elements]])


Because many MPM features assume, and are only efficient in, a regular grid, you should never explicit define the MPM grid. Instead, you should use command to 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 always create the MPM grid using commands that [[MPM Grid Generation|generate the grid]].

Latest revision as of 13:18, 2 June 2015

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 length units. 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:

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:

  1. You should not use a temp attribute to set temperature of a node.
  2. 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 always create the MPM grid using commands that generate the grid.