Seismo-VLAB  1.3
An Open-Source Finite Element Software for Meso-Scale Simulations

Background

The LIN3DWIDEFLANGE (or LIN2DWIDEFLANGE) class creates a line Section that is represented by its height \(h\), width \(b\), flange thickness \(t_f\), and web thickness \(t_w\). This class computes the cross-sectional properties such as area, shear area, inertias and so on. The figure shows a representation of the Lin2DWideFlange and Lin3DWideFlange

WideFlange.png

The section properties are:

  • Area properties: \(A = 2 \, t_f \, b + t_w (h - 2 \, t_f) \,, \; As_2 = h \, t_w \,, \; As_3 = \frac{5}{3} b \, t_f\)
  • Inertia properties: \(I_{11} = I_{22} + I_{33}\,, \; I_{22} = \frac{1}{12} \left( 2 \, t_f \, b^3 + (h - 2 \, t_f) \, t_w^3 \right)\,, \; I_{33} = \frac{1}{12} \left( b \, h^3 - (b - t_w)(h - 2\,t_f)^3 \right)\)
  • Geometric center from bottom left corner (point of reference): \(x_3 = \frac{b}{2} \), and \(x_2 = \frac{h}{2} \)

REFERENCE:

  • MIDAS Civil User's Manual: analysis for civil structures, Area Moment of Inertia, Pages 77-78
  • MIDAS Civil User's Manual: analysis for civil structures, Effective Shear Areas, Pages 68-69

Pre-Analysis

The python Pre-Analysis in the 01-Pre_Process/Method/Attach.py file provides with an interface to populate the Entities dictionary. This file contains several functions to populate specific fields. For example, to create a Lin2DWideFlange or Lin3DWideFlange section using json format, use:

  • addSection(tag, name='Lin3DWideFlange', model='Plain', attributes):

    • tag : The identifier of this section, i.e., tag > -1
    • name : Seismo-VLAB section class name
    • model : model of the section, i.e., model=plain,fiber
    • attributes : Specific properties for the created section, for example
      • 'h' : is the hight of the line cross section.
      • 'b' : is the width of the line cross section.
      • 'tf' : is the flange thickness of the line cross section.
      • 'tw' : is the web thickness of the line cross section.
      • 'ip' : is the section insertion point.
      • 'theta' : is The section rotation angle about axis 1.
      • 'material' : is the material identifier the cross section is made out of.

    Example

    A LIN3DWIDEFLANGE section can be defined using the python interface as follows:
    SVL.addSection(tag=1, name='Lin3DWideFlange', model='Plain', attributes={'b': 0.30, 'h': 0.30, 'tw': 0.01, 'tf': 0.01, 'material': 1})

    Application
    Please refer to the D17-DY_Damped_WideFlange_3DPointLoad_Elastic_Frame2.py file located at 03-Validations/01-Debugging/ to see an example on how to define a Lin3DWideFlange section.

On the contrary, the 01-Pre_Process/Method/Remove.py file provides with an interface to depopulate the Entities dictionary. For example, to remove an already define Section, use:

  • delSection(tag):
    • tag : The identifier of the section to be removed, i.e., tag > -1

Run-Analysis

The C++ Run-Analysis in the 02-Run_Process/03-Sections/01-Plain/Lin3DWideFlange.cpp file provides the class implementation. A Lin3DWideFlange section is created using the built-in json parse-structure provided in the Driver.hpp. A Lin3DWideFlange is defined inside the "Sections" json field indicating its "Tag" as follows,

  • {
        "Sections": {
            "Tag": {
                "name" : "LIN3DWIDEFLANGE",
                "model" : "PLAIN",
                "attributes": {
                    "h": double,
                    "b": double,
                    "tw": double,
                    "tf": double,
                    "ip": double,
                    "theta": double,
                    "material": int
                }
            }
        }
    }
    
Variable Description
Tag Unique Section object identifier.
h The height of the cross section.
b The width of the cross section.
tf The flange thickness of the cross section.
tw The web thickness of the cross section.
ip The insertion point, see Insertion Point.
theta The section rotation angle, see Local Axes.
materialMaterial object identifier.
Attention
The LIN3DWIDEFLANGE / LIN2DWIDEFLANGE Section object is made of one Material.
The LIN3DWIDEFLANGE / LIN2DWIDEFLANGE Section is assumed to be use in linearized and finite deformations.
The stress/strain coordinates at Section::GetStrainAt() or Section::GetStressAt() must be refereed to the point of reference shown in figure.
If stress/strain are evaluated outside the section domain, the response is zero.
If not specified ip=10 and theta=0.0

Example

A LIN3DWIDEFLANGE section of height 0.30, width 0.30, and thickness 0.01, made of material 1 is defined:
{ "Sections": { "1": { "name" : "LIN3DWIDEFLANGE", "model": "PLAIN", "attributes": { "h" : 0.75, "b" : 0.25, "tw" : 0.01, "tf" : 0.01, "material": 1 } } } }