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

Background

The Concrete1DFiber class creates a uniaxial material with the constitutive equation given as

\[ \sigma = \begin{cases} E_t \, \epsilon \quad\quad & \text{, for } 0 \leq \epsilon \leq \epsilon_t, \\ f_c \frac{\epsilon}{\epsilon_{cc}}\left(2 - \frac{\epsilon}{\epsilon_{cc}} \right) & \text{, for } -\epsilon_{cc} \leq \epsilon \leq 0,\\ f_c \left( 1 - \frac{\epsilon - \epsilon_{cc}}{\epsilon_{cu} - \epsilon_{cc}} \right) & \text{, for } \epsilon \leq -\epsilon_{cc} \end{cases} \]

where \(\sigma\) is the uniaxial stress, \(\epsilon\) is the uniaxial strain, and \(f_c\) is the concrete compressive strength, \(\epsilon_{cc}\) is the concrete strain at maximum strength, and \(\epsilon_{cu}\) is the concrete strain at crushing strength. The Figure shows the constitutive law of this material. No hysteresis behavior is present for this formulation.

Concrete1DFiber.png

REFERENCE:

  • Mohd Hisham Mohd Yassin, "Nonlinear Analysis of Prestressed Concrete Structures under Monotonic and Cycling Loads", PhD dissertation, University of California, Berkeley, 1994.

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 Concrete1DFiber material using json format, use:

  • addMaterial(tag, name='Concrete1DFiber', attributes):

    • tag : The identifier of this material, i.e., tag > -1
    • name : Seismo-VLAB material class name
    • attributes : Specific properties for the created material, for example
      • 'fc' : is the concrete compressive strength at 28 days.
      • 'ecc' : is the concrete strain at maximum strength.
      • 'fcu' : is the concrete crushing strength.
      • 'ecu' : concrete strain at crushing strength.
      • 'ratio' : ratio between unloading slope at and initial slope.
      • 'ft' : is the concrete tensile strength.
      • 'Et' : is the tension softening stiffness (absolute value).
      • 'nu' : is the Poisson’s ratio.
      • 'rho' : is the material density.

    Example

    A CONCRETE1DFIBER can be defined using the python interface as follows:
    SVL.addMaterial(tag=1, name='Concrete1DFiber', attributes={'fc': -5.73, 'ecc': -0.003, 'fcu': -1.146, 'ecu': -0.021, 'ratio': 0.05, 'ft': 0.28, 'Et': 430.0})

    Application
    Please refer to the A17-DY_1D_Material_Fiber_Concrete.py file located at 03-Validations/01-Debugging/ to see an example on how to define a PlasticPlaneStrainBA material.

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 Material, use:

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

Run-Analysis

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

  • {
        "Materials": {
            "Tag": {
                "name" : "CONCRETE1DFIBER",
                "attributes": {
                    "fc": double,
                    "ecc": double,
                    "fcu": double
                    "ecu": double,
                    "ratio": double,
                    "ft": double
                    "Et": double,
                    "nu": double,
                    "rho": double
                }
            }
        }
    }
    
    Variable Description
    Tag Unique material object identifier.
    fc The concrete compressive strength at 28 days.
    ecc The concrete strain at maximum strength.
    fcu The concrete crushing strength.
    ecu The concrete strain at crushing strength.
    ratioRatio between unloading slope at and initial slope.
    ft The concrete tensile strength.
    Et The tension softening stiffness (absolute value).
    nu Represents the Poisson's ratio.
    rho Represents the material density.

    Attention
    This material can only be assigned to section such as the Fib3DLineSection.
    Compressive concrete parameters should be input as negative values.
    The initial slope for this model is \(E_c = \displaystyle{\frac{2 f_c}{\epsilon_{cc}}}\).
    Example

    A uniaxial CONCRETE1DFIBER with compressive strength 5.73, strain at maximum strength 0.003, concrete crushing strength 0.021, ratio 0.05, and tensile strength and softening stiffness of 0.28, 430 respectively:
    { "Materials": { "1": { "name" : "CONCRETE1DFIBER", "attributes": { "fc": -5.73, "ecc": -0.003, "fcu": -1.146, "ecu": -0.021, "ratio": 0.05, "ft": 0.28, "Et": 430.0, "nu" : 0.25, "rho": 0.0 } } } }