Difference between revisions of "Explicit FEA Mesh Generation"

From OSUPDOCS
Jump to navigation Jump to search
 
(27 intermediate revisions by the same user not shown)
Line 3: Line 3:
== The Mesh Block for an Explicit Mesh ==
== The Mesh Block for an Explicit Mesh ==


The typical structure of a Mesh block for explicit FEA mesh generation is. The subordinate commands are described in more detail below.
The typical structure of a <tt><Mesh></tt> block for explicit FEA mesh generation is as follows (the subordinate commands are described in more detail below):


<pre>
<pre>
Line 23: Line 23:
   &lt;/ElementList&gt;
   &lt;/ElementList&gt;
&lt;/Mesh&gt;
&lt;/Mesh&gt;
&lt;!-- image and shape methods to set element properties --&gt;
&lt;BMP name="MatImage.bmp" width="50" angles="MatAngles.bmp"&gt;
  &lt;Origin x="0" y="0"/&gt;
  &lt;Intensity mat="2" imin="76" imax="255"&gt;
    &lt;Thickness units="mm"&gt;1&lt;/Thickness&gt;
  &lt;/Intensity&gt;
  &lt;Intensity mat="3" imin="1" imax="75"&gt;
    &lt;Thickness units="mm"&gt;1&lt;/Thickness&gt;
  &lt;/Intensity&gt;
  &lt;Intensity imin="0" imax="255" minAngle="0.000000" maxAngle="90.000000"/&gt;
&lt;/BMP&gt;
&lt;Body mat='1' angle='0' thick='1'&gt;
  &lt;Oval units='mm' xmin='10' xmax='40' ymin='10' ymax='40'/&gt;
  &lt;Rect units='mm' xmin='10' xmax='40' ymin='10' ymax='40'/&gt;   
&lt;/Body&gt;
&lt;Hole&gt;
  &lt;Rect xmin='20' xmax='30' ymin='20' ymax='30'/&gt;   
&lt;/Hole&gt;
</pre>
</pre>


== NodeList Block ==
==== <NodeList> Block ====


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 ====


These nodes defined in the <tt>&lt;NodeList&gt;</tt> are connected into elements in the <tt>&lt;ElementList&gt;</tt> block.
These nodes defined in the <tt>&lt;NodeList&gt;</tt> are connected into elements in the <tt>&lt;ElementList&gt;</tt> block.
Each element is defined in an <tt>&lt;elem&gt;</tt> tag. The <tt>type</tt> attribute defines the type of [[FEA Elements|element by number]]. Element types can be mixed, but the types have to be compatible. You can mix linear elements (types 1, 2, and 5) with each other or quadratic elements (types 3, 4, 6, and 8) with each other, but cannot mix linear elements with quadratic elements.
Each element is defined in an <tt>&lt;elem&gt;</tt> tag. Each element has attributes to define the element properties:


Each element has attributes to define the material for the element:
* <tt>type</tt>: The type of [[FEA Elements|element by number]].
 
* <tt>mat</tt> (or <tt>matl</tt> for backward compatibility): Material number in the list of [[Material Command Block#XML Input Commands|defined materials]] when referring to a material [[Material Command Block#Referencing Materials in XML Files|"By Number"]]. If you are using [[Create a Mesh with Images and Shapes|images and shape commands]] to set element properties, the <tt>mat</tt> should be 0 for elements that will be set later by other commands.
* <tt>mat</tt> (or <tt>matl</tt> for backward compatibility): Material number in the list of [[Material Command Block#XML Input Commands|defined materials]] when referring to material [[Material Command Block#Referencing Materials in XML Files|"By Number"]]. If you are using the optional [[BMP, Region, and Hole Commands|BMP, Body, and Hole commands method to set element properties, the <tt>mat</tt> should be 0 for elements that will be set later by other commands.
* <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.


== BMP, Body, and Hole Blocks ==
== Using Images and Shapes ==
 
If some elements in the explicitly defined mesh are set to <tt>mat=0</tt>, you can follow the <tt><Mesh></tt> block with [[Create a Mesh with Images and Shapes|image and shape commands]] to fill in material types, angles, and define the final mesh geometry. This option is described [[Create a Mesh with Images and Shapes|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 <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 [[Element Types#MPM Element Types|four-node quadrilateral or eight-node brick elements]])


The <tt>&lt;BMP&gt;</tt>, <tt>&lt;Body&gt;</tt>, and <tt>&lt;Hole&gt;</tt> elements, which must come after the <tt>&lt;Mesh&gt;</tt> block, lets you asign material and material angles to the elements using a digitized image of the object or using shape commands. Their use is described [[elsewhere]].
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 14: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.