Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

Version 1 Current »

This document covers the OpenBrIM Library Core Object “FEMeshSurface” and its purpose of use. The main goal of this Core Object is to create shell elements. The shell elements nodes' can be created with different restrictions and properties. A T=“FEMeshSurface” object, named as Example, is created to demonstrate these properties of the Core ObjectMesh can be created in any plane, for this example is written on the X-Y plane.


Surface, CX, CY, (CZ)

Firstly, only three parameters of this object are defined which are Surface, CX, and CY. FEMeshSurface creates mesh on the Surface that is defined inside the object. CX and CY parameters set the mesh sizes along their respective directions. Therefore, a node is created every 15 units along the X direction and every 60 units along the Y direction on the Surface object.

<O N="FEMeshSurface Test" T="Project" TransAlignRule="Right">
    <O N="Example" T="FEMeshSurface" CX="15" CY="60" ConstraintPts="[]" Material="@NULL|Material" Surface="@NULL|Surface" CoorSys="@NULL|CoorSys" Group="@NULL|FEGroup" IsConstraint="1">
        <O T="Surface">
            <O T="Point" X="0" Y="0" />
            <O T="Point" X="240" Y="0" />
            <O T="Point" X="240" Y="240" />
            <O T="Point" X="0" Y="240" />
        </O>
    </O>
</O>

ConstraintPoints

The ConstraintPoints parameter forces additional point or points to be assigned as nodes.

<O N="FEMeshSurface Test" T="Project">
    <O N="Example" T="FEMeshSurface" CX="15" CY="60" ConstraintPts="[[10,10],[230,230]]" Material="@NULL|Material" Surface="@NULL|Surface" CoorSys="@NULL|CoorSys" Group="@NULL|FEGroup" IsConstraint="1">
        <O T="Surface">
            <O T="Point" X="0" Y="0" />
            <O T="Point" X="240" Y="0" />
            <O T="Point" X="240" Y="240" />
            <O T="Point" X="0" Y="240" />
        </O>
    </O>
</O>

MeshDirection

As a default setting, mesh direction is decided by the polygon’s surface. If a mesh surface is not a rectangle, there will be non-perpendicular mesh. To demonstrate that see the following figure where the mesh is created parallel to the blue arrows.

<O N="FEMeshSurface Test" T="Project">
    <O N="Example" T="FEMeshSurface" CX="15" CY="60" ConstraintPts="[]" Material="@NULL|Material" Surface="@NULL|Surface" CoorSys="@NULL|CoorSys" Group="@NULL|FEGroup" IsConstraint="1">
        <O T="Surface">
            <O T="Point" X="70" Y="70" />
            <O T="Point" X="150" Y="0" />
            <O T="Point" X="200" Y="240" />
            <O T="Point" X="155" Y="360" />
            <O T="Point" X="0" Y="240" />
        </O>
    </O>
</O>

To control the direction of the created mesh lines, the MeshDirection parameter is introduced. 3 points need to be defined which represents two lines in order to set this parameter.  MeshDirection="[[0,0,0],[1,0,0],[1,1,0]]" is set for this example and the created mesh lines are parallel to global X and Y axes.

<O N="FEMeshSurface Test" T="Project">
    <O N="Example" T="FEMeshSurface" CX="15" CY="60" ConstraintPts="[]" MeshDirection="[[0,0,0],[1,0,0],[1,1,0]]" Material="@NULL|Material" Surface="@NULL|Surface" CoorSys="@NULL|CoorSys" Group="@NULL|FEGroup" IsConstraint="1">
        <O T="Surface">
            <O T="Point" X="70" Y="70" />
            <O T="Point" X="150" Y="0" />
            <O T="Point" X="200" Y="240" />
            <O T="Point" X="155" Y="360" />
            <O T="Point" X="0" Y="240" />
        </O>
    </O>
</O>

GridLinesX, GridLinesY, (GridLinesZ)

GridLinesX and GridLinesY parameters force respective axis mashes to be created on the specified line. In other words, GridlinesX and GridLinesY overwrite CX and CY respectively. An example is demonstrated by using the GridLinesY parameter. Generally, beam mashes are made along the X direction in bridges, the GridLinesY parameter can be thought of as beam reference lines.

GridLinesY inputs need to be in order with respect to the y-axis.

<O N="FEMeshSurface Test" T="Project">
    <O N="Example" T="FEMeshSurface" Alignment="RoadwayAlignment" CX="15" CY="60" ConstraintPts="[]" MeshDirection="[[0,0,0],[1,0,0],[1,1,0]]" GridLinesY="[GridLine1,GridLine4,GridLine3,GridLine2]" Material="@NULL|Material" Surface="@NULL|Surface" CoorSys="@NULL|CoorSys" Group="@NULL|FEGroup" IsConstraint="1">
        <O T="Surface">
            <O T="Point" X="0" Y="0" />
            <O T="Point" X="600" Y="0" />
            <O T="Point" X="600" Y="240" />
            <O T="Point" X="0" Y="240" />
        </O>
    </O>
    <O N="RoadwayAlignment" T="Alignment" Station="0" Azimuth="1.57079632679">
        <O T="Circular" Radius="2400" Length="4800" />
        <O T="CrossSection" Station="0" LeftEdgeToHCL="240">
            <O T="CrossSectionSegment" Width="480" Slope="0" />
        </O>
        <O T="ElevationPoint" Station="0" Elevation="0" />
    </O>
    <P N="GridLine1" V="[[0,0],[600,0]]" />
    <P N="GridLine2" V="[[0,240],[600,240]]" />
    <P N="GridLine3" V="[[0,100],[600,160]]" />
    <P N="GridLine4" V="[[0,60],[600,80]]" />
</O>

ConstraintLines

ConstraintLines parameter forces additional nodes to be created along this line definition. This parameter is useful for skewed supports.

<O N="FEMeshSurface Test" T="Project">
    <O N="Example" T="FEMeshSurface" Alignment="RoadwayAlignment" CX="15" CY="60" ConstraintPts="[]" MeshDirection="[[0,0,0],[1,0,0],[1,1,0]]" GridLinesY="[GridLine1,GridLine4,GridLine3,GridLine2]" ConstraintLines="[ConstraintLine1]" Material="@NULL|Material" Surface="@NULL|Surface" CoorSys="@NULL|CoorSys" Group="@NULL|FEGroup" IsConstraint="1">
        <O T="Surface">
            <O T="Point" X="0" Y="0" />
            <O T="Point" X="600" Y="0" />
            <O T="Point" X="600" Y="240" />
            <O T="Point" X="0" Y="240" />
        </O>
    </O>
    <O N="RoadwayAlignment" T="Alignment" Station="0" Azimuth="1.57079632679">
        <O T="Circular" Radius="2400" Length="4800" />
        <O T="CrossSection" Station="0" LeftEdgeToHCL="240">
            <O T="CrossSectionSegment" Width="480" Slope="0" />
        </O>
        <O T="ElevationPoint" Station="0" Elevation="0" />
    </O>
    <P N="GridLine1" V="[[0,0],[600,0]]" />
    <P N="GridLine2" V="[[0,240],[600,240]]" />
    <P N="GridLine3" V="[[0,100],[600,160]]" />
    <P N="GridLine4" V="[[0,60],[600,80]]" />
    <P N="ConstraintLine1" V="[[150,241],[400,-1]]" />
</O>

GridsXAlignH, GridsYAlignH, (GridsZAlignH)

GridsXAlignH and GridsYAlignH parameters allow overwriting the alignment rules of the line definitions that are done by using GridLinesX and GridLinesY. This parameter is useful for kinked bridges whose girders do not match the alignment.

<O N="FEMeshSurface Test" T="Project">
    <O N="Example" T="FEMeshSurface" Alignment="RoadwayAlignment" CX="15" CY="60" ConstraintPts="[]" MeshDirection="[[0,0,0],[1,0,0],[1,1,0]]" GridLinesY="[GridLine1,GridLine4,GridLine3,GridLine2]" ConstraintLines="[ConstraintLine1]" Material="@NULL|Material" Surface="@NULL|Surface" CoorSys="@NULL|CoorSys" Group="@NULL|FEGroup" IsConstraint="1">
        <O T="Surface">
            <O T="Point" X="0" Y="0" />
            <O T="Point" X="600" Y="0" />
            <O T="Point" X="600" Y="240" />
            <O T="Point" X="0" Y="240" />
        </O>
    </O>
    <O N="RoadwayAlignment" T="Alignment" Station="0" Azimuth="1.57079632679">
        <O T="Circular" Radius="2400" Length="4800" />
        <O T="CrossSection" Station="0" LeftEdgeToHCL="240">
            <O T="CrossSectionSegment" Width="480" Slope="0" />
        </O>
        <O T="ElevationPoint" Station="0" Elevation="0" />
    </O>
    <P N="GridLine1" V="[[0,0],[600,0]]" />
    <P N="GridLine2" V="[[0,240],[600,240]]" />
    <P N="GridLine3" V="[[0,100],[600,160]]" />
    <P N="GridLine4" V="[[0,60],[600,80]]" />
    <P N="ConstraintLine1" V="[[150,241],[400,-1]]" />
</O>

FEMeshRegion

The FEMeshRegion core object allows the user to define additional parameters on the specified surface. This can be beneficial for use of FEGroup and Filter.

<O N="FEMeshSurface Test" T="Project">
    <O N="Example" T="FEMeshSurface" Alignment="RoadwayAlignment" CX="15" CY="60" ConstraintPts="[]" MeshDirection="[[0,0,0],[1,0,0],[1,1,0]]" Material="@NULL|Material" Surface="@NULL|Surface" CoorSys="@NULL|CoorSys" Group="@NULL|FEGroup" IsConstraint="1">
        <O T="Surface">
            <O T="Point" X="0" Y="0" />
            <O T="Point" X="600" Y="0" />
            <O T="Point" X="600" Y="240" />
            <O T="Point" X="0" Y="240" />
        </O>
        <O T="FEMeshRegion" Group="@DeckPart1|FEGroup" Parameter1="1" Thickness="15">
            <O T="Point" X="0" Y="0" />
            <O T="Point" X="200" Y="0" />
            <O T="Point" X="200" Y="60" />
            <O T="Point" X="0" Y="60" />
        </O>
    </O>
</O>

Node1OffZ, Node2OffZ, Node3OffZ, Node4OffZ

This parameter allows the offset of each respective node of the shell element by the given value. It can be defined in the other directions (X and Y) as well. In the example object, on the surface Nodes, 1 and 3 are offset by 10 units.

<O N="FEMeshSurface Test" T="Project">
    <O N="Example" T="FEMeshSurface" CX="15" CY="60" ConstraintPts="[]" MeshDirection="[[0,0,0],[1,0,0],[1,1,0]]" Material="@NULL|Material" Surface="@NULL|Surface" CoorSys="@NULL|CoorSys" Group="@NULL|FEGroup" IsConstraint="1">
        <O T="Surface" Node1OffZ="10" Node3OffZ="10">
            <O T="Point" X="0" Y="0" />
            <O T="Point" X="600" Y="0" />
            <O T="Point" X="600" Y="240" />
            <O T="Point" X="0" Y="240" />
        </O>
    </O>
</O>

  • No labels