|
OOFEM
2.1
|
This class implements the B3 model for concrete creep and shrinkage. More...
#include <b3mat.h>
Inheritance diagram for oofem::B3Material:
Collaboration diagram for oofem::B3Material:Public Member Functions | |
| B3Material (int n, Domain *d) | |
| virtual | ~B3Material () |
| virtual void | giveShrinkageStrainVector (FloatArray &answer, MatResponseForm form, GaussPoint *gp, TimeStep *atTime, ValueModeType mode) |
| Computes, for the given integration point, the strain vector induced by stress-independent shrinkage. | |
| virtual const char * | giveClassName () const |
| virtual classType | giveClassID () const |
| Returns classType id of receiver. | |
| virtual IRResultType | initializeFrom (InputRecord *ir) |
| Initializes receiver according to object description stored in input record. | |
| 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. | |
Protected Types | |
| enum | b3ShModeType { B3_NoShrinkage, B3_AverageShrinkage, B3_PointShrinkage } |
Protected Member Functions | |
| virtual int | hasIncrementalShrinkageFormulation () |
| If only incremental shrinkage strain formulation is provided, then total shrinkage strain must be tracked in status in order to be able to compute total value. | |
| virtual void | computeTotalAverageShrinkageStrainVector (FloatArray &answer, MatResponseForm form, GaussPoint *gp, TimeStep *atTime) |
| virtual void | computeShrinkageStrainVector (FloatArray &answer, MatResponseForm form, GaussPoint *gp, TimeStep *atTime, ValueModeType mode) |
| Free shrinkage at material point, requires staggered analysis. | |
| void | predictParametersFrom (double, double, double, double, double, double, double) |
| virtual double | computeCreepFunction (GaussPoint *gp, double atTime, double ofAge) |
| Evaluation of the creep compliance function. | |
| double | inverse_sorption_isotherm (double w) |
| Function calculates relative humidity from water content (inverse relation form sorption isotherm). | |
Protected Attributes | |
| double | t0 |
| Age when drying begins (in days) | |
| double | w |
| double | E28 |
| double | q1 |
| double | q2 |
| double | q3 |
| double | q4 |
| double | q5 |
| enum oofem::B3Material::b3ShModeType | shMode |
Additional parameters for average cross section shrinkage. | |
| double | EpsSinf |
| double | kt |
| double | ks |
| double | vs |
| double | hum |
Additional parameters for free shrinkage at material point. | |
| double | es0 |
| double | r |
| double | rprime |
| double | at |
Additional parameters for absorption isotherm (used to compute relative humidity from water content) | |
| double | w_h |
| Constant water content (obtained from experiments) w_h [Pedersen, 1990]. | |
| double | n |
| Constant-exponent (obtained from experiments) n [Pedersen, 1990]. | |
| double | a |
| Constant (obtained from experiments) A [Pedersen, 1990]. | |
| double | talpha |
| Thermal dilatation coeff. | |
This class implements the B3 model for concrete creep and shrinkage.
enum oofem::B3Material::b3ShModeType [protected] |
| oofem::B3Material::B3Material | ( | int | n, |
| Domain * | d | ||
| ) | [inline] |
Definition at line 68 of file b3mat.h.
References B3_NoShrinkage, and shMode.
| virtual oofem::B3Material::~B3Material | ( | ) | [inline, virtual] |
| double oofem::B3Material::computeCreepFunction | ( | GaussPoint * | gp, |
| double | ofAge, | ||
| double | atTime | ||
| ) | [protected, virtual] |
| void oofem::B3Material::computeShrinkageStrainVector | ( | FloatArray & | answer, |
| MatResponseForm | form, | ||
| GaussPoint * | gp, | ||
| TimeStep * | atTime, | ||
| ValueModeType | mode | ||
| ) | [protected, virtual] |
Free shrinkage at material point, requires staggered analysis.
Definition at line 350 of file b3mat.C.
References _error, _error2, oofem::FloatArray::add(), at, oofem::FloatArray::at(), computeCreepFunction(), oofem::Element::computeGlobalCoordinates(), oofem::FEMComponent::domain, es0, oofem::Field::evaluateAt(), oofem::FullForm, oofem::EngngModel::giveContext(), oofem::GaussPoint::giveCoordinates(), oofem::GaussPoint::giveCrossSection(), oofem::GaussPoint::giveElement(), oofem::Domain::giveEngngModel(), oofem::FieldManager::giveField(), oofem::EngngModelContext::giveFieldManager(), oofem::StructuralMaterial::giveFullCharacteristicVector(), oofem::GaussPoint::giveMaterialMode(), oofem::StructuralMaterial::giveReducedCharacteristicVector(), oofem::RheoChainMaterialStatus::giveShrinkageStrainVector(), oofem::FloatArray::giveSize(), oofem::StructuralMaterial::giveSizeOfReducedStressStrainVector(), oofem::Material::giveStatus(), oofem::StructuralMaterialStatus::giveStressVector(), oofem::TimeStep::giveTargetTime(), inverse_sorption_isotherm(), r, oofem::RheoChainMaterial::relMatAge, oofem::FloatArray::resize(), rprime, oofem::sgn(), t0, oofem::RheoChainMaterial::timeFactor, and oofem::FloatArray::zero().
Referenced by giveShrinkageStrainVector().
| void oofem::B3Material::computeTotalAverageShrinkageStrainVector | ( | FloatArray & | answer, |
| MatResponseForm | form, | ||
| GaussPoint * | gp, | ||
| TimeStep * | atTime | ||
| ) | [protected, virtual] |
Definition at line 295 of file b3mat.C.
References oofem::FloatArray::at(), E28, EpsSinf, oofem::FullForm, oofem::GaussPoint::giveCrossSection(), oofem::GaussPoint::giveMaterialMode(), oofem::StructuralMaterial::giveReducedCharacteristicVector(), oofem::TimeStep::giveTargetTime(), hum, ks, kt, oofem::RheoChainMaterial::relMatAge, oofem::FloatArray::resize(), t0, oofem::RheoChainMaterial::timeFactor, vs, and oofem::FloatArray::zero().
Referenced by giveShrinkageStrainVector().
| virtual classType oofem::B3Material::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::MaxwellChainMaterial.
Definition at line 75 of file b3mat.h.
References oofem::B3MaterialClass.
| virtual const char* oofem::B3Material::giveClassName | ( | ) | const [inline, virtual] |
Reimplemented from oofem::MaxwellChainMaterial.
| void oofem::B3Material::giveShrinkageStrainVector | ( | FloatArray & | answer, |
| MatResponseForm | form, | ||
| GaussPoint * | gp, | ||
| TimeStep * | tStep, | ||
| ValueModeType | mode | ||
| ) | [virtual] |
Computes, for the given integration point, the strain vector induced by stress-independent shrinkage.
| answer | Returned strain vector. |
| form | Material response form. |
| gp | Integration point. |
| tStep | Time step (most models are able to respond only when tStep is current time step). |
| mode | Determines response mode (Total or incremental). |
Reimplemented from oofem::MaxwellChainMaterial.
Definition at line 258 of file b3mat.C.
References _error, B3_AverageShrinkage, B3_NoShrinkage, computeShrinkageStrainVector(), computeTotalAverageShrinkageStrainVector(), oofem::FullForm, oofem::GaussPoint::giveMaterialMode(), oofem::TimeStep::givePreviousStep(), oofem::StructuralMaterial::giveSizeOfReducedStressStrainVector(), oofem::TimeStep::isTheFirstStep(), oofem::FloatArray::resize(), shMode, oofem::FloatArray::subtract(), and oofem::FloatArray::zero().
| void oofem::B3Material::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::RheoChainMaterial.
Definition at line 125 of file b3mat.C.
References oofem::FloatArray::at(), oofem::FloatArray::resize(), talpha, and oofem::FloatArray::zero().
| virtual int oofem::B3Material::hasIncrementalShrinkageFormulation | ( | ) | [inline, protected, virtual] |
If only incremental shrinkage strain formulation is provided, then total shrinkage strain must be tracked in status in order to be able to compute total value.
Reimplemented from oofem::MaxwellChainMaterial.
| IRResultType oofem::B3Material::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::MaxwellChainMaterial.
Definition at line 43 of file b3mat.C.
References a, at, B3_AverageShrinkage, B3_PointShrinkage, E28, EpsSinf, es0, hum, oofem::IFT_B3Material_a, oofem::IFT_B3Material_ac, oofem::IFT_B3Material_alpha1, oofem::IFT_B3Material_alpha2, oofem::IFT_B3Material_at, oofem::IFT_B3Material_cc, oofem::IFT_B3Material_EpsSinf, oofem::IFT_B3Material_es0, oofem::IFT_B3Material_fc, oofem::IFT_B3Material_hum, oofem::IFT_B3Material_ks, oofem::IFT_B3Material_kt, oofem::IFT_B3Material_mode, oofem::IFT_B3Material_ncoeff, oofem::IFT_B3Material_q1, oofem::IFT_B3Material_q2, oofem::IFT_B3Material_q3, oofem::IFT_B3Material_q4, oofem::IFT_B3Material_q5, oofem::IFT_B3Material_r, oofem::IFT_B3Material_rprime, oofem::IFT_B3Material_shmode, oofem::IFT_B3Material_t0, oofem::IFT_B3Material_talpha, oofem::IFT_B3Material_vs, oofem::IFT_B3Material_wc, oofem::IFT_B3Material_wh, IR_GIVE_FIELD, IR_GIVE_OPTIONAL_FIELD, oofem::IRRT_OK, ks, kt, n, predictParametersFrom(), q1, q2, q3, q4, q5, r, rprime, shMode, t0, talpha, vs, w, and w_h.
| double oofem::B3Material::inverse_sorption_isotherm | ( | double | w | ) | [protected] |
Function calculates relative humidity from water content (inverse relation form sorption isotherm).
Relative humidity (phi) is from range 0.2 - 0.98 !!! Sorption isotherm by C. R. Pedersen (1990), Combined heat and moisture transfer in building constructions, PhD-thesis, Technical University of Denmark, Lingby.
| w | Water content (kg/kg). |
Definition at line 474 of file b3mat.C.
References _error3, a, n, and w_h.
Referenced by computeShrinkageStrainVector().
| void oofem::B3Material::predictParametersFrom | ( | double | fc, |
| double | c, | ||
| double | wc, | ||
| double | ac, | ||
| double | t0, | ||
| double | alpha1, | ||
| double | alpha2 | ||
| ) | [protected] |
Definition at line 143 of file b3mat.C.
References B3_AverageShrinkage, EpsSinf, kt, oofem::FEMComponent::number, oofem::OOFEM_LOG_DEBUG(), q1, q2, q3, q4, q5, shMode, and w.
Referenced by initializeFrom().
double oofem::B3Material::a [protected] |
Constant (obtained from experiments) A [Pedersen, 1990].
Definition at line 64 of file b3mat.h.
Referenced by initializeFrom(), and inverse_sorption_isotherm().
double oofem::B3Material::at [protected] |
Definition at line 58 of file b3mat.h.
Referenced by computeShrinkageStrainVector(), and initializeFrom().
double oofem::B3Material::E28 [protected] |
Definition at line 49 of file b3mat.h.
Referenced by computeTotalAverageShrinkageStrainVector(), and initializeFrom().
double oofem::B3Material::EpsSinf [protected] |
Definition at line 54 of file b3mat.h.
Referenced by computeTotalAverageShrinkageStrainVector(), initializeFrom(), and predictParametersFrom().
double oofem::B3Material::es0 [protected] |
Definition at line 58 of file b3mat.h.
Referenced by computeShrinkageStrainVector(), and initializeFrom().
double oofem::B3Material::hum [protected] |
Definition at line 54 of file b3mat.h.
Referenced by computeCreepFunction(), computeTotalAverageShrinkageStrainVector(), and initializeFrom().
double oofem::B3Material::ks [protected] |
Definition at line 54 of file b3mat.h.
Referenced by computeCreepFunction(), computeTotalAverageShrinkageStrainVector(), and initializeFrom().
double oofem::B3Material::kt [protected] |
Definition at line 54 of file b3mat.h.
Referenced by computeCreepFunction(), computeTotalAverageShrinkageStrainVector(), initializeFrom(), and predictParametersFrom().
double oofem::B3Material::n [protected] |
Constant-exponent (obtained from experiments) n [Pedersen, 1990].
Definition at line 63 of file b3mat.h.
Referenced by computeCreepFunction(), initializeFrom(), and inverse_sorption_isotherm().
double oofem::B3Material::q1 [protected] |
Definition at line 50 of file b3mat.h.
Referenced by computeCreepFunction(), initializeFrom(), and predictParametersFrom().
double oofem::B3Material::q2 [protected] |
Definition at line 50 of file b3mat.h.
Referenced by computeCreepFunction(), initializeFrom(), and predictParametersFrom().
double oofem::B3Material::q3 [protected] |
Definition at line 50 of file b3mat.h.
Referenced by computeCreepFunction(), initializeFrom(), and predictParametersFrom().
double oofem::B3Material::q4 [protected] |
Definition at line 50 of file b3mat.h.
Referenced by computeCreepFunction(), initializeFrom(), and predictParametersFrom().
double oofem::B3Material::q5 [protected] |
Definition at line 50 of file b3mat.h.
Referenced by computeCreepFunction(), initializeFrom(), and predictParametersFrom().
double oofem::B3Material::r [protected] |
Definition at line 58 of file b3mat.h.
Referenced by computeCreepFunction(), computeShrinkageStrainVector(), and initializeFrom().
double oofem::B3Material::rprime [protected] |
Definition at line 58 of file b3mat.h.
Referenced by computeShrinkageStrainVector(), and initializeFrom().
enum oofem::B3Material::b3ShModeType oofem::B3Material::shMode [protected] |
Referenced by B3Material(), computeCreepFunction(), giveShrinkageStrainVector(), initializeFrom(), and predictParametersFrom().
double oofem::B3Material::t0 [protected] |
Age when drying begins (in days)
Definition at line 47 of file b3mat.h.
Referenced by computeCreepFunction(), computeShrinkageStrainVector(), computeTotalAverageShrinkageStrainVector(), and initializeFrom().
double oofem::B3Material::talpha [protected] |
Thermal dilatation coeff.
Definition at line 65 of file b3mat.h.
Referenced by giveThermalDilatationVector(), and initializeFrom().
double oofem::B3Material::vs [protected] |
Definition at line 54 of file b3mat.h.
Referenced by computeCreepFunction(), computeTotalAverageShrinkageStrainVector(), and initializeFrom().
double oofem::B3Material::w [protected] |
Definition at line 49 of file b3mat.h.
Referenced by initializeFrom(), and predictParametersFrom().
double oofem::B3Material::w_h [protected] |
Constant water content (obtained from experiments) w_h [Pedersen, 1990].
Definition at line 62 of file b3mat.h.
Referenced by initializeFrom(), and inverse_sorption_isotherm().