|
OOFEM 3.0
|
#include <mps.h>
Public Member Functions | |
| MPSMaterial (int n, Domain *d) | |
| const char * | giveInputRecordName () const override |
| const char * | giveClassName () const override |
| void | initializeFrom (InputRecord &ir) override |
| int | giveIPValue (FloatArray &answer, GaussPoint *gp, InternalStateType type, TimeStep *tStep) override |
| 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 |
| double | computeCreepFunction (double t, double t_prime, GaussPoint *gp, TimeStep *tStep) const override |
| Evaluation of the basic creep compliance function - can be used to compute elastic modulus in derived damage material. | |
| double | giveEquivalentTime (GaussPoint *gp, TimeStep *tStep) const override |
| By default returns equivalent time in the middle of the time step. | |
| std::unique_ptr< MaterialStatus > | CreateStatus (GaussPoint *gp) const override |
| Public Member Functions inherited from oofem::KelvinChainSolidMaterial | |
| KelvinChainSolidMaterial (int n, Domain *d) | |
| 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. | |
| 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 | coupledAnalysisType { Basic , MPS_full , MPS_humidity , MPS_temperature } |
Protected Member Functions | |
| void | predictParametersFrom (double, double, double, double) |
| void | computeCharTimes () override |
| Evaluation of characteristic times. | |
| FloatArray | computeCharCoefficients (double tPrime, GaussPoint *gp, TimeStep *tStep) const override |
| Evaluation of characteristic moduli of the non-aging Kelvin chain. | |
| double | giveEModulus (GaussPoint *gp, TimeStep *tStep) const override |
| Evaluation of the incremental modulus. | |
| double | computeSolidifiedVolume (GaussPoint *gp, TimeStep *tStep) const override |
| Evaluation of the relative volume of the solidified material. | |
| double | computeBetaMu (GaussPoint *gp, TimeStep *tStep, int Mu) const override |
| factors for exponential algorithm | |
| double | computeLambdaMu (GaussPoint *gp, TimeStep *tStep, int Mu) const override |
| double | computeFlowTermViscosity (GaussPoint *gp, TimeStep *tStep) const |
| Evaluation of the flow term viscosity. | |
| double | giveInitViscosity (TimeStep *tStep) const |
| Returns initial value of the flow term viscosity. | |
| void | giveEigenStrainVector (FloatArray &answer, GaussPoint *gp, TimeStep *tStep, ValueModeType mode) const override |
| bool | hasIncrementalShrinkageFormulation () const override |
| void | computePointShrinkageStrainVector (FloatArray &answer, GaussPoint *gp, TimeStep *tStep) const |
| Evaluation of the shrinkageStrainVector - shrinkage is fully dependent on humidity rate in given GP. | |
| void | computeFibAutogenousShrinkageStrainVector (FloatArray &answer, GaussPoint *gp, TimeStep *tStep) const |
| Evaluation of the autogenousShrinkageStrainVector according to fib MC 2010 - autogenous shrinkage is fully dependent on the equivalent age at given GP. | |
| void | computeB4AutogenousShrinkageStrainVector (FloatArray &answer, GaussPoint *gp, TimeStep *tStep) const |
| Evaluation of the autogenousShrinkageStrainVector according to Bazant's B4 model. In the model the evolution depends on temperature adjusted age, here on equivalent age (additional humidity influence). | |
| void | computeAutogenousShrinkageDefinedByTF (FloatArray &answer, GaussPoint *gp, TimeStep *tStep) const |
| Evaluation of the autogenousShrinkageStrainVector given by an auxiliary time function (autoShrinkageTF parameter). The time scale in that time function corresponds to the equivalent material age. | |
| double | giveHumidity (GaussPoint *gp, TimeStep *tStep, int option) const |
| double | giveHumidityNano (GaussPoint *gp, TimeStep *tStep, int option) const |
| double | giveTemperature (GaussPoint *gp, TimeStep *tStep, int option) const |
| double | computePsiR (GaussPoint *gp, TimeStep *tStep, int option) const |
| double | computePsiS (GaussPoint *gp, TimeStep *tStep) const |
| Evaluation of the factor transforming real time to reduced time (effect on the evolution of microprestress). | |
| double | computePsiE (GaussPoint *gp, TimeStep *tStep) const |
| Evaluation of the factor transforming real time to equivalent time (effect on the solidified volume). | |
| double | computeEquivalentTime (GaussPoint *gp, TimeStep *tStep, int option) const |
| 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. | |
| virtual void | updateEparModuli (double tPrime, GaussPoint *gp, TimeStep *tStep) const |
| Update of partial moduli of individual chain units. | |
| 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. |
| age when temperature or humidity starts to change | |
| double | q1 = 0. |
| compliances of the B3 model | |
| double | q2 = 0. |
| double | q3 = 0. |
| double | q4 = 0. |
| double | lambda0 = 0. |
| constant equal to one day in time units of analysis (eg. 86400 if the analysis runs in seconds) | |
| enum oofem::MPSMaterial::coupledAnalysisType | CoupledAnalysis |
| double | EspringVal = 0. |
| double | kSh = 0. |
| additional parameters for sorption isotherm (used to compute relative humidity from water content) | |
| double | muS = 0. |
| fluidity parameter used in viscosity evolution equation | |
| double | k3 = 0. |
| double | kTm = 0. |
| kTm replaces ln(h) on RHS of the differential equation describing evolution of MPS | |
| double | kTc = 0. |
| parameter reducing creep effects of thermal cycling (replaces kTm in such case) | |
| double | khc = 0. |
| parameter reducing creep effects of hygral cycling (0 = complete reduction, 1 = no reduction, default value) | |
| double | roomTemperature = 0. |
| parameter reducing creep effects of thermal cycling | |
| double | QEtoR = 0. |
| activation energies | |
| double | QRtoR = 0. |
| double | QStoR = 0. |
| double | alphaE = 0. |
| parameters that control the effect of humidity on rates of hydration, creep and microprestress relaxation | |
| double | alphaR = 0. |
| double | alphaS = 0. |
| double | p = 0. |
| exponent in the microprestress/viscosity governing equation | |
| double | sh_a = 0. |
| parameters for nonlinear shrinkage function | |
| double | sh_hC = 0. |
| double | sh_n = 0. |
| bool | timeDependent_ksh = false |
| flag activating equivalent-time-dependence of shrinkage coefficient | |
| FloatArray | ksh_h |
| nonlinear shrinkage function - user-defined piecewise-linear function | |
| FloatArray | ksh_fh |
| double | eps_cas0 = 0. |
| parameter for autogenous shrinkage according to fib MC 2010 | |
| double | b4_eps_au_infty = 0. |
| parameters for autogenous shrinkage according to B4 model | |
| double | b4_tau_au = 0. |
| double | b4_alpha = 0. |
| double | b4_r_t = 0. |
| double | stiffnessFactor = 0. |
| scaling factor 1. for Pa, 1.e6 for MPa - only for empirical formulas - q1-q4 and ft and gf | |
| double | temperScaleDifference = 0. |
| 0 for Kelvin, 273.15 for Celsius | |
| int | hydrationTimescaleTF |
| int | autoShrinkageTF |
| double | tau_nano = 0. |
| 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. | |
Friends | |
| class | RankineMPSmat |
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 extended B3 model for concrete creep and shrinkage based on the microprestress-solidification theory. The implementation exploits a solidifying Kelvin chain. Creep is affected by variable temperature and humidity. Comparing to other material models for concrete creep MPS material model is unit independent (except parameters corresponding to concrete strength and composition: fc, c, wc, ac ). In the input record is is necessary to specify time factor equal to 1!!!
|
protected |
|
inline |
Definition at line 308 of file mps.h.
References oofem::KelvinChainSolidMaterial::KelvinChainSolidMaterial().
Referenced by oofem::MPSDamMaterial::MPSDamMaterial().
|
protected |
Evaluation of the autogenousShrinkageStrainVector given by an auxiliary time function (autoShrinkageTF parameter). The time scale in that time function corresponds to the equivalent material age.
Definition at line 1376 of file mps.C.
References oofem::FloatArray::at(), autoShrinkageTF, computeEquivalentTime(), oofem::FEMComponent::domain, oofem::MPSMaterialStatus::giveEquivalentTime(), oofem::GaussPoint::giveMaterialMode(), oofem::TimeStep::givePreviousStep(), oofem::StructuralMaterial::giveReducedSymVectorForm(), oofem::Material::giveStatus(), oofem::TimeStep::giveTimeIncrement(), oofem::Material::isActivated(), oofem::TimeStep::isTheFirstStep(), and oofem::RheoChainMaterial::relMatAge.
Referenced by giveShrinkageStrainVector().
|
protected |
Evaluation of the autogenousShrinkageStrainVector according to Bazant's B4 model. In the model the evolution depends on temperature adjusted age, here on equivalent age (additional humidity influence).
Definition at line 1334 of file mps.C.
References b4_alpha, b4_eps_au_infty, b4_r_t, b4_tau_au, computeEquivalentTime(), oofem::MPSMaterialStatus::giveEquivalentTime(), oofem::GaussPoint::giveMaterialMode(), oofem::TimeStep::givePreviousStep(), oofem::StructuralMaterial::giveReducedSymVectorForm(), oofem::Material::giveStatus(), oofem::TimeStep::giveTimeIncrement(), oofem::Material::isActivated(), oofem::TimeStep::isTheFirstStep(), and oofem::RheoChainMaterial::relMatAge.
Referenced by giveShrinkageStrainVector().
|
overrideprotectedvirtual |
factors for exponential algorithm
Reimplemented from oofem::KelvinChainSolidMaterial.
Definition at line 839 of file mps.C.
References computePsiR(), CoupledAnalysis, oofem::RheoChainMaterial::giveCharTime(), oofem::TimeStep::giveTimeIncrement(), MPS_full, MPS_humidity, and MPS_temperature.
|
overrideprotectedvirtual |
Evaluation of characteristic moduli of the non-aging Kelvin chain.
Implements oofem::RheoChainMaterial.
Definition at line 689 of file mps.C.
References oofem::FloatArray::at(), oofem::RheoChainMaterial::charTimes, EspringVal, oofem::RheoChainMaterial::giveCharTime(), lambda0, oofem::RheoChainMaterial::nUnits, and q2.
|
overrideprotectedvirtual |
Evaluation of characteristic times.
Reimplemented from oofem::RheoChainMaterial.
Definition at line 650 of file mps.C.
References oofem::RheoChainMaterial::begOfTimeOfInterest, oofem::RheoChainMaterial::charTimes, oofem::RheoChainMaterial::endOfTimeOfInterest, oofem::RheoChainMaterial::giveEndOfTimeOfInterest(), lambda0, and oofem::RheoChainMaterial::nUnits.
|
overridevirtual |
Evaluation of the basic creep compliance function - can be used to compute elastic modulus in derived damage material.
Reimplemented from oofem::KelvinChainSolidMaterial.
Definition at line 619 of file mps.C.
References lambda0, q1, q2, q3, and q4.
Referenced by computePointShrinkageStrainVector(), and predictParametersFrom().
|
protected |
Computes equivalent time at given time step and GP. If option == 0, equivalentTime is evaluated in the middle of the time step (to determine solidified ratio). If option == 1, equivalentTime is evaluated at the end of the time step. (for updating).
Definition at line 1705 of file mps.C.
References computePsiE(), CoupledAnalysis, oofem::MPSMaterialStatus::giveEquivalentTime(), oofem::TimeStep::givePreviousStep(), oofem::Material::giveStatus(), oofem::TimeStep::giveTimeIncrement(), oofem::Material::isActivated(), oofem::TimeStep::isTheFirstStep(), MPS_full, MPS_humidity, MPS_temperature, OOFEM_ERROR, and oofem::RheoChainMaterial::relMatAge.
Referenced by computeAutogenousShrinkageDefinedByTF(), computeB4AutogenousShrinkageStrainVector(), computeFibAutogenousShrinkageStrainVector(), computePointShrinkageStrainVector(), computeSolidifiedVolume(), giveEquivalentTime(), giveRealStressVector(), and oofem::MPSDamMaterial::initDamagedFib().
|
protected |
Evaluation of the autogenousShrinkageStrainVector according to fib MC 2010 - autogenous shrinkage is fully dependent on the equivalent age at given GP.
Definition at line 1285 of file mps.C.
References computeEquivalentTime(), eps_cas0, oofem::MPSMaterialStatus::giveEquivalentTime(), oofem::GaussPoint::giveMaterialMode(), oofem::TimeStep::givePreviousStep(), oofem::StructuralMaterial::giveReducedSymVectorForm(), oofem::Material::giveStatus(), oofem::TimeStep::giveTimeIncrement(), oofem::Material::isActivated(), oofem::TimeStep::isTheFirstStep(), lambda0, and oofem::RheoChainMaterial::relMatAge.
Referenced by giveShrinkageStrainVector().
|
protected |
Evaluation of the flow term viscosity.
Definition at line 877 of file mps.C.
References Basic, oofem::Material::castingTime, computePsiS(), CoupledAnalysis, oofem::MPSMaterialStatus::giveFlowTermViscosity(), oofem::MPSMaterialStatus::giveFlowTermViscosityTemp(), giveHumidity(), giveHumidityNano(), oofem::MPSMaterialStatus::giveHumMin(), giveInitViscosity(), oofem::TimeStep::givePreviousStep(), oofem::Material::giveStatus(), oofem::TimeStep::giveTargetTime(), giveTemperature(), oofem::TimeStep::giveTimeIncrement(), oofem::MPSMaterialStatus::giveTmax(), oofem::Material::isActivated(), oofem::TimeStep::isTheFirstStep(), k3, khc, kTc, kTm, MPS_full, MPS_humidity, MPS_temperature, muS, OOFEM_ERROR, p, q4, oofem::RheoChainMaterial::relMatAge, roomTemperature, oofem::MPSMaterialStatus::setFlowTermViscosityTemp(), oofem::MPSMaterialStatus::setHumMin(), oofem::MPSMaterialStatus::setTmax(), and tau_nano.
Referenced by giveEigenStrainVector(), and giveEModulus().
|
overrideprotectedvirtual |
Reimplemented from oofem::KelvinChainSolidMaterial.
Definition at line 857 of file mps.C.
References computePsiR(), CoupledAnalysis, oofem::RheoChainMaterial::giveCharTime(), oofem::TimeStep::giveTimeIncrement(), MPS_full, MPS_humidity, and MPS_temperature.
|
protected |
Evaluation of the shrinkageStrainVector - shrinkage is fully dependent on humidity rate in given GP.
Definition at line 1232 of file mps.C.
References oofem::FloatArray::at(), computeCreepFunction(), computeEquivalentTime(), giveHumidity(), oofem::GaussPoint::giveMaterialMode(), oofem::StructuralMaterial::giveReducedSymVectorForm(), kSh, ksh_fh, ksh_h, lambda0, sh_a, sh_hC, sh_n, and timeDependent_ksh.
Referenced by giveShrinkageStrainVector().
|
protected |
Evaluation of the factor transforming real time to equivalent time (effect on the solidified volume).
Definition at line 1677 of file mps.C.
References alphaE, CoupledAnalysis, oofem::FEMComponent::domain, giveHumidity(), oofem::TimeStep::giveIntrinsicTime(), giveTemperature(), hydrationTimescaleTF, MPS_full, MPS_humidity, MPS_temperature, OOFEM_ERROR, QEtoR, and roomTemperature.
Referenced by computeEquivalentTime().
|
protected |
Evaluation of the factor transforming real time to reduced time (effect on the flow term) option = 0 ... beginning of the time step option = 1 ... end of the time step option = 2 ... average value
Definition at line 1611 of file mps.C.
References alphaR, CoupledAnalysis, giveHumidity(), giveHumidityNano(), giveTemperature(), MPS_full, MPS_humidity, MPS_temperature, OOFEM_ERROR, QRtoR, roomTemperature, and tau_nano.
Referenced by computeBetaMu(), computeLambdaMu(), giveEigenStrainVector(), and giveEModulus().
|
protected |
Evaluation of the factor transforming real time to reduced time (effect on the evolution of microprestress).
Definition at line 1643 of file mps.C.
References alphaS, CoupledAnalysis, giveHumidity(), giveHumidityNano(), giveTemperature(), MPS_full, MPS_humidity, MPS_temperature, OOFEM_ERROR, QStoR, roomTemperature, and tau_nano.
Referenced by computeFlowTermViscosity().
|
overrideprotectedvirtual |
Evaluation of the relative volume of the solidified material.
Implements oofem::KelvinChainSolidMaterial.
Definition at line 819 of file mps.C.
References Basic, oofem::Material::castingTime, computeEquivalentTime(), CoupledAnalysis, lambda0, q2, q3, and oofem::RheoChainMaterial::relMatAge.
Referenced by giveEModulus().
|
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::KelvinChainSolidMaterial.
Definition at line 573 of file mps.C.
References oofem::RheoChainMaterial::nUnits.
|
inlineoverridevirtual |
Reimplemented from oofem::KelvinChainSolidMaterial.
|
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::KelvinChainSolidMaterial.
Definition at line 1149 of file mps.C.
References oofem::FloatArray::add(), Basic, oofem::FloatArray::beProductOf(), computeFlowTermViscosity(), computePsiR(), CoupledAnalysis, oofem::MPSMaterialStatus::giveCreepStrain(), oofem::KelvinChainSolidMaterial::giveEigenStrainVector(), giveEigenStrainVector(), oofem::MPSMaterialStatus::giveFlowTermViscosity(), giveInitViscosity(), oofem::Material::giveStatus(), oofem::RheoChainMaterial::giveUnitComplianceMatrix(), oofem::RheoChainMaterialStatus::giveViscoelasticStressVector(), oofem::Material::isActivated(), MPS_full, MPS_humidity, MPS_temperature, OOFEM_ERROR, oofem::MPSMaterialStatus::setCreepStrainIncrement(), and oofem::FloatArray::times().
Referenced by giveEigenStrainVector().
|
overrideprotectedvirtual |
Evaluation of the incremental modulus.
Reimplemented from oofem::KelvinChainSolidMaterial.
Definition at line 714 of file mps.C.
References Basic, oofem::Material::castingTime, computeFlowTermViscosity(), computePsiR(), computeSolidifiedVolume(), CoupledAnalysis, oofem::RheoChainMaterial::EparVal, EspringVal, oofem::KelvinChainSolidMaterial::giveEModulus(), oofem::MPSMaterialStatus::giveFlowTermViscosity(), giveInitViscosity(), oofem::TimeStep::givePreviousStep(), oofem::Material::giveStatus(), oofem::MPSMaterialStatus::giveStoredEmodulus(), oofem::MPSMaterialStatus::giveStoredEmodulusFlag(), oofem::TimeStep::giveTargetTime(), oofem::TimeStep::giveTimeIncrement(), oofem::Material::isActivated(), oofem::TimeStep::isTheFirstStep(), MPS_full, MPS_humidity, MPS_temperature, OOFEM_ERROR, q1, oofem::RheoChainMaterial::relMatAge, oofem::MPSMaterialStatus::setEmodulusFlag(), oofem::MPSMaterialStatus::storeEmodulus(), oofem::sum(), and oofem::RheoChainMaterial::updateEparModuli().
Referenced by giveIPValue().
|
overridevirtual |
By default returns equivalent time in the middle of the time step.
Reimplemented from oofem::RheoChainMaterial.
Definition at line 643 of file mps.C.
References computeEquivalentTime().
|
protected |
Gives value of humidity at given GP and timestep option = 0 ... beginning of the time step option = 1 ... end of the time step option = 2 ... average values option = 3 ... incremental values
Definition at line 1438 of file mps.C.
References oofem::FloatArray::at(), oofem::Element::computeGlobalCoordinates(), oofem::FEMComponent::domain, oofem::GaussPoint::giveElement(), oofem::FieldManager::giveField(), oofem::MPSMaterialStatus::giveHum(), oofem::MPSMaterialStatus::giveHumIncrement(), oofem::GaussPoint::giveNaturalCoordinates(), oofem::Material::giveStatus(), OOFEM_ERROR, oofem::MPSMaterialStatus::setHum(), and oofem::MPSMaterialStatus::setHumIncrement().
Referenced by computeFlowTermViscosity(), computePointShrinkageStrainVector(), computePsiE(), computePsiR(), computePsiS(), and giveHumidityNano().
|
protected |
Gives value of humidity in the nanopores at given GP and timestep for default value tau_nano = 0 hum_nano coincides with conventional pore humidity option = 0 ... beginning of the time step option = 1 ... end of the time step option = 2 ... average values option = 3 ... incremental values
Definition at line 1500 of file mps.C.
References giveHumidity(), oofem::MPSMaterialStatus::giveHumNano(), oofem::TimeStep::givePreviousStep(), oofem::Material::giveStatus(), oofem::TimeStep::giveTimeIncrement(), oofem::Material::isActivated(), oofem::TimeStep::isTheFirstStep(), OOFEM_ERROR, oofem::MPSMaterialStatus::setHumNanoTemp(), and tau_nano.
Referenced by computeFlowTermViscosity(), computePsiR(), and computePsiS().
|
protected |
Returns initial value of the flow term viscosity.
Definition at line 1138 of file mps.C.
References oofem::TimeStep::giveTimeIncrement(), OOFEM_ERROR, q4, and t0.
Referenced by computeFlowTermViscosity(), giveEigenStrainVector(), and giveEModulus().
|
inlineoverridevirtual |
Implements oofem::FEMComponent.
Definition at line 310 of file mps.h.
References _IFT_MPSMaterial_Name.
|
overridevirtual |
Returns the integration point corresponding value in Reduced form.
| answer | Contain corresponding ip value, zero sized if not available. |
| gp | Integration point to which the value refers. |
| type | Determines the type of internal variable. |
| tStep | Determines the time step. |
Reimplemented from oofem::Material.
Definition at line 1741 of file mps.C.
References oofem::FloatArray::at(), oofem::MPSMaterialStatus::giveAutogenousShrinkageStrain(), oofem::MPSMaterialStatus::giveCreepStrain(), oofem::MPSMaterialStatus::giveDryingShrinkageStrain(), giveEModulus(), oofem::MPSMaterialStatus::giveEquivalentTime(), oofem::StructuralMaterial::giveFullSymVectorForm(), oofem::RheoChainMaterial::giveIPValue(), oofem::GaussPoint::giveMaterialMode(), oofem::Material::giveStatus(), oofem::MPSMaterialStatus::giveStoredEmodulus(), oofem::FloatArray::resize(), and oofem::FloatArray::zero().
|
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::KelvinChainSolidMaterial.
Definition at line 467 of file mps.C.
References computeEquivalentTime(), oofem::KelvinChainSolidMaterial::giveRealStressVector(), oofem::Material::giveStatus(), oofem::Material::isActivated(), and oofem::MPSMaterialStatus::setEquivalentTimeTemp().
|
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::KelvinChainSolidMaterial.
Definition at line 482 of file mps.C.
References oofem::FloatArray::add(), oofem::FloatArray::at(), autoShrinkageTF, b4_eps_au_infty, Basic, computeAutogenousShrinkageDefinedByTF(), computeB4AutogenousShrinkageStrainVector(), computeFibAutogenousShrinkageStrainVector(), computePointShrinkageStrainVector(), CoupledAnalysis, eps_cas0, oofem::MPSMaterialStatus::giveAutogenousShrinkageStrain(), oofem::MPSMaterialStatus::giveDryingShrinkageStrain(), oofem::GaussPoint::giveMaterialMode(), oofem::StructuralMaterial::giveReducedSymVectorForm(), oofem::FloatArray::giveSize(), oofem::StructuralMaterial::giveSizeOfVoigtSymVector(), oofem::Material::giveStatus(), oofem::Material::isActivated(), MPS_temperature, OOFEM_ERROR, oofem::FloatArray::resize(), oofem::MPSMaterialStatus::setTempAutogenousShrinkageStrain(), oofem::MPSMaterialStatus::setTempDryingShrinkageStrain(), and oofem::FloatArray::zero().
|
protected |
Gives value of temperature at given GP and timestep option = 0 ... beginning of the time step option = 1 ... end of the time step option = 2 ... average values option = 3 ... incremental values
Definition at line 1553 of file mps.C.
References oofem::FloatArray::at(), oofem::Element::computeGlobalCoordinates(), oofem::FEMComponent::domain, oofem::GaussPoint::giveElement(), oofem::FieldManager::giveField(), oofem::GaussPoint::giveNaturalCoordinates(), oofem::Material::giveStatus(), oofem::MPSMaterialStatus::giveT(), oofem::MPSMaterialStatus::giveTIncrement(), OOFEM_ERROR, oofem::MPSMaterialStatus::setT(), oofem::MPSMaterialStatus::setTIncrement(), and temperScaleDifference.
Referenced by computeFlowTermViscosity(), computePsiE(), computePsiR(), and computePsiS().
|
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::KelvinChainSolidMaterial.
|
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 |
if sortion parameters are provided then it is assumed that the transport analysis uses moisture content/ratio; if not then it exports relative humidity
flag - if true, external fields and reference temperature are in Celsius
auxiliary parameters for autogenous shrinkage according to B4 model
Reimplemented from oofem::KelvinChainSolidMaterial.
Definition at line 187 of file mps.C.
References _IFT_MPSMaterial_ac, _IFT_MPSMaterial_acr, _IFT_MPSMaterial_alpha_as, _IFT_MPSMaterial_alphae, _IFT_MPSMaterial_alphar, _IFT_MPSMaterial_alphas, _IFT_MPSMaterial_autoShrinkageTF, _IFT_MPSMaterial_B4_alpha, _IFT_MPSMaterial_B4_cem_type, _IFT_MPSMaterial_B4_eps_au_infty, _IFT_MPSMaterial_B4_r_t, _IFT_MPSMaterial_B4_tau_au, _IFT_MPSMaterial_cc, _IFT_MPSMaterial_coupledanalysistype, _IFT_MPSMaterial_eps_cas0, _IFT_MPSMaterial_factor_ksh_fh, _IFT_MPSMaterial_factor_ksh_h, _IFT_MPSMaterial_fc, _IFT_MPSMaterial_hydrationTimescaleTF, _IFT_MPSMaterial_k3, _IFT_MPSMaterial_khc, _IFT_MPSMaterial_ksh, _IFT_MPSMaterial_ktc, _IFT_MPSMaterial_ktm, _IFT_MPSMaterial_lambda0, _IFT_MPSMaterial_mode, _IFT_MPSMaterial_mus, _IFT_MPSMaterial_p, _IFT_MPSMaterial_p_tilde, _IFT_MPSMaterial_q1, _IFT_MPSMaterial_q2, _IFT_MPSMaterial_q3, _IFT_MPSMaterial_q4, _IFT_MPSMaterial_qetor, _IFT_MPSMaterial_qrtor, _IFT_MPSMaterial_qstor, _IFT_MPSMaterial_sh_a, _IFT_MPSMaterial_sh_hC, _IFT_MPSMaterial_sh_n, _IFT_MPSMaterial_stiffnessfactor, _IFT_MPSMaterial_tau_nano, _IFT_MPSMaterial_temperInCelsius, _IFT_MPSMaterial_timedependent_ksh, _IFT_MPSMaterial_wc, _IFT_MPSMaterial_wcr, _IFT_RheoChainMaterial_timefactor, alphaE, alphaR, alphaS, autoShrinkageTF, b4_alpha, b4_eps_au_infty, b4_r_t, b4_tau_au, CoupledAnalysis, eps_cas0, oofem::InputRecord::hasField(), hydrationTimescaleTF, oofem::KelvinChainSolidMaterial::initializeFrom(), IR_GIVE_FIELD, IR_GIVE_OPTIONAL_FIELD, k3, khc, kSh, ksh_fh, ksh_h, kTc, kTm, lambda0, MPS_full, MPS_humidity, MPS_temperature, muS, p, predictParametersFrom(), q1, q2, q3, q4, QEtoR, QRtoR, QStoR, oofem::RheoChainMaterial::relMatAge, roomTemperature, sh_a, sh_hC, sh_n, stiffnessFactor, t0, tau_nano, temperScaleDifference, and timeDependent_ksh.
|
protected |
Definition at line 583 of file mps.C.
References computeCreepFunction(), lambda0, oofem::FEMComponent::number, OOFEM_LOG_DEBUG, q1, q2, q3, q4, and stiffnessFactor.
Referenced by initializeFrom().
|
friend |
|
protected |
parameters that control the effect of humidity on rates of hydration, creep and microprestress relaxation
Definition at line 264 of file mps.h.
Referenced by computePsiE(), and initializeFrom().
|
protected |
Definition at line 264 of file mps.h.
Referenced by computePsiR(), and initializeFrom().
|
protected |
Definition at line 264 of file mps.h.
Referenced by computePsiS(), and initializeFrom().
|
protected |
Possibility to prescribe the evolution of autogenous shrinkage strain by an auxiliary time function, the function is evaluated according to the current value of the equivalenet age, i.e. maturity.
Definition at line 296 of file mps.h.
Referenced by computeAutogenousShrinkageDefinedByTF(), giveShrinkageStrainVector(), and initializeFrom().
|
protected |
Definition at line 276 of file mps.h.
Referenced by computeB4AutogenousShrinkageStrainVector(), and initializeFrom().
|
protected |
parameters for autogenous shrinkage according to B4 model
Definition at line 276 of file mps.h.
Referenced by computeB4AutogenousShrinkageStrainVector(), giveShrinkageStrainVector(), and initializeFrom().
|
protected |
Definition at line 276 of file mps.h.
Referenced by computeB4AutogenousShrinkageStrainVector(), and initializeFrom().
|
protected |
Definition at line 276 of file mps.h.
Referenced by computeB4AutogenousShrinkageStrainVector(), and initializeFrom().
|
protected |
|
protected |
parameter for autogenous shrinkage according to fib MC 2010
Definition at line 274 of file mps.h.
Referenced by computeFibAutogenousShrinkageStrainVector(), giveShrinkageStrainVector(), and initializeFrom().
|
mutableprotected |
Definition at line 240 of file mps.h.
Referenced by computeCharCoefficients(), and giveEModulus().
|
protected |
Further scaling of creep, shrinkage, tensile strength etc. with regards to this time function. Let us assume two hydrating cements with different kinetics. If the fast cement is a reference one, the simulation of the slow one is carried out on the reference cement and scaling by this time function, which is then ≤1. Results from isothermal calorimetry are typically used for defining this function.
Definition at line 291 of file mps.h.
Referenced by computePsiE(), and initializeFrom().
|
protected |
Definition at line 249 of file mps.h.
Referenced by computeFlowTermViscosity(), and initializeFrom().
|
protected |
parameter reducing creep effects of hygral cycling (0 = complete reduction, 1 = no reduction, default value)
Definition at line 255 of file mps.h.
Referenced by computeFlowTermViscosity(), and initializeFrom().
|
protected |
additional parameters for sorption isotherm (used to compute relative humidity from water content)
proportionality parameter between change of humidity and shrinkage
Definition at line 247 of file mps.h.
Referenced by computePointShrinkageStrainVector(), and initializeFrom().
|
protected |
Definition at line 272 of file mps.h.
Referenced by computePointShrinkageStrainVector(), and initializeFrom().
|
protected |
nonlinear shrinkage function - user-defined piecewise-linear function
Definition at line 272 of file mps.h.
Referenced by computePointShrinkageStrainVector(), and initializeFrom().
|
protected |
parameter reducing creep effects of thermal cycling (replaces kTm in such case)
Definition at line 253 of file mps.h.
Referenced by computeFlowTermViscosity(), and initializeFrom().
|
protected |
kTm replaces ln(h) on RHS of the differential equation describing evolution of MPS
Definition at line 251 of file mps.h.
Referenced by computeFlowTermViscosity(), and initializeFrom().
|
protected |
constant equal to one day in time units of analysis (eg. 86400 if the analysis runs in seconds)
Definition at line 235 of file mps.h.
Referenced by computeCharCoefficients(), computeCharTimes(), computeCreepFunction(), computeFibAutogenousShrinkageStrainVector(), computePointShrinkageStrainVector(), computeSolidifiedVolume(), oofem::MPSDamMaterial::giveRealStressVector(), initializeFrom(), and predictParametersFrom().
|
protected |
fluidity parameter used in viscosity evolution equation
Definition at line 249 of file mps.h.
Referenced by computeFlowTermViscosity(), and initializeFrom().
|
protected |
exponent in the microprestress/viscosity governing equation
Definition at line 266 of file mps.h.
Referenced by computeFlowTermViscosity(), and initializeFrom().
|
protected |
compliances of the B3 model
Definition at line 233 of file mps.h.
Referenced by computeCreepFunction(), giveEModulus(), initializeFrom(), and predictParametersFrom().
|
protected |
Definition at line 233 of file mps.h.
Referenced by computeCharCoefficients(), computeCreepFunction(), computeSolidifiedVolume(), initializeFrom(), and predictParametersFrom().
|
protected |
Definition at line 233 of file mps.h.
Referenced by computeCreepFunction(), computeSolidifiedVolume(), initializeFrom(), and predictParametersFrom().
|
protected |
Definition at line 233 of file mps.h.
Referenced by computeCreepFunction(), computeFlowTermViscosity(), giveInitViscosity(), initializeFrom(), and predictParametersFrom().
|
protected |
activation energies
Definition at line 262 of file mps.h.
Referenced by computePsiE(), and initializeFrom().
|
protected |
Definition at line 262 of file mps.h.
Referenced by computePsiR(), and initializeFrom().
|
protected |
Definition at line 262 of file mps.h.
Referenced by computePsiS(), and initializeFrom().
|
protected |
parameter reducing creep effects of thermal cycling
reference room temperature for MPS algorithm [K]
Definition at line 260 of file mps.h.
Referenced by computeFlowTermViscosity(), computePsiE(), computePsiR(), computePsiS(), and initializeFrom().
|
protected |
parameters for nonlinear shrinkage function
Definition at line 268 of file mps.h.
Referenced by computePointShrinkageStrainVector(), and initializeFrom().
|
protected |
Definition at line 268 of file mps.h.
Referenced by computePointShrinkageStrainVector(), and initializeFrom().
|
protected |
Definition at line 268 of file mps.h.
Referenced by computePointShrinkageStrainVector(), and initializeFrom().
|
protected |
scaling factor 1. for Pa, 1.e6 for MPa - only for empirical formulas - q1-q4 and ft and gf
Definition at line 279 of file mps.h.
Referenced by initializeFrom(), and predictParametersFrom().
|
protected |
age when temperature or humidity starts to change
Definition at line 231 of file mps.h.
Referenced by giveInitViscosity(), and initializeFrom().
|
protected |
characteristic time defining delay of relative humidity in the nanopores behind the capillary pores alternative approach might initiate shrinakge cracking before the stresses relax hum_nano + tau_nano * d_hum_nano / d_t = hum hum_nano is obtained using second-order exponential algorithm originally developed for creep of Kelvin unit
Definition at line 303 of file mps.h.
Referenced by computeFlowTermViscosity(), computePsiR(), computePsiS(), giveHumidityNano(), and initializeFrom().
|
protected |
0 for Kelvin, 273.15 for Celsius
Definition at line 282 of file mps.h.
Referenced by giveTemperature(), and initializeFrom().
|
protected |
flag activating equivalent-time-dependence of shrinkage coefficient
Definition at line 270 of file mps.h.
Referenced by computePointShrinkageStrainVector(), and initializeFrom().