|
OOFEM
2.1
|
Implementation of microplane material model according to Bazant's boundary curve approach. More...
#include <m4.h>
Inheritance diagram for oofem::M4Material:
Collaboration diagram for oofem::M4Material:Public Member Functions | |
| M4Material (int n, Domain *d) | |
| Constructor. | |
| virtual | ~M4Material () |
| Destructor. | |
| virtual void | giveCharacteristicMatrix (FloatMatrix &answer, MatResponseForm form, MatResponseMode mode, GaussPoint *gp, TimeStep *tStep) |
| Computes the stiffness matrix of receiver in given integration point, respecting its history. | |
| virtual void | giveThermalDilatationVector (FloatArray &answer, GaussPoint *gp, TimeStep *tStep) |
| Returns a vector of coefficients of thermal dilatation in direction of each material principal (local) axis. | |
| virtual void | giveRealMicroplaneStressVector (FloatArray &answer, Microplane *mplane, const FloatArray &strain, TimeStep *tStep) |
| Computes real stress vector on given microplane (the meaning of values depends on particular implementation, e.g, can contain volumetric, deviatoric normal stresses and shear stresses on microplane) for given increment of microplane strains. | |
| double | macbra (double x) |
| double | FVplus (double ev, double k1, double c13, double c14, double c15, double Ev) |
| double | FVminus (double ev, double k1, double k3, double k4, double E) |
| double | FDminus (double ed, double k1, double c7, double c8, double c9, double E) |
| double | FDplus (double ed, double k1, double c5, double c6, double c7, double c20, double E) |
| double | FN (double en, double sv, double k1, double c1, double c2, double c3, double c4, double E, double Ev) |
| double | FT (double sn, double ev, double k1, double k2, double c10, double c11, double c12, double Et) |
| virtual void | updateVolumetricStressTo (Microplane *mPlane, double sigv) |
| Updates the volumetric stress component after computing real stress microplane vectors. | |
| virtual int | giveSizeOfReducedStressStrainVector (MaterialMode) |
| Returns the size of reduced stress/strain vector according to given mode. | |
| virtual int | hasMaterialModeCapability (MaterialMode mode) |
| Tests if material supports material mode. | |
| virtual IRResultType | initializeFrom (InputRecord *ir) |
| Initializes receiver according to object description stored in input record. | |
| virtual const char * | giveClassName () const |
| virtual classType | giveClassID () const |
| Returns classType id of receiver. | |
Protected Member Functions | |
| MaterialStatus * | CreateMicroplaneStatus (GaussPoint *gp) |
Protected Attributes | |
| double | c1 |
| double | c2 |
| double | c3 |
| double | c4 |
| double | c5 |
| double | c6 |
| double | c7 |
| double | c8 |
| double | c9 |
| double | c10 |
| double | c11 |
| double | c12 |
| double | c13 |
| double | c14 |
| double | c15 |
| double | c16 |
| double | c17 |
| double | c18 |
| double | c19 |
| double | c20 |
| double | k1 |
| double | k2 |
| double | k3 |
| double | k4 |
| double | k5 |
| double | E |
| double | nu |
| double | mu |
| double | EV |
| double | ED |
| double | ET |
| double | talpha |
Implementation of microplane material model according to Bazant's boundary curve approach.
| oofem::M4Material::M4Material | ( | int | n, |
| Domain * | d | ||
| ) |
| virtual oofem::M4Material::~M4Material | ( | ) | [inline, virtual] |
| MaterialStatus* oofem::M4Material::CreateMicroplaneStatus | ( | GaussPoint * | gp | ) | [inline, protected, virtual] |
Implements oofem::MicroplaneMaterial.
Definition at line 120 of file m4.h.
References oofem::FEMComponent::domain.
| double oofem::M4Material::FDminus | ( | double | ed, |
| double | k1, | ||
| double | c7, | ||
| double | c8, | ||
| double | c9, | ||
| double | E | ||
| ) | [inline] |
| double oofem::M4Material::FDplus | ( | double | ed, |
| double | k1, | ||
| double | c5, | ||
| double | c6, | ||
| double | c7, | ||
| double | c20, | ||
| double | E | ||
| ) | [inline] |
| double oofem::M4Material::FN | ( | double | en, |
| double | sv, | ||
| double | k1, | ||
| double | c1, | ||
| double | c2, | ||
| double | c3, | ||
| double | c4, | ||
| double | E, | ||
| double | Ev | ||
| ) | [inline] |
Definition at line 89 of file m4.C.
References macbra().
Referenced by giveRealMicroplaneStressVector().
| double oofem::M4Material::FT | ( | double | sn, |
| double | ev, | ||
| double | k1, | ||
| double | k2, | ||
| double | c10, | ||
| double | c11, | ||
| double | c12, | ||
| double | Et | ||
| ) | [inline] |
Definition at line 97 of file m4.C.
Referenced by giveRealMicroplaneStressVector().
| double oofem::M4Material::FVminus | ( | double | ev, |
| double | k1, | ||
| double | k3, | ||
| double | k4, | ||
| double | E | ||
| ) | [inline] |
Definition at line 61 of file m4.C.
Referenced by giveRealMicroplaneStressVector().
| double oofem::M4Material::FVplus | ( | double | ev, |
| double | k1, | ||
| double | c13, | ||
| double | c14, | ||
| double | c15, | ||
| double | Ev | ||
| ) | [inline] |
Definition at line 54 of file m4.C.
References macbra().
Referenced by giveRealMicroplaneStressVector().
| void oofem::M4Material::giveCharacteristicMatrix | ( | FloatMatrix & | answer, |
| MatResponseForm | form, | ||
| MatResponseMode | mode, | ||
| GaussPoint * | gp, | ||
| TimeStep * | tStep | ||
| ) | [virtual] |
Computes the stiffness matrix of receiver in given integration point, respecting its history.
The algorithm should use temporary or equilibrium history variables stored in integration point status to compute and return required result.
| answer | Contains result. |
| form | Material response form. |
| mode | Material response mode. |
| gp | Integration point. |
| tStep | Time step (most models are able to respond only when atTime is current time step). |
Reimplemented from oofem::StructuralMaterial.
Definition at line 110 of file m4.C.
References oofem::FloatMatrix::at(), E, nu, oofem::FloatMatrix::resize(), and oofem::FloatMatrix::zero().
| virtual classType oofem::M4Material::giveClassID | ( | ) | const [inline, virtual] |
Returns classType id of receiver.
Intended for run time type checking. Every derived class have to overload this method.
Reimplemented from oofem::MicroplaneMaterial_Bazant.
Definition at line 117 of file m4.h.
References oofem::M4MaterialClass.
| virtual const char* oofem::M4Material::giveClassName | ( | ) | const [inline, virtual] |
Reimplemented from oofem::MicroplaneMaterial_Bazant.
| void oofem::M4Material::giveRealMicroplaneStressVector | ( | FloatArray & | answer, |
| Microplane * | mplane, | ||
| const FloatArray & | strain, | ||
| TimeStep * | tStep | ||
| ) | [virtual] |
Computes real stress vector on given microplane (the meaning of values depends on particular implementation, e.g, can contain volumetric, deviatoric normal stresses and shear stresses on microplane) for given increment of microplane strains.
| answer | Computed result. |
| mplane | Pointer to microplane object, for which response is computed. |
| strain | Strain vector. |
| tStep | Time step. |
Implements oofem::MicroplaneMaterial.
Definition at line 127 of file m4.C.
References oofem::FloatArray::at(), oofem::FloatArray::beDifferenceOf(), c1, c10, c11, c12, c13, c14, c15, c2, c20, c3, c4, c5, c6, c7, c8, c9, E, ED, ET, EV, FDminus(), FDplus(), FN(), FT(), FVminus(), FVplus(), oofem::MicroplaneMaterial::giveMicroplaneStatus(), oofem::StructuralMaterialStatus::giveStrainVector(), oofem::StructuralMaterialStatus::giveStressVector(), oofem::FloatArray::isNotEmpty(), k1, k2, k3, k4, oofem::StructuralMaterialStatus::letTempStrainVectorBe(), oofem::StructuralMaterialStatus::letTempStressVectorBe(), oofem::max(), oofem::min(), oofem::FloatArray::resize(), and oofem::FloatArray::zero().
| int oofem::M4Material::giveSizeOfReducedStressStrainVector | ( | MaterialMode | mmode | ) | [virtual] |
Returns the size of reduced stress/strain vector according to given mode.
| mmode | Material response mode. |
Reimplemented from oofem::StructuralMaterial.
| void oofem::M4Material::giveThermalDilatationVector | ( | FloatArray & | answer, |
| GaussPoint * | gp, | ||
| TimeStep * | tStep | ||
| ) | [virtual] |
Returns a vector of coefficients of thermal dilatation in direction of each material principal (local) axis.
| answer | Vector of thermal dilatation coefficients. |
| gp | Integration point. |
| tStep | Time step (most models are able to respond only when atTime is current time step). |
Reimplemented from oofem::StructuralMaterial.
Definition at line 322 of file m4.C.
References oofem::FloatArray::at(), oofem::FloatArray::resize(), talpha, and oofem::FloatArray::zero().
| int oofem::M4Material::hasMaterialModeCapability | ( | MaterialMode | mode | ) | [virtual] |
Tests if material supports material mode.
| mode | Required material mode. |
Reimplemented from oofem::StructuralMaterial.
| IRResultType oofem::M4Material::initializeFrom | ( | InputRecord * | ir | ) | [virtual] |
Initializes receiver according to object description stored in input record.
This function is called immediately after creating object using constructor. Input record can be imagined as data record in component database belonging to receiver. Receiver may use value-name extracting functions to extract particular field from record.
| ir | Input record to initialize from. |
Reimplemented from oofem::MicroplaneMaterial.
Definition at line 236 of file m4.C.
References c1, c10, c11, c12, c13, c14, c15, c16, c17, c18, c19, c2, c20, c3, c4, c5, c6, c7, c8, c9, E, ED, ET, EV, oofem::IFT_M4Material_c20, oofem::IFT_M4Material_c3, oofem::IFT_M4Material_c4, oofem::IFT_M4Material_e, oofem::IFT_M4Material_k1, oofem::IFT_M4Material_k2, oofem::IFT_M4Material_k3, oofem::IFT_M4Material_k4, oofem::IFT_M4Material_n, oofem::IFT_M4Material_talpha, IR_GIVE_FIELD, IR_GIVE_OPTIONAL_FIELD, oofem::IRRT_OK, k1, k2, k3, k4, mu, nu, and talpha.
| double oofem::M4Material::macbra | ( | double | x | ) | [inline] |
| void oofem::M4Material::updateVolumetricStressTo | ( | Microplane * | mPlane, |
| double | sigv | ||
| ) | [virtual] |
Updates the volumetric stress component after computing real stress microplane vectors.
Implements oofem::MicroplaneMaterial_Bazant.
Definition at line 298 of file m4.C.
References oofem::FloatArray::at(), oofem::Material::giveStatus(), oofem::StructuralMaterialStatus::giveTempStressVector(), and oofem::StructuralMaterialStatus::letTempStressVectorBe().
double oofem::M4Material::c1 [protected] |
Definition at line 73 of file m4.h.
Referenced by giveRealMicroplaneStressVector(), and initializeFrom().
double oofem::M4Material::c10 [protected] |
Definition at line 73 of file m4.h.
Referenced by giveRealMicroplaneStressVector(), and initializeFrom().
double oofem::M4Material::c11 [protected] |
Definition at line 73 of file m4.h.
Referenced by giveRealMicroplaneStressVector(), and initializeFrom().
double oofem::M4Material::c12 [protected] |
Definition at line 73 of file m4.h.
Referenced by giveRealMicroplaneStressVector(), and initializeFrom().
double oofem::M4Material::c13 [protected] |
Definition at line 74 of file m4.h.
Referenced by giveRealMicroplaneStressVector(), and initializeFrom().
double oofem::M4Material::c14 [protected] |
Definition at line 74 of file m4.h.
Referenced by giveRealMicroplaneStressVector(), and initializeFrom().
double oofem::M4Material::c15 [protected] |
Definition at line 74 of file m4.h.
Referenced by giveRealMicroplaneStressVector(), and initializeFrom().
double oofem::M4Material::c16 [protected] |
Definition at line 74 of file m4.h.
Referenced by initializeFrom().
double oofem::M4Material::c17 [protected] |
Definition at line 74 of file m4.h.
Referenced by initializeFrom().
double oofem::M4Material::c18 [protected] |
Definition at line 74 of file m4.h.
Referenced by initializeFrom().
double oofem::M4Material::c19 [protected] |
Definition at line 74 of file m4.h.
Referenced by initializeFrom().
double oofem::M4Material::c2 [protected] |
Definition at line 73 of file m4.h.
Referenced by giveRealMicroplaneStressVector(), and initializeFrom().
double oofem::M4Material::c20 [protected] |
Definition at line 74 of file m4.h.
Referenced by giveRealMicroplaneStressVector(), and initializeFrom().
double oofem::M4Material::c3 [protected] |
Definition at line 73 of file m4.h.
Referenced by giveRealMicroplaneStressVector(), and initializeFrom().
double oofem::M4Material::c4 [protected] |
Definition at line 73 of file m4.h.
Referenced by giveRealMicroplaneStressVector(), and initializeFrom().
double oofem::M4Material::c5 [protected] |
Definition at line 73 of file m4.h.
Referenced by giveRealMicroplaneStressVector(), and initializeFrom().
double oofem::M4Material::c6 [protected] |
Definition at line 73 of file m4.h.
Referenced by giveRealMicroplaneStressVector(), and initializeFrom().
double oofem::M4Material::c7 [protected] |
Definition at line 73 of file m4.h.
Referenced by FDminus(), FDplus(), giveRealMicroplaneStressVector(), and initializeFrom().
double oofem::M4Material::c8 [protected] |
Definition at line 73 of file m4.h.
Referenced by giveRealMicroplaneStressVector(), and initializeFrom().
double oofem::M4Material::c9 [protected] |
Definition at line 73 of file m4.h.
Referenced by giveRealMicroplaneStressVector(), and initializeFrom().
double oofem::M4Material::E [protected] |
Definition at line 75 of file m4.h.
Referenced by giveCharacteristicMatrix(), giveRealMicroplaneStressVector(), and initializeFrom().
double oofem::M4Material::ED [protected] |
Definition at line 76 of file m4.h.
Referenced by giveRealMicroplaneStressVector(), and initializeFrom().
double oofem::M4Material::ET [protected] |
Definition at line 76 of file m4.h.
Referenced by giveRealMicroplaneStressVector(), and initializeFrom().
double oofem::M4Material::EV [protected] |
Definition at line 76 of file m4.h.
Referenced by giveRealMicroplaneStressVector(), and initializeFrom().
double oofem::M4Material::k1 [protected] |
Definition at line 75 of file m4.h.
Referenced by giveRealMicroplaneStressVector(), and initializeFrom().
double oofem::M4Material::k2 [protected] |
Definition at line 75 of file m4.h.
Referenced by giveRealMicroplaneStressVector(), and initializeFrom().
double oofem::M4Material::k3 [protected] |
Definition at line 75 of file m4.h.
Referenced by giveRealMicroplaneStressVector(), and initializeFrom().
double oofem::M4Material::k4 [protected] |
Definition at line 75 of file m4.h.
Referenced by giveRealMicroplaneStressVector(), and initializeFrom().
double oofem::M4Material::k5 [protected] |
double oofem::M4Material::mu [protected] |
Definition at line 75 of file m4.h.
Referenced by initializeFrom().
double oofem::M4Material::nu [protected] |
Definition at line 75 of file m4.h.
Referenced by giveCharacteristicMatrix(), and initializeFrom().
double oofem::M4Material::talpha [protected] |
Definition at line 77 of file m4.h.
Referenced by giveThermalDilatationVector(), and initializeFrom().