|
OOFEM 3.0
|
#include <b3solidmat.h>
Public Member Functions | |
| B3SolidMaterial (int n, Domain *d) | |
| void | giveRealStressVector (FloatArray &answer, GaussPoint *gp, const FloatArray &reducedStrain, TimeStep *tStep) const override |
| void | giveShrinkageStrainVector (FloatArray &answer, GaussPoint *gp, TimeStep *tStep, ValueModeType mode) const override |
| const char * | giveClassName () const override |
| const char * | giveInputRecordName () const override |
| void | initializeFrom (InputRecord &ir) override |
| std::unique_ptr< MaterialStatus > | CreateStatus (GaussPoint *gp) const override |
| double | computeCreepFunction (double t, double t_prime, GaussPoint *gp, TimeStep *tStep) const override |
| Evaluation of the compliance function of the non-aging solidifying constituent. | |
| Public Member Functions inherited from oofem::KelvinChainMaterial | |
| KelvinChainMaterial (int n, Domain *d) | |
| const char * | giveClassName () const override |
| void | initializeFrom (InputRecord &ir) override |
| void | giveShrinkageStrainVector (FloatArray &answer, GaussPoint *gp, TimeStep *tStep, ValueModeType mode) const override |
| void | giveEigenStrainVector (FloatArray &answer, GaussPoint *gp, TimeStep *tStep, ValueModeType mode) const override |
| std::unique_ptr< MaterialStatus > | CreateStatus (GaussPoint *gp) const override |
| void | giveRealStressVector (FloatArray &answer, GaussPoint *gp, const FloatArray &reducedStrain, TimeStep *tStep) const override |
| void | computeHiddenVars (GaussPoint *gp, TimeStep *tStep) const |
| Public Member Functions inherited from oofem::RheoChainMaterial | |
| RheoChainMaterial (int n, Domain *d) | |
| virtual | ~RheoChainMaterial () |
| void | giveRealStressVector (FloatArray &answer, GaussPoint *gp, const FloatArray &reducedStrain, TimeStep *tStep) const override |
| FloatArrayF< 6 > | giveRealStressVector_3d (const FloatArrayF< 6 > &strain, GaussPoint *gp, TimeStep *tStep) const override |
| Default implementation relies on giveRealStressVector for second Piola-Kirchoff stress. | |
| FloatArrayF< 4 > | giveRealStressVector_PlaneStrain (const FloatArrayF< 4 > &strain, GaussPoint *gp, TimeStep *tStep) const override |
| Default implementation relies on giveRealStressVector_3d. | |
| FloatArrayF< 3 > | giveRealStressVector_PlaneStress (const FloatArrayF< 3 > &strain, GaussPoint *gp, TimeStep *tStep) const override |
| Default implementation relies on giveRealStressVector_StressControl. | |
| FloatArrayF< 1 > | giveRealStressVector_1d (const FloatArrayF< 1 > &strain, GaussPoint *gp, TimeStep *tStep) const override |
| Default implementation relies on giveRealStressVector_StressControl. | |
| FloatArrayF< 2 > | giveRealStressVector_2dBeamLayer (const FloatArrayF< 2 > &strain, GaussPoint *gp, TimeStep *tStep) const override |
| Default implementation relies on giveRealStressVector_StressControl. | |
| FloatArrayF< 5 > | giveRealStressVector_PlateLayer (const FloatArrayF< 5 > &strain, GaussPoint *gp, TimeStep *tStep) const override |
| Default implementation relies on giveRealStressVector_StressControl. | |
| FloatArrayF< 6 > | giveThermalDilatationVector (GaussPoint *gp, TimeStep *tStep) const override |
| bool | hasMaterialModeCapability (MaterialMode mode) const override |
| bool | hasCastingTimeSupport () const override |
| const char * | giveClassName () const override |
| void | initializeFrom (InputRecord &ir) override |
| int | giveIPValue (FloatArray &answer, GaussPoint *gp, InternalStateType type, TimeStep *tStep) override |
| void | saveIPContext (DataStream &stream, ContextMode mode, GaussPoint *gp) override |
| void | restoreIPContext (DataStream &stream, ContextMode mode, GaussPoint *gp) override |
| FloatMatrixF< 6, 6 > | give3dMaterialStiffnessMatrix (MatResponseMode mode, GaussPoint *gp, TimeStep *tStep) const override |
| FloatMatrixF< 3, 3 > | givePlaneStressStiffMtrx (MatResponseMode mmode, GaussPoint *gp, TimeStep *tStep) const override |
| FloatMatrixF< 4, 4 > | givePlaneStrainStiffMtrx (MatResponseMode mmode, GaussPoint *gp, TimeStep *tStep) const override |
| FloatMatrixF< 1, 1 > | give1dStressStiffMtrx (MatResponseMode mmode, GaussPoint *gp, TimeStep *tStep) const override |
| FloatArray | computeStressIndependentStrainVector (GaussPoint *gp, TimeStep *tStep, ValueModeType mode) const override |
| std::unique_ptr< MaterialStatus > | CreateStatus (GaussPoint *gp) const override |
| double | giveAlphaOne () const |
| double | giveAlphaTwo () const |
| double | givePoissonsRatio () const |
| Returns Poisson's ratio. | |
| bool | isActivated (TimeStep *tStep) const override |
| Extended meaning: returns true if the material is cast (target time > casting time) or the precasing time mat is defined. | |
| virtual double | giveEquivalentTime (GaussPoint *gp, TimeStep *tStep) const |
| By default returns equivalent time in the middle of the time step. | |
| Public Member Functions inherited from oofem::StructuralMaterial | |
| StructuralMaterial (int n, Domain *d) | |
| bool | hasMaterialModeCapability (MaterialMode mode) const override |
| const char * | giveClassName () const override |
| void | initializeFrom (InputRecord &ir) override |
| void | giveInputRecord (DynamicInputRecord &input) override |
| void | giveCharacteristicMatrix (FloatMatrix &answer, MatResponseMode type, GaussPoint *gp, TimeStep *tStep) const override |
| Returns characteristic matrix of the receiver. | |
| void | giveCharacteristicVector (FloatArray &answer, FloatArray &flux, MatResponseMode type, GaussPoint *gp, TimeStep *tStep) const override |
| Returns characteristic vector of the receiver. | |
| virtual void | giveStiffnessMatrix (FloatMatrix &answer, MatResponseMode mode, GaussPoint *gp, TimeStep *tStep) const |
| virtual FloatArray | giveRealStressVector_StressControl (const FloatArray &reducedE, const IntArray &strainControl, GaussPoint *gp, TimeStep *tStep) const |
| Iteratively calls giveRealStressVector_3d to find the stress controlled equal to zero· | |
| virtual FloatArray | giveRealStressVector_ShellStressControl (const FloatArray &reducedE, const IntArray &strainControl, GaussPoint *gp, TimeStep *tStep) const |
| virtual FloatArrayF< 2 > | giveRealStressVector_Warping (const FloatArrayF< 2 > &reducedE, GaussPoint *gp, TimeStep *tStep) const |
| Default implementation relies on giveRealStressVector_StressControl. | |
| virtual FloatArrayF< 3 > | giveRealStressVector_Fiber (const FloatArrayF< 3 > &reducedE, GaussPoint *gp, TimeStep *tStep) const |
| Default implementation relies on giveRealStressVector_StressControl. | |
| virtual FloatArrayF< 3 > | giveRealStressVector_2dPlateSubSoil (const FloatArrayF< 3 > &reducedE, GaussPoint *gp, TimeStep *tStep) const |
| Default implementation is not provided. | |
| virtual FloatArrayF< 6 > | giveRealStressVector_3dBeamSubSoil (const FloatArrayF< 6 > &reducedE, GaussPoint *gp, TimeStep *tStep) const |
| virtual FloatArrayF< 9 > | giveFirstPKStressVector_3d (const FloatArrayF< 9 > &vF, GaussPoint *gp, TimeStep *tStep) const |
| Default implementation relies on giveRealStressVector for second Piola-Kirchoff stress. | |
| virtual FloatArrayF< 5 > | giveFirstPKStressVector_PlaneStrain (const FloatArrayF< 5 > &vF, GaussPoint *gp, TimeStep *tStep) const |
| Default implementation relies on giveFirstPKStressVector_3d. | |
| virtual FloatArray | giveFirstPKStressVector_StressControl (const FloatArray &reducedvF, const IntArray &FControl, GaussPoint *gp, TimeStep *tStep) const |
| Iteratively calls giveRealStressVector_3d to find the stress controlled equal to zero· | |
| virtual FloatArrayF< 4 > | giveFirstPKStressVector_PlaneStress (const FloatArrayF< 4 > &vF, GaussPoint *gp, TimeStep *tStep) const |
| Default implementation relies on giveFirstPKStressVector_StressControl. | |
| virtual FloatArrayF< 1 > | giveFirstPKStressVector_1d (const FloatArrayF< 1 > &vF, GaussPoint *gp, TimeStep *tStep) const |
| Default implementation relies on giveFirstPKStressVector_StressControl. | |
| virtual void | giveCauchyStressVector_3d (FloatArray &answer, GaussPoint *gp, const FloatArray &reducedF, TimeStep *tStep) |
| virtual void | giveCauchyStressVector_PlaneStrain (FloatArray &answer, GaussPoint *gp, const FloatArray &reducedF, TimeStep *tStep) |
| virtual void | giveCauchyStressVector_PlaneStress (FloatArray &answer, GaussPoint *gp, const FloatArray &reducedF, TimeStep *tStep) |
| virtual void | giveCauchyStressVector_1d (FloatArray &answer, GaussPoint *gp, const FloatArray &reducedF, TimeStep *tStep) |
| virtual void | giveEshelbyStressVector_PlaneStrain (FloatArray &answer, GaussPoint *gp, const FloatArray &reducedF, TimeStep *tStep) |
| double | giveReferenceTemperature () |
| FloatArrayF< 6 > | computeStressIndependentStrainVector_3d (GaussPoint *gp, TimeStep *tStep, ValueModeType mode) const |
| virtual void | giveStiffnessMatrix_dPdF (FloatMatrix &answer, MatResponseMode mode, GaussPoint *gp, TimeStep *tStep) |
| virtual FloatMatrixF< 9, 9 > | give3dMaterialStiffnessMatrix_dPdF (MatResponseMode mode, GaussPoint *gp, TimeStep *tStep) const |
| virtual void | give3dMaterialStiffnessMatrix_dCde (FloatMatrix &answer, MatResponseMode mode, GaussPoint *gp, TimeStep *tStep) |
| void | giveStressDependentPartOfStrainVector (FloatArray &answer, GaussPoint *gp, const FloatArray &reducedStrainVector, TimeStep *tStep, ValueModeType mode) const |
| int | setIPValue (const FloatArray &value, GaussPoint *gp, InternalStateType type) override |
| int | giveIPValue (FloatArray &answer, GaussPoint *gp, InternalStateType type, TimeStep *tStep) override |
| virtual FloatMatrixF< 4, 4 > | givePlaneStressStiffnessMatrix_dPdF (MatResponseMode mmode, GaussPoint *gp, TimeStep *tStep) const |
| virtual void | givePlaneStressStiffMtrx_dCde (FloatMatrix &answer, MatResponseMode mmode, GaussPoint *gp, TimeStep *tStep) |
| virtual FloatMatrixF< 5, 5 > | givePlaneStrainStiffnessMatrix_dPdF (MatResponseMode mmode, GaussPoint *gp, TimeStep *tStep) const |
| virtual void | givePlaneStrainStiffMtrx_dCde (FloatMatrix &answer, MatResponseMode mmode, GaussPoint *gp, TimeStep *tStep) |
| virtual FloatMatrixF< 1, 1 > | give1dStressStiffnessMatrix_dPdF (MatResponseMode mmode, GaussPoint *gp, TimeStep *tStep) const |
| virtual void | give1dStressStiffMtrx_dCde (FloatMatrix &answer, MatResponseMode mmode, GaussPoint *gp, TimeStep *tStep) |
| virtual FloatMatrixF< 2, 2 > | give2dBeamLayerStiffMtrx (MatResponseMode mmode, GaussPoint *gp, TimeStep *tStep) const |
| virtual FloatMatrixF< 5, 5 > | givePlateLayerStiffMtrx (MatResponseMode mmode, GaussPoint *gp, TimeStep *tStep) const |
| virtual FloatMatrixF< 3, 3 > | giveFiberStiffMtrx (MatResponseMode mmode, GaussPoint *gp, TimeStep *tStep) const |
| virtual FloatMatrixF< 3, 3 > | give2dPlateSubSoilStiffMtrx (MatResponseMode mmode, GaussPoint *gp, TimeStep *tStep) const |
| virtual FloatMatrixF< 6, 6 > | give3dBeamSubSoilStiffMtrx (MatResponseMode mmode, GaussPoint *gp, TimeStep *tStep) const |
| Public Member Functions inherited from oofem::Material | |
| Material (int n, Domain *d) | |
| virtual | ~Material ()=default |
| Destructor. | |
| virtual bool | isCharacteristicMtrxSymmetric (MatResponseMode rMode) const |
| virtual double | giveCharacteristicValue (MatResponseMode type, GaussPoint *gp, TimeStep *tStep) const |
| Returns characteristic value of the receiver. | |
| virtual double | give (int aProperty, GaussPoint *gp) const |
| virtual bool | hasProperty (int aProperty, GaussPoint *gp) const |
| virtual void | modifyProperty (int aProperty, double value, GaussPoint *gp) |
| double | giveCastingTime () const |
| void | printYourself () override |
| Prints receiver state on stdout. Useful for debugging. | |
| int | checkConsistency () override |
| virtual void | restoreConsistency (GaussPoint *gp) |
| virtual int | initMaterial (Element *element) |
| virtual MaterialStatus * | giveStatus (GaussPoint *gp) const |
| virtual int | packUnknowns (DataStream &buff, TimeStep *tStep, GaussPoint *ip) |
| virtual int | unpackAndUpdateUnknowns (DataStream &buff, TimeStep *tStep, GaussPoint *ip) |
| virtual int | estimatePackSize (DataStream &buff, GaussPoint *ip) |
| virtual double | predictRelativeComputationalCost (GaussPoint *gp) |
| virtual double | predictRelativeRedistributionCost (GaussPoint *gp) |
| virtual void | initTempStatus (GaussPoint *gp) const |
| void | saveContext (DataStream &stream, ContextMode mode) override |
| void | restoreContext (DataStream &stream, ContextMode mode) override |
| Public Member Functions inherited from oofem::FEMComponent | |
| FEMComponent (int n, Domain *d) | |
| virtual | ~FEMComponent ()=default |
| Virtual destructor. | |
| Domain * | giveDomain () const |
| virtual void | setDomain (Domain *d) |
| int | giveNumber () const |
| void | setNumber (int num) |
| virtual void | updateLocalNumbering (EntityRenumberingFunctor &f) |
| virtual void | initializeFrom (InputRecord &ir, int priority) |
| virtual void | initializeFinish () |
| virtual void | postInitialize () |
| Performs post initialization steps. Called after all components are created and initialized. | |
| virtual void | printOutputAt (FILE *file, TimeStep *tStep) |
| virtual Interface * | giveInterface (InterfaceType t) |
| std::string | errorInfo (const char *func) const |
| Returns string for prepending output (used by error reporting macros). | |
Protected Types | |
| enum | b3ShModeType { B3_NoShrinkage , B3_AverageShrinkage , B3_PointShrinkage } |
Protected Member Functions | |
| bool | hasIncrementalShrinkageFormulation () const override |
| void | computeTotalAverageShrinkageStrainVector (FloatArray &answer, GaussPoint *gp, TimeStep *tStep) const |
| void | computePointShrinkageStrainVector (FloatArray &answer, GaussPoint *gp, TimeStep *tStep) const |
| Evaluation of the shrinkageStrainVector. Shrinkage is fully dependent on humidity rate in given GP. | |
| void | predictParametersFrom (double, double, double, double, double, double, double) |
| double | computeSolidifiedVolume (TimeStep *tStep) const |
| Evaluation of the relative volume of the solidified material. | |
| double | computeFlowTermViscosity (GaussPoint *gp, TimeStep *tStep) const |
| Evaluation of the flow term viscosity. | |
| double | inverse_sorption_isotherm (double w) const |
| FloatArray | computeCharCoefficients (double tPrime, GaussPoint *gp, TimeStep *tStep) const override |
| Evaluation of characteristic moduli of the non-aging Kelvin chain. | |
| void | updateEparModuli (double tPrime, GaussPoint *gp, TimeStep *tStep) const override |
| Update of partial moduli of individual chain units. | |
| void | computeCharTimes () override |
| Evaluation of characteristic times. | |
| double | giveEModulus (GaussPoint *gp, TimeStep *tStep) const override |
| Evaluation of the incremental modulus. | |
| void | giveEigenStrainVector (FloatArray &answer, GaussPoint *gp, TimeStep *tStep, ValueModeType mode) const override |
| double | computeMicroPrestress (GaussPoint *gp, TimeStep *tStep, int option) const |
| double | giveInitMicroPrestress () const |
| Computes initial value of the MicroPrestress. | |
| double | giveHumidity (GaussPoint *gp, TimeStep *tStep) const |
| Computes relative humidity at given time step and GP. | |
| double | giveHumidityIncrement (GaussPoint *gp, TimeStep *tStep) const |
| Computes relative humidity increment at given time step and GP. | |
| Protected Member Functions inherited from oofem::KelvinChainMaterial | |
| bool | hasIncrementalShrinkageFormulation () const override |
| FloatArray | computeCharCoefficients (double tPrime, GaussPoint *gp, TimeStep *tStep) const override |
| Evaluation of the moduli of individual units. | |
| double | giveEModulus (GaussPoint *gp, TimeStep *tStep) const override |
| Evaluation of the incremental modulus. | |
| Protected Member Functions inherited from oofem::RheoChainMaterial | |
| const FloatArray & | giveDiscreteTimes () const |
| void | computeDiscreteRelaxationFunction (FloatArray &answer, const FloatArray &tSteps, double t0, double tr, GaussPoint *gp, TimeStep *tStep) const |
| void | giveUnitComplianceMatrix (FloatMatrix &answer, GaussPoint *gp, TimeStep *tStep) const |
| Evaluation of elastic compliance matrix for unit Young's modulus. | |
| void | giveUnitStiffnessMatrix (FloatMatrix &answer, GaussPoint *gp, TimeStep *tStep) const |
| Evaluation of elastic stiffness matrix for unit Young's modulus. | |
| double | giveEparModulus (int iChain) const |
| Access to partial modulus of a given unit. | |
| double | giveCharTime (int) const |
| Access to the characteristic time of a given unit. | |
| virtual double | giveCharTimeExponent (int i) const |
| Exponent to be used with the char time of a given unit, usually = 1.0. | |
| StructuralMaterial * | giveLinearElasticMaterial () |
| Access to the underlying linear elastic material with unit Young's modulus. | |
| double | giveEndOfTimeOfInterest () |
| Access to the time up to which the response should be accurate. | |
| void | computeTrueStressIndependentStrainVector (FloatArray &answer, GaussPoint *gp, TimeStep *tStep, ValueModeType mode) const |
Protected Attributes | |
| double | t0 = 0. |
| double | w = 0. |
| double | E28 = 0. |
| double | q1 = 0. |
| double | q2 = 0. |
| double | q3 = 0. |
| double | q4 = 0. |
| double | q5 = 0. |
| double | lambda0 = 0. |
| constant equal to one day in time units of analysis (eg. 86400 if the analysis runs in seconds) | |
| enum oofem::B3SolidMaterial::b3ShModeType | shMode = B3_NoShrinkage |
| double | EpsSinf = 0. |
| Additional parameters for average cross section shrinkage. | |
| double | kt = 0. |
| double | ks = 0. |
| double | vs = 0. |
| double | hum = 0. |
| double | es0 = 0. |
| Additional parameters for free shrinkage at material point. | |
| double | r = 0. |
| double | rprime = 0. |
| double | at = 0. |
| double | w_h = 0. |
| Constant water content (obtained from experiments) w_h [Pedersen, 1990]. | |
| double | n = 0. |
| Constant-exponent (obtained from experiments) n [Pedersen, 1990]. | |
| double | a = 0. |
| Constant (obtained from experiments) A [Pedersen, 1990]. | |
| double | EspringVal = 0. |
| elastic modulus of the aging spring (first member of Kelvin chain if retardation spectrum is used) | |
| int | EmoduliMode = 0 |
| int | MicroPrestress = 0 |
| double | c0 = 0. |
| MPS constant c0 [MPa^-1 * day^-1]. | |
| double | c1 = 0. |
| MPS constant c1 (=C1*R*T/M). | |
| double | tS0 = 0. |
| MPS tS0 - necessary for the initial value of microprestress (age when the load is applied). | |
| double | kSh = 0. |
| MPS shrinkage parameter. Either this or inithum and finalhum must be given in input record. | |
| Protected Attributes inherited from oofem::RheoChainMaterial | |
| double | talpha = 0. |
| thermal dilatation coeff. | |
| int | nUnits = 0 |
| Number of (Maxwell or Kelvin) units in the rheologic chain. | |
| double | relMatAge = 0. |
| Physical age of the material at castingTime. | |
| bool | lattice = false |
| double | nu = 0. |
| Poisson's ratio (assumed to be constant, unaffected by creep). | |
| double | alphaOne = 0. |
| Parameters for the lattice model. | |
| double | alphaTwo = 0. |
| double | EparValTime = -1. |
| Time for which the partial moduli of individual units have been evaluated. | |
| double | begOfTimeOfInterest = 0. |
| Time from which the model should give a good approximation. Optional field. Default value is 0.1 [day]. | |
| double | endOfTimeOfInterest = 0. |
| Time (age???) up to which the model should give a good approximation. | |
| StructuralMaterial * | linearElasticMaterial = nullptr |
| Associated linearElasticMaterial, with E = 1. | |
| FloatArray | EparVal |
| Partial moduli of individual units. | |
| FloatArray | charTimes |
| Characteristic times of individual units (relaxation or retardation times). | |
| FloatArray | discreteTimeScale |
| Times at which the errors are evaluated if the least-square method is used. | |
| double | timeFactor = 0. |
| Protected Attributes inherited from oofem::StructuralMaterial | |
| double | referenceTemperature = 0. |
| Reference temperature (temperature, when material has been built into structure). | |
| MatResponseMode | SCStiffMode = TangentStiffness |
| stifness mode used in stress control | |
| double | SCRelTol = 1.e-3 |
| relative tolerance for stress control | |
| double | SCAbsTol = 1.e-12 |
| absolute stress tolerance for stress control | |
| int | SCMaxiter = 100000 |
| maximum iterations for stress-control | |
| Protected Attributes inherited from oofem::Material | |
| Dictionary | propertyDictionary |
| double | castingTime |
| int | preCastingTimeMat |
| Material existing before casting time - optional parameter, zero by default. | |
| Protected Attributes inherited from oofem::FEMComponent | |
| int | number |
| Component number. | |
| Domain * | domain |
| Link to domain object, useful for communicating with other FEM components. | |
Additional Inherited Members | |
| Static Public Member Functions inherited from oofem::StructuralMaterial | |
| static int | giveSymVI (int ind1, int ind2) |
| static int | giveVI (int ind1, int ind2) |
| static FloatMatrixF< 9, 9 > | convert_dSdE_2_dPdF_3D (const FloatMatrixF< 6, 6 > &dSdE, const FloatArrayF< 6 > &S, const FloatArrayF< 9 > &F) |
| static FloatMatrixF< 5, 5 > | convert_dSdE_2_dPdF_PlaneStrain (const FloatMatrixF< 4, 4 > &dSdE, const FloatArrayF< 4 > &S, const FloatArrayF< 5 > &F) |
| static FloatMatrixF< 4, 4 > | convert_dSdE_2_dPdF_PlaneStress (const FloatMatrixF< 3, 3 > &dSdE, const FloatArrayF< 3 > &S, const FloatArrayF< 4 > &F) |
| static FloatMatrixF< 1, 1 > | convert_dSdE_2_dPdF_1D (const FloatMatrixF< 1, 1 > &dSdE, const FloatArrayF< 1 > &S, const FloatArrayF< 1 > &F) |
| static void | computePrincipalValues (FloatArray &answer, const FloatArray &s, stressStrainPrincMode mode) |
| Common functions for convenience. | |
| static FloatArrayF< 3 > | computePrincipalValues (const FloatMatrixF< 3, 3 > &s) |
| static FloatArrayF< 3 > | computePrincipalValues (double I1, double I2, double I3) |
| static void | computePrincipalValDir (FloatArray &answer, FloatMatrix &dir, const FloatArray &s, stressStrainPrincMode mode) |
| static std::pair< FloatArrayF< 3 >, FloatMatrixF< 3, 3 > > | computePrincipalValDir (const FloatMatrixF< 3, 3 > &s) |
| static FloatArrayF< 6 > | computeDeviator (const FloatArrayF< 6 > &s) |
| static std::pair< FloatArrayF< 6 >, double > | computeDeviatoricVolumetricSplit (const FloatArrayF< 6 > &s) |
| static FloatArrayF< 6 > | computeDeviatoricVolumetricSum (const FloatArrayF< 6 > &dev, double mean) |
| static FloatArrayF< 6 > | applyDeviatoricElasticCompliance (const FloatArrayF< 6 > &stress, double EModulus, double nu) |
| static FloatArrayF< 6 > | applyDeviatoricElasticCompliance (const FloatArrayF< 6 > &stress, double GModulus) |
| static FloatArrayF< 6 > | applyDeviatoricElasticStiffness (const FloatArrayF< 6 > &strain, double EModulus, double nu) |
| static FloatArrayF< 6 > | applyDeviatoricElasticStiffness (const FloatArrayF< 6 > &strain, double GModulus) |
| static FloatArrayF< 6 > | applyElasticStiffness (const FloatArrayF< 6 > &strain, double EModulus, double nu) |
| static FloatArrayF< 6 > | applyElasticCompliance (const FloatArrayF< 6 > &stress, double EModulus, double nu) |
| static double | computeStressNorm (const FloatArrayF< 6 > &stress) |
| static double | computeFirstInvariant (const FloatArrayF< 6 > &s) |
| static double | computeSecondStressInvariant (const FloatArrayF< 6 > &s) |
| static double | computeThirdStressInvariant (const FloatArrayF< 6 > &s) |
| static double | computeFirstCoordinate (const FloatArrayF< 6 > &s) |
| static double | computeSecondCoordinate (const FloatArrayF< 6 > &s) |
| static double | computeThirdCoordinate (const FloatArrayF< 6 > &s) |
| static int | giveVoigtVectorMask (IntArray &answer, MaterialMode mmode) |
| static int | giveVoigtSymVectorMask (IntArray &answer, MaterialMode mmode) |
| static void | giveInvertedVoigtVectorMask (IntArray &answer, MaterialMode mmode) |
| static int | giveSizeOfVoigtVector (MaterialMode mmode) |
| static int | giveSizeOfVoigtSymVector (MaterialMode mmode) |
| static void | giveFullVectorForm (FloatArray &answer, const FloatArray &strainVector, MaterialMode matMode) |
| Converts the reduced symmetric Voigt vector (2nd order tensor) to full form. | |
| static void | giveFullVectorFormF (FloatArray &answer, const FloatArray &strainVector, MaterialMode matMode) |
| Converts the reduced deformation gradient Voigt vector (2nd order tensor). | |
| static void | giveFullSymVectorForm (FloatArray &answer, const FloatArray &vec, MaterialMode matMode) |
| Converts the reduced unsymmetric Voigt vector (2nd order tensor) to full form. | |
| static void | giveReducedVectorForm (FloatArray &answer, const FloatArray &vec, MaterialMode matMode) |
| Converts the full symmetric Voigt vector (2nd order tensor) to reduced form. | |
| static void | giveReducedSymVectorForm (FloatArray &answer, const FloatArray &vec, MaterialMode matMode) |
| Converts the full unsymmetric Voigt vector (2nd order tensor) to reduced form. | |
| static void | giveFullSymMatrixForm (FloatMatrix &answer, const FloatMatrix &red, MaterialMode matMode) |
| Converts the full unsymmetric Voigt matrix (4th order tensor) to reduced form. | |
| static void | giveReducedMatrixForm (FloatMatrix &answer, const FloatMatrix &full, MaterialMode matMode) |
| Converts the full symmetric Voigt matrix (4th order tensor) to reduced form. | |
| static void | giveReducedSymMatrixForm (FloatMatrix &answer, const FloatMatrix &full, MaterialMode matMode) |
| Converts the full unsymmetric Voigt matrix (4th order tensor) to reduced form. | |
| static FloatArrayF< 6 > | transformStrainVectorTo (const FloatMatrixF< 3, 3 > &base, const FloatArrayF< 6 > &strain, bool transpose=false) |
| static FloatArrayF< 6 > | transformStressVectorTo (const FloatMatrixF< 3, 3 > &base, const FloatArrayF< 6 > &stress, bool transpose=false) |
| static double | computeVonMisesStress (const FloatArray ¤tStress) |
| static double | computeVonMisesStress_3D (const FloatArrayF< 6 > &stress) |
| static double | computeVonMisesStress_PlaneStress (const FloatArrayF< 3 > &stress) |
| static FloatMatrixF< 6, 6 > | giveStrainVectorTranformationMtrx (const FloatMatrixF< 3, 3 > &base, bool transpose=false) |
| static FloatMatrixF< 3, 3 > | give2DStrainVectorTranformationMtrx (const FloatMatrixF< 2, 2 > &base, bool transpose=false) |
| static FloatMatrixF< 6, 6 > | giveStressVectorTranformationMtrx (const FloatMatrixF< 3, 3 > &base, bool transpose=false) |
| static FloatMatrixF< 3, 3 > | givePlaneStressVectorTranformationMtrx (const FloatMatrixF< 2, 2 > &base, bool transpose=false) |
| static void | sortPrincDirAndValCloseTo (FloatArray &pVal, FloatMatrix &pDir, const FloatMatrix &toPDir) |
| Static Public Attributes inherited from oofem::StructuralMaterial | |
| static std::array< std::array< int, 3 >, 3 > | vIindex |
| Voigt index map. | |
| static std::array< std::array< int, 3 >, 3 > | svIndex |
| Symmetric Voigt index map. | |
| Static Protected Member Functions inherited from oofem::RheoChainMaterial | |
| static FloatArray | generateLogTimeScale (double from, double to, int nsteps) |
This class implements the B3 model for concrete creep and shrinkage based on the solidification theory. The implementation exploits a solidifying Kelvin chain.
Definition at line 85 of file b3solidmat.h.
|
protected |
| Enumerator | |
|---|---|
| B3_NoShrinkage | |
| B3_AverageShrinkage | |
| B3_PointShrinkage | |
Definition at line 94 of file b3solidmat.h.
|
inline |
Definition at line 121 of file b3solidmat.h.
References oofem::KelvinChainMaterial::KelvinChainMaterial(), and n.
|
overrideprotectedvirtual |
Evaluation of characteristic moduli of the non-aging Kelvin chain.
Implements oofem::RheoChainMaterial.
Definition at line 342 of file b3solidmat.C.
References oofem::FloatArray::at(), oofem::RheoChainMaterial::charTimes, EmoduliMode, EspringVal, oofem::RheoChainMaterial::giveCharTime(), lambda0, oofem::RheoChainMaterial::nUnits, and q2.
|
overrideprotectedvirtual |
Evaluation of characteristic times.
Reimplemented from oofem::RheoChainMaterial.
Definition at line 295 of file b3solidmat.C.
References oofem::RheoChainMaterial::begOfTimeOfInterest, oofem::RheoChainMaterial::charTimes, oofem::RheoChainMaterial::endOfTimeOfInterest, lambda0, and oofem::RheoChainMaterial::nUnits.
|
overridevirtual |
Evaluation of the compliance function of the non-aging solidifying constituent.
Implements oofem::RheoChainMaterial.
Definition at line 378 of file b3solidmat.C.
|
protected |
Evaluation of the flow term viscosity.
Definition at line 520 of file b3solidmat.C.
References c0, oofem::Material::castingTime, computeMicroPrestress(), MicroPrestress, OOFEM_ERROR, q4, oofem::RheoChainMaterial::relMatAge, S, and oofem::RheoChainMaterial::timeFactor.
Referenced by giveEigenStrainVector(), and giveEModulus().
|
protected |
Computes microprestress at given time step and GP.
| gp | Gauss point to compute at. |
| tStep | Time step to compute for. |
| option | If 0, microprestress is evaluated in the middle of the time step (used for stiffnesses). If 1, MPS is evaluated at the end of the time step. (Used for updating). |
Definition at line 599 of file b3solidmat.C.
References c0, c1, giveHumidity(), giveHumidityIncrement(), giveInitMicroPrestress(), oofem::B3SolidMaterialStatus::giveMPS(), oofem::Material::giveStatus(), oofem::TimeStep::giveTimeIncrement(), oofem::TimeStep::isTheFirstStep(), OOFEM_ERROR, S, and oofem::RheoChainMaterial::timeFactor.
Referenced by computeFlowTermViscosity(), and giveRealStressVector().
|
protected |
Evaluation of the shrinkageStrainVector. Shrinkage is fully dependent on humidity rate in given GP.
Definition at line 472 of file b3solidmat.C.
References oofem::FloatArray::at(), giveHumidityIncrement(), oofem::GaussPoint::giveMaterialMode(), kSh, oofem::FloatArray::resize(), and oofem::FloatArray::zero().
Referenced by giveShrinkageStrainVector().
|
protected |
Evaluation of the relative volume of the solidified material.
Definition at line 500 of file b3solidmat.C.
References oofem::Material::castingTime, lambda0, q2, q3, oofem::RheoChainMaterial::relMatAge, and oofem::RheoChainMaterial::timeFactor.
Referenced by giveEigenStrainVector(), and giveEModulus().
|
protected |
Definition at line 421 of file b3solidmat.C.
References oofem::FloatArray::at(), oofem::Material::castingTime, E28, EpsSinf, oofem::GaussPoint::giveMaterialMode(), oofem::TimeStep::giveTargetTime(), hum, ks, kt, oofem::RheoChainMaterial::relMatAge, oofem::FloatArray::resize(), t0, oofem::RheoChainMaterial::timeFactor, vs, and oofem::FloatArray::zero().
Referenced by giveShrinkageStrainVector().
|
overridevirtual |
Creates new copy of associated status and inserts it into given integration point.
| gp | Integration point where newly created status will be stored. |
Reimplemented from oofem::Material.
Definition at line 754 of file b3solidmat.C.
References oofem::RheoChainMaterial::nUnits.
|
inlineoverridevirtual |
Implements oofem::FEMComponent.
Definition at line 128 of file b3solidmat.h.
|
overrideprotectedvirtual |
Computes, for the given integration point, the strain vector induced by the stress history (typically creep strain).
| answer | Computed strains. |
| gp | Integration point. |
| tStep | Time step (most models are able to respond only when tStep is the current time step). |
| mode | Determines response mode. |
Reimplemented from oofem::RheoChainMaterial.
Definition at line 537 of file b3solidmat.C.
References oofem::FloatArray::add(), oofem::FloatArray::beProductOf(), computeFlowTermViscosity(), computeSolidifiedVolume(), oofem::FloatMatrix::giveNumberOfRows(), oofem::Material::giveStatus(), oofem::RheoChainMaterial::giveUnitComplianceMatrix(), OOFEM_ERROR, oofem::FloatArray::resize(), oofem::RheoChainMaterial::timeFactor, oofem::FloatArray::times(), and oofem::FloatArray::zero().
|
overrideprotectedvirtual |
Evaluation of the incremental modulus.
Implements oofem::RheoChainMaterial.
Definition at line 243 of file b3solidmat.C.
References oofem::Material::castingTime, computeFlowTermViscosity(), computeSolidifiedVolume(), EmoduliMode, EspringVal, oofem::TimeStep::giveTargetTime(), oofem::TimeStep::giveTimeIncrement(), q1, oofem::RheoChainMaterial::relMatAge, oofem::sum(), oofem::RheoChainMaterial::timeFactor, and updateEparModuli().
|
protected |
Computes relative humidity at given time step and GP.
Definition at line 699 of file b3solidmat.C.
References oofem::FloatArray::at(), oofem::FEMComponent::domain, oofem::FieldManager::giveField(), inverse_sorption_isotherm(), and OOFEM_ERROR.
Referenced by computeMicroPrestress().
|
protected |
Computes relative humidity increment at given time step and GP.
Definition at line 725 of file b3solidmat.C.
References oofem::FloatArray::at(), oofem::FEMComponent::domain, oofem::FieldManager::giveField(), inverse_sorption_isotherm(), and OOFEM_ERROR.
Referenced by computeMicroPrestress(), and computePointShrinkageStrainVector().
|
protected |
Computes initial value of the MicroPrestress.
Definition at line 692 of file b3solidmat.C.
Referenced by computeMicroPrestress().
|
inlineoverridevirtual |
Implements oofem::FEMComponent.
Definition at line 129 of file b3solidmat.h.
References _IFT_B3SolidMaterial_Name.
|
overridevirtual |
Computes the real stress vector for given total strain and integration point. The total strain is defined as strain computed directly from displacement field at given time. The stress independent parts (temperature, eigenstrains) are subtracted in constitutive driver. The service should use previously reached equilibrium history variables. Also it should update temporary history variables in status according to newly reached state. The temporary history variables are moved into equilibrium ones after global structure equilibrium has been reached by iteration process.
| answer | Stress vector in reduced form. For large deformations it is treated as the second Piola-Kirchoff stress. |
| gp | Integration point. |
| reducedStrain | Strain vector in reduced form. For large deformations it is treated as the Green-Lagrange strain. |
| tStep | Current time step (most models are able to respond only when tStep is current time step). |
Reimplemented from oofem::StructuralMaterial.
Definition at line 764 of file b3solidmat.C.
References computeMicroPrestress(), oofem::Material::giveStatus(), MicroPrestress, and oofem::B3SolidMaterialStatus::setMPS().
|
overridevirtual |
Computes, for the given integration point, the strain vector induced by stress-independent shrinkage.
| answer | Returned strain vector. |
| 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::RheoChainMaterial.
Definition at line 391 of file b3solidmat.C.
References B3_AverageShrinkage, B3_NoShrinkage, computePointShrinkageStrainVector(), computeTotalAverageShrinkageStrainVector(), oofem::GaussPoint::giveMaterialMode(), oofem::TimeStep::givePreviousStep(), oofem::TimeStep::isTheFirstStep(), OOFEM_ERROR, oofem::FloatArray::resize(), shMode, oofem::FloatArray::subtract(), and oofem::FloatArray::zero().
|
inlineoverrideprotectedvirtual |
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::RheoChainMaterial.
Definition at line 138 of file b3solidmat.h.
|
overridevirtual |
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. Note that initializeFrom may be called mutiple times.
| ir | Input record to initialize from. |
| priority | Priority of the input record. This is used to determine the order of initialization |
Reimplemented from oofem::FEMComponent.
Definition at line 49 of file b3solidmat.C.
References _IFT_B3Material_a, _IFT_B3Material_ac, _IFT_B3Material_alpha1, _IFT_B3Material_alpha2, _IFT_B3Material_cc, _IFT_B3Material_EpsSinf, _IFT_B3Material_fc, _IFT_B3Material_hum, _IFT_B3Material_ks, _IFT_B3Material_kt, _IFT_B3Material_mode, _IFT_B3Material_ncoeff, _IFT_B3Material_q1, _IFT_B3Material_q2, _IFT_B3Material_q3, _IFT_B3Material_q4, _IFT_B3Material_q5, _IFT_B3Material_shmode, _IFT_B3Material_t0, _IFT_B3Material_vs, _IFT_B3Material_wc, _IFT_B3Material_wh, _IFT_B3SolidMaterial_c0, _IFT_B3SolidMaterial_c1, _IFT_B3SolidMaterial_emodulimode, _IFT_B3SolidMaterial_finalhumidity, _IFT_B3SolidMaterial_initialhumidity, _IFT_B3SolidMaterial_ksh, _IFT_B3SolidMaterial_lambda0, _IFT_B3SolidMaterial_microprestress, a, B3_AverageShrinkage, B3_PointShrinkage, c0, c1, E28, EmoduliMode, EpsSinf, hum, IR_GIVE_FIELD, IR_GIVE_OPTIONAL_FIELD, ks, kSh, kt, lambda0, MicroPrestress, n, predictParametersFrom(), q1, q2, q3, q4, q5, oofem::RheoChainMaterial::relMatAge, shMode, t0, tS0, vs, w, and w_h.
|
protected |
Definition at line 576 of file b3solidmat.C.
Referenced by giveHumidity(), and giveHumidityIncrement().
|
protected |
Definition at line 184 of file b3solidmat.C.
References B3_AverageShrinkage, EpsSinf, kt, oofem::FEMComponent::number, OOFEM_LOG_DEBUG, q1, q2, q3, q4, q5, shMode, t0, and w.
Referenced by initializeFrom().
|
overrideprotectedvirtual |
Update of partial moduli of individual chain units.
Reimplemented from oofem::RheoChainMaterial.
Definition at line 283 of file b3solidmat.C.
References oofem::RheoChainMaterial::EparVal.
Referenced by giveEModulus().
|
protected |
Constant (obtained from experiments) A [Pedersen, 1990].
Definition at line 102 of file b3solidmat.h.
Referenced by initializeFrom(), and inverse_sorption_isotherm().
|
protected |
Definition at line 98 of file b3solidmat.h.
|
protected |
MPS constant c0 [MPa^-1 * day^-1].
Definition at line 114 of file b3solidmat.h.
Referenced by computeFlowTermViscosity(), computeMicroPrestress(), giveInitMicroPrestress(), and initializeFrom().
|
protected |
MPS constant c1 (=C1*R*T/M).
Definition at line 115 of file b3solidmat.h.
Referenced by computeMicroPrestress(), and initializeFrom().
|
protected |
Definition at line 89 of file b3solidmat.h.
Referenced by computeTotalAverageShrinkageStrainVector(), and initializeFrom().
|
protected |
If 0, analysis of retardation spectrum is used for evaluation of Kelvin units moduli (default). If 1, least-squares method is used for evaluation of Kelvin units moduli.
Definition at line 108 of file b3solidmat.h.
Referenced by computeCharCoefficients(), giveEModulus(), and initializeFrom().
|
protected |
Additional parameters for average cross section shrinkage.
Definition at line 96 of file b3solidmat.h.
Referenced by computeTotalAverageShrinkageStrainVector(), initializeFrom(), and predictParametersFrom().
|
protected |
Additional parameters for free shrinkage at material point.
Definition at line 98 of file b3solidmat.h.
|
mutableprotected |
elastic modulus of the aging spring (first member of Kelvin chain if retardation spectrum is used)
Definition at line 103 of file b3solidmat.h.
Referenced by computeCharCoefficients(), and giveEModulus().
|
protected |
Definition at line 96 of file b3solidmat.h.
Referenced by computeTotalAverageShrinkageStrainVector(), and initializeFrom().
|
protected |
Definition at line 96 of file b3solidmat.h.
Referenced by computeTotalAverageShrinkageStrainVector(), and initializeFrom().
|
protected |
MPS shrinkage parameter. Either this or inithum and finalhum must be given in input record.
Definition at line 117 of file b3solidmat.h.
Referenced by computePointShrinkageStrainVector(), and initializeFrom().
|
protected |
Definition at line 96 of file b3solidmat.h.
Referenced by computeTotalAverageShrinkageStrainVector(), initializeFrom(), and predictParametersFrom().
|
protected |
constant equal to one day in time units of analysis (eg. 86400 if the analysis runs in seconds)
Definition at line 92 of file b3solidmat.h.
Referenced by computeCharCoefficients(), computeCharTimes(), computeCreepFunction(), computeSolidifiedVolume(), and initializeFrom().
|
protected |
If 1, computation exploiting Microprestress solidification theory is done. Default value is 0 = without external fields it can be used for basic creep.
Definition at line 113 of file b3solidmat.h.
Referenced by computeFlowTermViscosity(), giveRealStressVector(), and initializeFrom().
|
protected |
Constant-exponent (obtained from experiments) n [Pedersen, 1990].
Definition at line 101 of file b3solidmat.h.
Referenced by B3SolidMaterial(), computeCreepFunction(), initializeFrom(), and inverse_sorption_isotherm().
|
protected |
Definition at line 89 of file b3solidmat.h.
Referenced by giveEModulus(), initializeFrom(), and predictParametersFrom().
|
protected |
Definition at line 89 of file b3solidmat.h.
Referenced by computeCharCoefficients(), computeCreepFunction(), computeSolidifiedVolume(), initializeFrom(), and predictParametersFrom().
|
protected |
Definition at line 89 of file b3solidmat.h.
Referenced by computeSolidifiedVolume(), initializeFrom(), and predictParametersFrom().
|
protected |
Definition at line 89 of file b3solidmat.h.
Referenced by computeFlowTermViscosity(), initializeFrom(), and predictParametersFrom().
|
protected |
Definition at line 89 of file b3solidmat.h.
Referenced by initializeFrom(), and predictParametersFrom().
|
protected |
Definition at line 98 of file b3solidmat.h.
|
protected |
Definition at line 98 of file b3solidmat.h.
|
protected |
Referenced by giveShrinkageStrainVector(), initializeFrom(), and predictParametersFrom().
|
protected |
Definition at line 88 of file b3solidmat.h.
Referenced by computeTotalAverageShrinkageStrainVector(), initializeFrom(), and predictParametersFrom().
|
protected |
MPS tS0 - necessary for the initial value of microprestress (age when the load is applied).
Definition at line 116 of file b3solidmat.h.
Referenced by giveInitMicroPrestress(), and initializeFrom().
|
protected |
Definition at line 96 of file b3solidmat.h.
Referenced by computeTotalAverageShrinkageStrainVector(), and initializeFrom().
|
protected |
Definition at line 89 of file b3solidmat.h.
Referenced by initializeFrom(), inverse_sorption_isotherm(), and predictParametersFrom().
|
protected |
Constant water content (obtained from experiments) w_h [Pedersen, 1990].
Definition at line 100 of file b3solidmat.h.
Referenced by initializeFrom(), and inverse_sorption_isotherm().