OOFEM  2.1
Public Member Functions | Protected Member Functions | Protected Attributes
oofem::RheoChainMaterial Class Reference

This class implements a rheologic chain model describing a viscoelastic material. More...

#include <rheoChM.h>

+ Inheritance diagram for oofem::RheoChainMaterial:
+ Collaboration diagram for oofem::RheoChainMaterial:

List of all members.

Public Member Functions

 RheoChainMaterial (int n, Domain *d)
virtual ~RheoChainMaterial ()
virtual void giveCharacteristicMatrix (FloatMatrix &answer, MatResponseForm form, MatResponseMode mode, GaussPoint *gp, TimeStep *tStep)
 Computes the stiffness matrix of receiver in given integration point, respecting its history.
virtual void giveRealStressVector (FloatArray &answer, MatResponseForm form, GaussPoint *gp, const FloatArray &reducedStrain, TimeStep *tStep)
 Computes the real stress vector for given total strain and integration point.
virtual void giveThermalDilatationVector (FloatArray &answer, GaussPoint *gp, TimeStep *tStep)
 Returns a vector of coefficients of thermal dilatation in direction of each material principal (local) axis.
virtual double giveEModulus (GaussPoint *gp, TimeStep *atTime)
 Evaluation of the incremental modulus.
virtual void computeCharCoefficients (FloatArray &answer, GaussPoint *gp, double atTime)
 Evaluation of the moduli of individual units.
virtual void updateYourself (GaussPoint *gp, TimeStep *tStep)
 Update of MatStatus to the newly reached (equilibrium) state.
virtual int hasNonLinearBehaviour ()
 Returns nonzero if receiver is non linear.
virtual int hasMaterialModeCapability (MaterialMode mode)
 Tests if material supports material mode.
virtual const char * giveClassName () const
virtual classType giveClassID () const
 Returns classType id of receiver.
virtual IRResultType initializeFrom (InputRecord *ir)
 Initializes receiver according to object description stored in input record.
virtual contextIOResultType saveIPContext (DataStream *stream, ContextMode mode, GaussPoint *gp)
 Stores integration point state to output stream.
virtual contextIOResultType restoreIPContext (DataStream *stream, ContextMode mode, GaussPoint *gp)
 Reads integration point state to output stream.
virtual void give3dMaterialStiffnessMatrix (FloatMatrix &answer, MatResponseForm form, MatResponseMode mode, GaussPoint *gp, TimeStep *tStep)
 Computes full 3d material stiffness matrix at given integration point, time, respecting load history in integration point.
virtual void computeStressIndependentStrainVector (FloatArray &answer, GaussPoint *gp, TimeStep *tStep, ValueModeType mode)
 Computes reduced strain vector in given integration point, generated by internal processes in material, which are independent on loading in particular integration point.
virtual void giveShrinkageStrainVector (FloatArray &answer, MatResponseForm form, GaussPoint *gp, TimeStep *tStep, ValueModeType mode)
 Computes, for the given integration point, the strain vector induced by stress-independent shrinkage.
virtual void giveEigenStrainVector (FloatArray &answer, MatResponseForm form, GaussPoint *gp, TimeStep *tStep, ValueModeType mode)
 Computes, for the given integration point, the strain vector induced by the stress history (typically creep strain).
virtual MaterialStatusCreateStatus (GaussPoint *gp) const
 Creates new copy of associated status and inserts it into given integration point.

Protected Member Functions

virtual int hasIncrementalShrinkageFormulation ()
 If only incremental shrinkage strain formulation is provided, then total shrinkage strain must be tracked in status in order to be able to compute total value.
void generateLogTimeScale (FloatArray &answer, double from, double to, int nsteps)
 Generates discrete times starting from time "from" to time "to" uniformly distributed in log time scale.
const FloatArraygiveDiscreteTimes ()
virtual double computeCreepFunction (GaussPoint *gp, double ofAge, double atTime)=0
 Evaluation of the creep compliance function.
void computeDiscreteRelaxationFunction (FloatArray &answer, GaussPoint *gp, const FloatArray &atTimes, double t0, double tr)
 Evaluation of the relaxation function at given times.
void giveUnitComplianceMatrix (FloatMatrix &answer, MatResponseForm form, GaussPoint *gp, TimeStep *tStep)
 Evaluation of elastic compliance matrix for unit Young's modulus.
void giveUnitStiffnessMatrix (FloatMatrix &answer, MatResponseForm form, GaussPoint *gp, TimeStep *tStep)
 Evaluation of elastic stiffness matrix for unit Young's modulus.
void updateEparModuli (GaussPoint *gp, double atTime)
 Update of partial moduli of individual chain units.
double giveEparModulus (int iChain)
 Access to partial modulus of a given unit.
virtual void computeCharTimes ()
 Evaluation of characteristic times.
double giveCharTime (int)
 Access to the characteristic time of a given unit.
virtual double giveCharTimeExponent (int i)
 Exponent to be used with the char time of a given unit, usually = 1.0.
LinearElasticMaterialgiveLinearElasticMaterial ()
 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.
virtual void givePlaneStressStiffMtrx (FloatMatrix &answer, MatResponseForm, MatResponseMode mmode, GaussPoint *gp, TimeStep *tStep)
 Method for computing plane stress stiffness matrix of receiver.
virtual void givePlaneStrainStiffMtrx (FloatMatrix &answer, MatResponseForm, MatResponseMode mmode, GaussPoint *gp, TimeStep *tStep)
 Method for computing plane strain stiffness matrix of receiver.
virtual void give1dStressStiffMtrx (FloatMatrix &answer, MatResponseForm, MatResponseMode mmode, GaussPoint *gp, TimeStep *tStep)
 Method for computing 1d stiffness matrix of receiver.
virtual void give2dBeamLayerStiffMtrx (FloatMatrix &answer, MatResponseForm, MatResponseMode mmode, GaussPoint *gp, TimeStep *tStep)
 Method for computing 2d beam layer stiffness matrix of receiver.
virtual void give2dPlateLayerStiffMtrx (FloatMatrix &answer, MatResponseForm, MatResponseMode mmode, GaussPoint *gp, TimeStep *tStep)
 Method for computing 2d plate layer stiffness matrix of receiver.
virtual void give3dShellLayerStiffMtrx (FloatMatrix &answer, MatResponseForm, MatResponseMode mmode, GaussPoint *gp, TimeStep *tStep)
 Method for computing 3d shell layer stiffness matrix of receiver.
void computeTrueStressIndependentStrainVector (FloatArray &answer, GaussPoint *gp, TimeStep *tStep, ValueModeType mode)
 Computes, for the given integration point, the strain vector induced by stress-independent internal processes in the material.

Protected Attributes

int nUnits
 Number of (Maxwell or Kelvin) units in the rheologic chain.
double relMatAge
 Physical age of the material at simulation time = 0.
double nu
 Poisson's ratio (assumed to be constant, unaffected by creep).
double EparValTime
 Time for which the partial moduli of individual units have been evaluated.
double begOfTimeOfInterest
 Time from which the model should give a good approximation. Optional field. Default value is 0.1 [day].
double endOfTimeOfInterest
 Time (age???) up to which the model should give a good approximation.
LinearElasticMateriallinearElasticMaterial
 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
 Scaling factor transforming the simulation time units into days (gives the number of simulation time units in one day, e.g.

Detailed Description

This class implements a rheologic chain model describing a viscoelastic material.

It serves as the parent class for Maxwell and Kelvin chains.

Definition at line 96 of file rheoChM.h.


Constructor & Destructor Documentation

Definition at line 46 of file rheoChM.C.

References EparValTime, linearElasticMaterial, nUnits, and relMatAge.

Definition at line 56 of file rheoChM.C.

References linearElasticMaterial.


Member Function Documentation

virtual void oofem::RheoChainMaterial::computeCharCoefficients ( FloatArray answer,
GaussPoint gp,
double  atTime 
) [inline, virtual]

Evaluation of the moduli of individual units.

Reimplemented in oofem::MPSMaterial, oofem::B3SolidMaterial, oofem::MaxwellChainMaterial, and oofem::KelvinChainMaterial.

Definition at line 149 of file rheoChM.h.

Referenced by updateEparModuli().

void oofem::RheoChainMaterial::computeCharTimes ( ) [protected, virtual]

Evaluation of characteristic times.

Reimplemented in oofem::MPSMaterial, and oofem::B3SolidMaterial.

Definition at line 391 of file rheoChM.C.

References _error, a, oofem::FloatArray::at(), begOfTimeOfInterest, charTimes, giveEndOfTimeOfInterest(), nUnits, relMatAge, and oofem::FloatArray::resize().

Referenced by giveCharTime(), and initializeFrom().

virtual double oofem::RheoChainMaterial::computeCreepFunction ( GaussPoint gp,
double  ofAge,
double  atTime 
) [protected, pure virtual]
void oofem::RheoChainMaterial::computeDiscreteRelaxationFunction ( FloatArray answer,
GaussPoint gp,
const FloatArray atTimes,
double  t0,
double  tr 
) [protected]

Evaluation of the relaxation function at given times.

This functions solves numerically an integral equation of the form

\[ \varepsilon(t) = \int_{0}^{t} J(t, \tau) \mathrm{d}\sigma(\tau) + \varepsilon_n(t) \]

where $ \varepsilon_n(t) $ is stress-independent deformation, for the case where $ \varepsilon(t) = 1 $ is kept at constant value in time.

Parameters:
[out]answerArray with evaluated relaxation function.
gpIntegration point.
t0Age of material when load is applied.
trAge of material when relaxation has begun ???
atTimesAt which times the relaxation function will be evaluated.
Warning:
atTimes should be uniformly distributed in log time scale and relatively dense (100 intervals) in order to achieve a reasonable accuracy.

Definition at line 159 of file rheoChM.C.

References oofem::FloatArray::at(), computeCreepFunction(), oofem::FloatArray::giveSize(), oofem::FloatArray::resize(), and oofem::FloatArray::zero().

Referenced by oofem::MaxwellChainMaterial::computeCharCoefficients().

Computes reduced strain vector in given integration point, generated by internal processes in material, which are independent on loading in particular integration point.

Default implementation takes into account temperature induced strains and eigenstrains.

Parameters:
answerReturned strain vector.
gpIntegration point.
tStepTime step (most models are able to respond only when atTime is current time step).
modeDetermines response mode (Total or incremental).

Reimplemented from oofem::StructuralMaterial.

Definition at line 351 of file rheoChM.C.

References oofem::FloatArray::add(), computeTrueStressIndependentStrainVector(), giveEigenStrainVector(), oofem::FloatArray::giveSize(), and oofem::ReducedForm.

Referenced by computeTrueStressIndependentStrainVector(), oofem::KelvinChainSolidMaterial::updateYourself(), and oofem::KelvinChainMaterial::updateYourself().

Computes, for the given integration point, the strain vector induced by stress-independent internal processes in the material.

Takes into account only temperature and shrinkage-induced strains.

Parameters:
answerReturned strain vector.
gpIntegration point.
tStepTime step (most models are able to respond only when tStep is current time step).
modeDetermines response mode (Total or incremental).

Definition at line 332 of file rheoChM.C.

References oofem::FloatArray::add(), computeStressIndependentStrainVector(), giveShrinkageStrainVector(), and oofem::ReducedForm.

Referenced by computeStressIndependentStrainVector(), and oofem::MaxwellChainMaterial::updateYourself().

Creates new copy of associated status and inserts it into given integration point.

Parameters:
gpIntegration point where newly created status will be stored.
Returns:
Reference to new status.

Reimplemented from oofem::Material.

Reimplemented in oofem::MPSMaterial, oofem::B3SolidMaterial, oofem::KelvinChainMaterial, oofem::MaxwellChainMaterial, and oofem::KelvinChainSolidMaterial.

Definition at line 558 of file rheoChM.C.

void oofem::RheoChainMaterial::generateLogTimeScale ( FloatArray answer,
double  from,
double  to,
int  nsteps 
) [protected]

Generates discrete times starting from time "from" to time "to" uniformly distributed in log time scale.

The time interval (to-from) is divided to nsteps intervals. We return times starting from ("from" + first increment)

Parameters:
answerResulting array of discrete times.
fromStarting time
toEnd time
nstepsNumber of discrete steps.

Definition at line 213 of file rheoChM.C.

References oofem::FloatArray::at(), oofem::FloatArray::resize(), and oofem::FloatArray::zero().

Referenced by giveDiscreteTimes().

void oofem::RheoChainMaterial::give1dStressStiffMtrx ( FloatMatrix answer,
MatResponseForm  form,
MatResponseMode  mmode,
GaussPoint gp,
TimeStep tStep 
) [protected, virtual]

Method for computing 1d stiffness matrix of receiver.

Default implementation computes 3d stiffness matrix using give3dMaterialStiffnessMatrix and reduces it to 1d stiffness using reduce method described above. However, this reduction is quite time consuming and if it is possible, it is recommended to overload this method and provide direct method for computing particular stiffness matrix.

Parameters:
answerStiffness matrix.
formMaterial response form.
mmodeMaterial response mode.
gpIntegration point, which load history is used.
tStepTime step (most models are able to respond only when atTime is current time step).

Reimplemented from oofem::StructuralMaterial.

Definition at line 502 of file rheoChM.C.

References oofem::StructuralMaterial::give1dStressStiffMtrx(), giveEModulus(), giveLinearElasticMaterial(), and oofem::FloatMatrix::times().

void oofem::RheoChainMaterial::give2dBeamLayerStiffMtrx ( FloatMatrix answer,
MatResponseForm  form,
MatResponseMode  mmode,
GaussPoint gp,
TimeStep tStep 
) [protected, virtual]

Method for computing 2d beam layer stiffness matrix of receiver.

Default implementation computes 3d stiffness matrix using give3dMaterialStiffnessMatrix and reduces it to 2d beam layer stiffness using reduce method described above. However, this reduction is quite time consuming and if it is possible, it is recommended to overload this method and provide direct method for computing particular stiffness matrix.

Parameters:
answerStiffness matrix.
formMaterial response form.
mmodeMaterial response mode.
gpIntegration point, which load history is used.
tStepTime step (most models are able to respond only when atTime is current time step).

Reimplemented from oofem::StructuralMaterial.

Definition at line 516 of file rheoChM.C.

References oofem::StructuralMaterial::give2dBeamLayerStiffMtrx(), giveEModulus(), giveLinearElasticMaterial(), and oofem::FloatMatrix::times().

void oofem::RheoChainMaterial::give2dPlateLayerStiffMtrx ( FloatMatrix answer,
MatResponseForm  form,
MatResponseMode  mmode,
GaussPoint gp,
TimeStep tStep 
) [protected, virtual]

Method for computing 2d plate layer stiffness matrix of receiver.

Default implementation computes 3d stiffness matrix using give3dMaterialStiffnessMatrix and reduces it to 2d plate layer stiffness using reduce method described above. However, this reduction is quite time consuming and if it is possible, it is recommended to overload this method and provide direct method for computing particular stiffness matrix.

Parameters:
answerStiffness matrix.
formMaterial response form.
mmodeMaterial response mode.
gpIntegration point, which load history is used.
tStepTime step (most models are able to respond only when atTime is current time step).

Reimplemented from oofem::StructuralMaterial.

Definition at line 530 of file rheoChM.C.

References oofem::StructuralMaterial::give2dPlateLayerStiffMtrx(), giveEModulus(), giveLinearElasticMaterial(), and oofem::FloatMatrix::times().

Computes full 3d material stiffness matrix at given integration point, time, respecting load history in integration point.

Parameters:
answerComputed results.
formMaterial response form.
modeMaterial response mode.
gpIntegration point.
tStepTime step (most models are able to respond only when atTime is current time step).

Reimplemented from oofem::StructuralMaterial.

Definition at line 460 of file rheoChM.C.

References oofem::StructuralMaterial::give3dMaterialStiffnessMatrix(), giveEModulus(), giveLinearElasticMaterial(), and oofem::FloatMatrix::times().

void oofem::RheoChainMaterial::give3dShellLayerStiffMtrx ( FloatMatrix answer,
MatResponseForm  form,
MatResponseMode  mmode,
GaussPoint gp,
TimeStep tStep 
) [protected, virtual]

Method for computing 3d shell layer stiffness matrix of receiver.

Default implementation computes 3d stiffness matrix using give3dMaterialStiffnessMatrix and reduces it to 3d shell layer stiffness using reduce method described above. However, this reduction is quite time consuming and if it is possible, it is recommended to overload this method and provide direct method for computing particular stiffness matrix.

Parameters:
answerStiffness matrix.
formMaterial response form.
mmodeMaterial response mode.
gpIntegration point, which load history is used.
tStepTime step (most models are able to respond only when atTime is current time step).

Reimplemented from oofem::StructuralMaterial.

Definition at line 544 of file rheoChM.C.

References oofem::StructuralMaterial::give3dShellLayerStiffMtrx(), giveEModulus(), giveLinearElasticMaterial(), and oofem::FloatMatrix::times().

void oofem::RheoChainMaterial::giveCharacteristicMatrix ( FloatMatrix answer,
MatResponseForm  form,
MatResponseMode  mode,
GaussPoint gp,
TimeStep tStep 
) [virtual]

Computes the stiffness matrix of receiver in given integration point, respecting its history.

The algorithm should use temporary or equilibrium history variables stored in integration point status to compute and return required result.

Parameters:
answerContains result.
formMaterial response form.
modeMaterial response mode.
gpIntegration point.
tStepTime step (most models are able to respond only when atTime is current time step).

Reimplemented from oofem::StructuralMaterial.

Definition at line 445 of file rheoChM.C.

References giveEModulus(), giveUnitStiffnessMatrix(), and oofem::FloatMatrix::times().

double oofem::RheoChainMaterial::giveCharTime ( int  i) [protected]
virtual double oofem::RheoChainMaterial::giveCharTimeExponent ( int  i) [inline, protected, virtual]
virtual classType oofem::RheoChainMaterial::giveClassID ( ) const [inline, virtual]

Returns classType id of receiver.

Intended for run time type checking. Every derived class have to overload this method.

See also:
classType.
Returns:
Class type of receiver.

Reimplemented from oofem::StructuralMaterial.

Reimplemented in oofem::MPSMaterial, oofem::B3SolidMaterial, oofem::MaxwellChainMaterial, oofem::KelvinChainMaterial, oofem::KelvinChainSolidMaterial, oofem::B3Material, oofem::CebFip78Material, and oofem::DoublePowerLawMaterial.

Definition at line 158 of file rheoChM.h.

References oofem::RheoChainMaterialClass.

virtual const char* oofem::RheoChainMaterial::giveClassName ( ) const [inline, virtual]
virtual void oofem::RheoChainMaterial::giveEigenStrainVector ( FloatArray answer,
MatResponseForm  form,
GaussPoint gp,
TimeStep tStep,
ValueModeType  mode 
) [inline, virtual]

Computes, for the given integration point, the strain vector induced by the stress history (typically creep strain).

Parameters:
answerComputed strains.
formMaterial response form.
gpIntegration point.
tStepTime step (most models are able to respond only when tStep is the current time step).
modeDetermines response mode.

Reimplemented in oofem::MPSMaterial, oofem::B3SolidMaterial, oofem::KelvinChainMaterial, oofem::MaxwellChainMaterial, and oofem::KelvinChainSolidMaterial.

Definition at line 199 of file rheoChM.h.

Referenced by computeStressIndependentStrainVector().

virtual double oofem::RheoChainMaterial::giveEModulus ( GaussPoint gp,
TimeStep atTime 
) [inline, virtual]
double oofem::RheoChainMaterial::giveEparModulus ( int  iChain) [protected]
void oofem::RheoChainMaterial::givePlaneStrainStiffMtrx ( FloatMatrix answer,
MatResponseForm  form,
MatResponseMode  mmode,
GaussPoint gp,
TimeStep tStep 
) [protected, virtual]

Method for computing plane strain stiffness matrix of receiver.

Default implementation computes 3d stiffness matrix using give3dMaterialStiffnessMatrix and reduces it to plane strain stiffness using reduce method described above. However, this reduction is quite time consuming and if it is possible, it is recommended to overload this method and provide direct method for computing particular stiffness matrix. Note: as already described, if zero strain component is imposed (Plane strain, ..) this condition must be taken into account in geometrical relations, and corresponding component has to be included in reduced vector. (So plane strain conditions are $ \epsilon_z = \gamma_{xz} = \gamma_{yz} = 0 $, but relations for $ \epsilon_z$ and $\sigma_z$ are included).

Parameters:
answerStiffness matrix.
formMaterial response form.
mmodeMaterial response mode.
gpIntegration point, which load history is used.
tStepTime step (most models are able to respond only when atTime is current time step).

Reimplemented from oofem::StructuralMaterial.

Definition at line 488 of file rheoChM.C.

References giveEModulus(), giveLinearElasticMaterial(), oofem::StructuralMaterial::givePlaneStrainStiffMtrx(), and oofem::FloatMatrix::times().

void oofem::RheoChainMaterial::givePlaneStressStiffMtrx ( FloatMatrix answer,
MatResponseForm  form,
MatResponseMode  mmode,
GaussPoint gp,
TimeStep tStep 
) [protected, virtual]

Method for computing plane stress stiffness matrix of receiver.

Default implementation computes 3d stiffness matrix using give3dMaterialStiffnessMatrix and reduces it to plane stress stiffness using reduce method described above. However, this reduction is quite time consuming and if it is possible, it is recommended to overload this method and provide direct method for computing particular stiffness matrix.

Parameters:
answerStiffness matrix.
formMaterial response form.
mmodeMaterial response mode.
gpIntegration point, which load history is used.
tStepTime step (most models are able to respond only when atTime is current time step).

Reimplemented from oofem::StructuralMaterial.

Definition at line 475 of file rheoChM.C.

References giveEModulus(), giveLinearElasticMaterial(), oofem::StructuralMaterial::givePlaneStressStiffMtrx(), and oofem::FloatMatrix::times().

void oofem::RheoChainMaterial::giveRealStressVector ( FloatArray answer,
MatResponseForm  form,
GaussPoint gp,
const FloatArray reducedStrain,
TimeStep tStep 
) [virtual]

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.

Parameters:
answerContains result.
formMaterial response form.
gpIntegration point.
reducedStrainStrain vector in reduced form.
tStepCurrent time step (most models are able to respond only when atTime is current time step).

Implements oofem::StructuralMaterial.

Definition at line 86 of file rheoChM.C.

References oofem::FloatArray::add(), oofem::FloatArray::beDifferenceOf(), oofem::FloatArray::beProductOf(), oofem::GaussPoint::giveCrossSection(), giveEModulus(), oofem::StructuralMaterial::giveFullCharacteristicVector(), giveShrinkageStrainVector(), oofem::FloatArray::giveSize(), oofem::Material::giveStatus(), oofem::StructuralMaterialStatus::giveStrainVector(), oofem::StructuralMaterial::giveStressDependentPartOfStrainVector(), oofem::StructuralMaterialStatus::giveStressVector(), giveUnitStiffnessMatrix(), hasIncrementalShrinkageFormulation(), oofem::Material::initGpForNewStep(), oofem::Material::initTempStatus(), oofem::StructuralMaterialStatus::letTempStrainVectorBe(), oofem::StructuralMaterialStatus::letTempStressVectorBe(), oofem::ReducedForm, oofem::FloatArray::resize(), oofem::RheoChainMaterialStatus::setShrinkageStrainVector(), and oofem::FloatArray::times().

virtual void oofem::RheoChainMaterial::giveShrinkageStrainVector ( FloatArray answer,
MatResponseForm  form,
GaussPoint gp,
TimeStep tStep,
ValueModeType  mode 
) [inline, virtual]

Computes, for the given integration point, the strain vector induced by stress-independent shrinkage.

Parameters:
answerReturned strain vector.
formMaterial response form.
gpIntegration point.
tStepTime step (most models are able to respond only when tStep is current time step).
modeDetermines response mode (Total or incremental).

Reimplemented in oofem::MPSMaterial, oofem::B3SolidMaterial, oofem::KelvinChainMaterial, oofem::MaxwellChainMaterial, oofem::KelvinChainSolidMaterial, and oofem::B3Material.

Definition at line 182 of file rheoChM.h.

References oofem::FloatArray::resize().

Referenced by computeTrueStressIndependentStrainVector(), and giveRealStressVector().

virtual void oofem::RheoChainMaterial::giveThermalDilatationVector ( FloatArray answer,
GaussPoint gp,
TimeStep tStep 
) [inline, virtual]

Returns a vector of coefficients of thermal dilatation in direction of each material principal (local) axis.

Parameters:
answerVector of thermal dilatation coefficients.
gpIntegration point.
tStepTime step (most models are able to respond only when atTime is current time step).

Reimplemented from oofem::StructuralMaterial.

Reimplemented in oofem::MPSMaterial, oofem::B3SolidMaterial, and oofem::B3Material.

Definition at line 142 of file rheoChM.h.

References oofem::FloatArray::resize().

void oofem::RheoChainMaterial::giveUnitComplianceMatrix ( FloatMatrix answer,
MatResponseForm  form,
GaussPoint gp,
TimeStep tStep 
) [protected]
void oofem::RheoChainMaterial::giveUnitStiffnessMatrix ( FloatMatrix answer,
MatResponseForm  form,
GaussPoint gp,
TimeStep tStep 
) [protected]
virtual int oofem::RheoChainMaterial::hasIncrementalShrinkageFormulation ( ) [inline, protected, virtual]

If only incremental shrinkage strain formulation is provided, then total shrinkage strain must be tracked in status in order to be able to compute total value.

Reimplemented in oofem::MPSMaterial, oofem::B3SolidMaterial, oofem::KelvinChainMaterial, oofem::MaxwellChainMaterial, oofem::KelvinChainSolidMaterial, and oofem::B3Material.

Definition at line 209 of file rheoChM.h.

Referenced by giveRealStressVector().

Tests if material supports material mode.

Parameters:
modeRequired material mode.
Returns:
Nonzero if supported, zero otherwise.

Reimplemented from oofem::StructuralMaterial.

Definition at line 65 of file rheoChM.C.

virtual int oofem::RheoChainMaterial::hasNonLinearBehaviour ( ) [inline, virtual]

Returns nonzero if receiver is non linear.

Reimplemented from oofem::Material.

Reimplemented in oofem::MaxwellChainMaterial, oofem::KelvinChainMaterial, and oofem::KelvinChainSolidMaterial.

Definition at line 155 of file rheoChM.h.

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.

See also:
IR_GIVE_FIELD
IR_GIVE_OPTIONAL_FIELD
Parameters:
irInput record to initialize from.
Returns:
IRResultType

Reimplemented from oofem::StructuralMaterial.

Reimplemented in oofem::MPSMaterial, oofem::B3SolidMaterial, oofem::KelvinChainMaterial, oofem::MaxwellChainMaterial, oofem::KelvinChainSolidMaterial, oofem::B3Material, oofem::CebFip78Material, and oofem::DoublePowerLawMaterial.

Definition at line 568 of file rheoChM.C.

References begOfTimeOfInterest, computeCharTimes(), endOfTimeOfInterest, giveDiscreteTimes(), oofem::IFT_RheoChainMaterial_begoftimeofinterest, oofem::IFT_RheoChainMaterial_endoftimeofinterest, oofem::IFT_RheoChainMaterial_n, oofem::IFT_RheoChainMaterial_relmatage, oofem::IFT_RheoChainMaterial_timefactor, IR_GIVE_FIELD, IR_GIVE_OPTIONAL_FIELD, oofem::IRRT_OK, nu, relMatAge, and timeFactor.

Reads integration point state to output stream.

Parameters:
streamOutput stream.
modeDetermines amount of info required in stream (state, definition, ...).
gpintegration point.
Returns:
contextIOResultType.
Exceptions:
throwsan ContextIOERR exception if error encountered.

Reimplemented from oofem::Material.

Definition at line 636 of file rheoChM.C.

References oofem::CIO_OK, giveLinearElasticMaterial(), oofem::Material::restoreIPContext(), and THROW_CIOERR.

Stores integration point state to output stream.

Parameters:
streamOutput stream.
modeDetermines amount of info required in stream (state, definition, ...).
gpintegration point.
Returns:
contextIOResultType.
Exceptions:
throwsan ContextIOERR exception if error encountered.

Reimplemented from oofem::Material.

Definition at line 612 of file rheoChM.C.

References _error, oofem::CIO_OK, giveLinearElasticMaterial(), oofem::Material::saveIPContext(), and THROW_CIOERR.

void oofem::RheoChainMaterial::updateEparModuli ( GaussPoint gp,
double  atTime 
) [protected]
virtual void oofem::RheoChainMaterial::updateYourself ( GaussPoint gp,
TimeStep tStep 
) [inline, virtual]

Update of MatStatus to the newly reached (equilibrium) state.

Reimplemented from oofem::Material.

Reimplemented in oofem::MPSMaterial, oofem::B3SolidMaterial, oofem::MaxwellChainMaterial, oofem::KelvinChainMaterial, and oofem::KelvinChainSolidMaterial.

Definition at line 152 of file rheoChM.h.


Member Data Documentation

Time from which the model should give a good approximation. Optional field. Default value is 0.1 [day].

Definition at line 109 of file rheoChM.h.

Referenced by oofem::B3SolidMaterial::computeCharTimes(), oofem::MPSMaterial::computeCharTimes(), computeCharTimes(), giveDiscreteTimes(), and initializeFrom().

Times at which the errors are evaluated if the least-square method is used.

Definition at line 120 of file rheoChM.h.

Referenced by giveDiscreteTimes().

Time (age???) up to which the model should give a good approximation.

Definition at line 111 of file rheoChM.h.

Referenced by oofem::B3SolidMaterial::computeCharTimes(), oofem::MPSMaterial::computeCharTimes(), giveEndOfTimeOfInterest(), and initializeFrom().

Time for which the partial moduli of individual units have been evaluated.

Definition at line 106 of file rheoChM.h.

Referenced by RheoChainMaterial(), and updateEparModuli().

Associated linearElasticMaterial, with E = 1.

Definition at line 113 of file rheoChM.h.

Referenced by giveLinearElasticMaterial(), RheoChainMaterial(), and ~RheoChainMaterial().

double oofem::RheoChainMaterial::nu [protected]

Poisson's ratio (assumed to be constant, unaffected by creep).

Definition at line 104 of file rheoChM.h.

Referenced by giveLinearElasticMaterial(), and initializeFrom().


The documentation for this class was generated from the following files:

This page is part of the OOFEM documentation. Copyright (c) 2011 Borek Patzak
Project e-mail: info@oofem.org
Generated at Sun Mar 10 2013 18:17:03 for OOFEM by doxygen 1.7.6.1 written by Dimitri van Heesch, © 1997-2011