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

Abstract base class for all material models. More...

#include <material.h>

+ Inheritance diagram for oofem::Material:
+ Collaboration diagram for oofem::Material:

List of all members.

Public Member Functions

 Material (int n, Domain *d)
 Constructor.
virtual ~Material ()
 Destructor.
virtual void giveCharacteristicMatrix (FloatMatrix &answer, MatResponseForm form, MatResponseMode mode, GaussPoint *gp, TimeStep *atTime)
 Computes characteristic matrix of receiver in given integration point.
virtual double giveCharacteristicValue (MatResponseMode mode, GaussPoint *gp, TimeStep *atTime)
 Computes the characteristic value of receiver in given integration point, respecting its history.
virtual bool isCharacteristicMtrxSymmetric (MatResponseMode rMode)
 Returns true if stiffness matrix of receiver is symmetric Default implementation returns true.
virtual void updateYourself (GaussPoint *gp, TimeStep *atTime)
 Updates internal state of material in integration point after finishing time step.
virtual double give (int aProperty, GaussPoint *gp)
 Returns the value of material property 'aProperty'.
virtual bool hasProperty (int aProperty, GaussPoint *gp)
 Returns true if 'aProperty' exists on material.
virtual void modifyProperty (int aProperty, double value, GaussPoint *gp)
 Modify 'aProperty', which already exists on material.
double giveCastingTime ()
bool isActivated (TimeStep *atTime)
virtual int hasNonLinearBehaviour ()
 Returns nonzero if receiver is non linear.
virtual int hasMaterialModeCapability (MaterialMode mode)
 Tests if material supports material mode.
virtual int setIPValue (const FloatArray &value, GaussPoint *aGaussPoint, InternalStateType type)
 Sets the value of a certain variable at a given integration point to the given value.
virtual int giveIPValue (FloatArray &answer, GaussPoint *aGaussPoint, InternalStateType type, TimeStep *atTime)
 Returns the integration point corresponding value in Reduced form.
virtual int giveIPValueSize (InternalStateType type, GaussPoint *aGaussPoint)
 Returns the corresponding integration point value size in Reduced form.
virtual int giveIntVarCompFullIndx (IntArray &answer, InternalStateType type, MaterialMode mmode)
 Returns the mask of reduced indexes of Internal Variable component.
virtual InternalStateValueType giveIPValueType (InternalStateType type)
 Returns the type of internal variable (scalar, vector, tensor,...).
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 int giveInputRecordString (std::string &str, bool keyword=true)
 Setups the input record string of receiver.
virtual void printYourself ()
 Prints receiver state on stdout. Useful for debugging.
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 initGpForNewStep (GaussPoint *gp)
 Initialize integration point (must be inside material region associated to receiver) when new time step begins.
virtual int initMaterial (Element *element)
 Optional function to call specific procedures when initializing a material.
virtual MaterialStatusgiveStatus (GaussPoint *gp) const
 Returns material status of receiver in given integration point.
virtual int packUnknowns (CommunicationBuffer &buff, TimeStep *stepN, GaussPoint *ip)
 Pack all necessary data of integration point (according to element parallel_mode) into given communication buffer.
virtual int unpackAndUpdateUnknowns (CommunicationBuffer &buff, TimeStep *stepN, GaussPoint *ip)
 Unpack and updates all necessary data of given integration point (according to element parallel_mode) into given communication buffer.
virtual int estimatePackSize (CommunicationBuffer &buff, GaussPoint *ip)
 Estimates the necessary pack size to hold all packed data of receiver.
virtual double predictRelativeComputationalCost (GaussPoint *gp)
 Returns the weight representing relative computational cost of receiver The reference material model is linear isotropic material - its weight is set to 1.0 The other material models should compare to this reference model.
virtual double predictRelativeRedistributionCost (GaussPoint *gp)
 Returns the relative redistribution cost of the receiver.
virtual MaterialStatusCreateStatus (GaussPoint *gp) const
 Creates new copy of associated status and inserts it into given integration point.

Protected Member Functions

virtual void initTempStatus (GaussPoint *gp)
 Initializes temporary variables stored in integration point status at the beginning of new time step.

Protected Attributes

DictionarypropertyDictionary
 Property dictionary.
double castingTime
 Casting time.

Detailed Description

Abstract base class for all material models.

Declares the basic common interface to all material models. Derived classes should expand this interface, because they are assumed to be base classes for analysis specific tasks (for example mechanical or thermal analysis).

Instance of integration point class is assumed to be implicit argument to all method, depending on internal state in point of consideration. To provide opportunity for storing arbitrary material model related history variables in integration points, associated material status class is introduced. Each new material model class should be declared together with its associated status class (derived from MaterialStatus class). This status can be seen as simple container, storing necessary history variables and providing some access and modification methods. Each integration point can contain material status. Material model should create unique copy of its associated status in each integration point. Because integration point is parameter of all messages to material model class, material model therefore can easily access all history variables it needs.

The attribute 'propertyDictionary' contains all the properties of a material like its Young modulus, its mass density or Poisson ratio.

Its task is to indicate whether there required material mode is valid for receiver (method hasMaterialModeCapability). Note: for some material models and linear materials there need not exist support for assembling material char matrix at material level, all is handled properly at crossSection level (_2dBeam mode, 3dShellMode, ...). But this function must indicate whether mode is valid or not for real stress computation.

See also:
MaterialStatus class
GaussPoint class

Definition at line 88 of file material.h.


Constructor & Destructor Documentation

oofem::Material::Material ( int  n,
Domain d 
) [inline]

Constructor.

Creates material with given number, belonging to given domain.

Parameters:
nMaterial number.
dDomain to which new material will belong.

Definition at line 114 of file material.h.

virtual oofem::Material::~Material ( ) [inline, virtual]

Destructor.

Definition at line 116 of file material.h.

References propertyDictionary.


Member Function Documentation

virtual MaterialStatus* oofem::Material::CreateStatus ( GaussPoint gp) const [inline, virtual]

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 in oofem::ConcreteDPM2, oofem::HellmichMaterial, oofem::ConcreteDPM, oofem::DustMaterial, oofem::DruckerPragerPlasticitySM, oofem::MDM, oofem::IsotropicDamageMaterial1, oofem::HydrationModel, oofem::IsotropicDamageMaterial, oofem::MPlasticMaterial2, oofem::IDNLMaterial, oofem::RCM2Material, oofem::RheoChainMaterial, oofem::TrabBone3D, oofem::MPlasticMaterial, oofem::IsoInterfaceDamageMaterial, oofem::MPSMaterial, oofem::TrabBoneNL3D, oofem::Concrete2, oofem::PerfectlyPlasticMaterial, oofem::IsoInterfaceDamageMaterial, oofem::CebFipSlip90Material, oofem::PlasticMaterial, oofem::RCSDNLMaterial, oofem::IsotropicLinearElasticMaterial, oofem::SimpleInterfaceMaterial, oofem::BinghamFluidMaterial2, oofem::FE2FluidMaterial, oofem::MazarsNLMaterial, oofem::CompoDamageMat, oofem::RCSDMaterial, oofem::RCSDEMaterial, oofem::CemhydMat, oofem::CohesiveInterfaceMaterial, oofem::NonlinearFluidMaterial, oofem::RankineMat, oofem::B3SolidMaterial, oofem::OrthotropicLinearElasticMaterial, oofem::RVEStokesFlow, oofem::AnisotropicMassTransferMaterial, oofem::MazarsMaterial, oofem::Masonry02, oofem::AbaqusUserMaterial, oofem::MisesMat, oofem::HydratingConcreteMat, oofem::MicroMaterial, oofem::TrabBoneGrad3D, oofem::HydratingIsoHeatMaterial, oofem::HeMoTKMaterial, oofem::DruckerPragerCutMat, oofem::KelvinChainMaterial, oofem::MaxwellChainMaterial, oofem::KelvinChainSolidMaterial, oofem::TwoFluidMaterial, oofem::NewtonianFluidMaterial, oofem::NonlinearMassTransferMaterial, oofem::LsMasterMat, oofem::HyperElasticMaterial, oofem::BazantNajjarMoistureTransferMaterial, oofem::HydratingHeMoMaterial, oofem::IsotropicHeatTransferMaterial, oofem::LsMasterMatGrad, oofem::IsotropicMoistureTransferMaterial, oofem::MicroplaneMaterial_Bazant, oofem::IsotropicLinMoistureTransferMaterial, oofem::Concrete3, oofem::J2Mat, oofem::J2plasticMaterial, oofem::J2MPlasticMaterial, and oofem::RankinePlasticMaterial.

Definition at line 357 of file material.h.

virtual int oofem::Material::estimatePackSize ( CommunicationBuffer buff,
GaussPoint ip 
) [inline, virtual]

Estimates the necessary pack size to hold all packed data of receiver.

Reimplemented in oofem::MDM, oofem::IDNLMaterial, oofem::TrabBoneNL3D, oofem::RCSDNLMaterial, and oofem::MazarsNLMaterial.

Definition at line 337 of file material.h.

Referenced by oofem::CrossSection::estimatePackSize().

double oofem::Material::give ( int  aProperty,
GaussPoint gp 
) [virtual]

Returns the value of material property 'aProperty'.

Property must be identified by unique int id. Integration point also passed to allow for materials with spatially varying properties

Parameters:
aPropertyID of property requested.
gpIntegration point,
Returns:
Property value.

Reimplemented in oofem::HellmichMaterial, oofem::IsotropicDamageMaterial1, oofem::Concrete2, oofem::RCM2Material, oofem::PerfectlyPlasticMaterial, oofem::BinghamFluidMaterial2, oofem::RCSDMaterial, oofem::RCSDEMaterial, oofem::IsotropicLinearElasticMaterial, oofem::NonlinearFluidMaterial, oofem::OrthotropicLinearElasticMaterial, oofem::HeMoTKMaterial, oofem::TwoFluidMaterial, oofem::NewtonianFluidMaterial, and oofem::IsotropicHeatTransferMaterial.

Definition at line 70 of file material.C.

References oofem::Dictionary::at(), oofem::GaussPoint::giveElement(), oofem::FEMComponent::giveNumber(), oofem::GaussPoint::giveNumber(), oofem::Dictionary::includes(), OOFEM_ERROR4, and propertyDictionary.

Referenced by oofem::CompoDamageMat::checkSnapBack(), oofem::IDNLMaterial::computeAngleAndSigmaRatio(), oofem::TR1_2D_SUPG::computeBCRhsTerm_MB(), oofem::TR1_2D_SUPG::computeBCRhsTerm_MC(), oofem::TrPlaneStrRot::computeBodyLoadVectorAt(), oofem::CCTPlate::computeBodyLoadVectorAt(), oofem::TrPlaneStrRot3d::computeBodyLoadVectorAt(), oofem::CCTPlate3d::computeBodyLoadVectorAt(), oofem::Quad1Mindlin::computeBodyLoadVectorAt(), oofem::RerShell::computeBodyLoadVectorAt(), oofem::Quad1MindlinShell3D::computeBodyLoadVectorAt(), oofem::StructuralElement::computeBodyLoadVectorAt(), oofem::Beam3d::computeConsistentMassMatrix(), oofem::Beam2d::computeConsistentMassMatrix(), oofem::StructuralElementEvaluator::computeConsistentMassMatrix(), oofem::StructuralElement::computeConsistentMassMatrix(), oofem::Shell7Base::computeConvectiveMassForce(), oofem::MDM::computeDamageOnPlane(), oofem::IsotropicDamageMaterial1::computeDamageParamForCohesiveCrack(), oofem::IDGMaterial::computeEquivalentStrain(), oofem::IsotropicDamageMaterial1::computeEquivalentStrain(), oofem::IDGMaterial::computeEta(), oofem::IsotropicDamageMaterial1::computeEta(), oofem::TR1_2D_SUPG::computeHomogenizedReinforceTerm_MB(), oofem::TR1_2D_SUPG::computeHomogenizedReinforceTerm_MC(), oofem::Line2SurfaceTension::computeLoadVector(), oofem::LineSurfaceTension::computeLoadVector(), oofem::LIBeam2dNL::computeLumpedMassMatrix(), oofem::LIBeam3d::computeLumpedMassMatrix(), oofem::LIBeam2d::computeLumpedMassMatrix(), oofem::Truss2d::computeLumpedMassMatrix(), oofem::Truss3d::computeLumpedMassMatrix(), oofem::LIBeam3dNL::computeLumpedMassMatrix(), oofem::LIBeam3dNL2::computeLumpedMassMatrix(), oofem::RerShell::computeLumpedMassMatrix(), oofem::Truss1d::computeLumpedMassMatrix(), oofem::LTRSpace::computeLumpedMassMatrix(), oofem::LIBeam3d2::computeLumpedMassMatrix(), oofem::Quad1Mindlin::computeLumpedMassMatrix(), oofem::CCTPlate::computeLumpedMassMatrix(), oofem::Quad1MindlinShell3D::computeLumpedMassMatrix(), oofem::Shell7Base::computeMassMatrix(), oofem::Shell7Base::computeMassMatrixNum(), oofem::Line2SurfaceTension::computeTangent(), oofem::LineSurfaceTension::computeTangent(), oofem::PerfectlyPlasticMaterial::give(), oofem::RCM2Material::give(), oofem::Concrete2::give(), oofem::IDGMaterial::give1dGprime(), oofem::IDGMaterial::give1dStressStiffMtrx(), oofem::TransportMaterial::giveIPValue(), oofem::MDM::giveRawMDMParameters(), oofem::RCSDNLMaterial::giveRealStressVector(), oofem::RCSDEMaterial::giveRealStressVector(), oofem::RCSDMaterial::giveRealStressVector(), oofem::CompoDamageMat::giveRealStressVector(), oofem::IDNLMaterial::giveRemoteNonlocalStiffnessContribution(), oofem::CompoDamageMat::giveUnrotated3dMaterialStiffnessMatrix(), oofem::IDGMaterial::initDamaged(), oofem::IsotropicDamageMaterial1::initDamaged(), oofem::CompoDamageMat::initializeFrom(), oofem::NonlocalMaterialExtensionInterface::manipulateWeight(), oofem::MisesMat::performPlasticityReturn(), oofem::ConcreteDPMStatus::restoreConsistency(), and oofem::ConcreteDPMStatus::updateYourself().

double oofem::Material::giveCastingTime ( ) [inline]
void oofem::Material::giveCharacteristicMatrix ( FloatMatrix answer,
MatResponseForm  form,
MatResponseMode  mode,
GaussPoint gp,
TimeStep atTime 
) [virtual]
double oofem::Material::giveCharacteristicValue ( MatResponseMode  mode,
GaussPoint gp,
TimeStep atTime 
) [virtual]

Computes the characteristic value 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:
modeMaterial response mode.
gpIntegration point.
atTimeTime step (most models are able to respond only when atTime is current time step).

Reimplemented in oofem::TransportMaterial, oofem::BinghamFluidMaterial2, oofem::RVEStokesFlow, oofem::NonlinearFluidMaterial, oofem::CemhydMat, oofem::AnisotropicMassTransferMaterial, oofem::HeMoTKMaterial, oofem::HydratingIsoHeatMaterial, oofem::TwoFluidMaterial, oofem::NonlinearMassTransferMaterial, oofem::NewtonianFluidMaterial, oofem::IsotropicHeatTransferMaterial, oofem::HydratingHeMoMaterial, oofem::IsotropicMoistureTransferMaterial, and oofem::HydratingConcreteMat.

Definition at line 57 of file material.C.

References _error.

Referenced by oofem::TR1_2D_SUPG_AXI::computeAccelerationTerm_MB(), oofem::TR1_2D_SUPG2_AXI::computeAccelerationTerm_MB(), oofem::SUPGElement2::computeAccelerationTerm_MB(), oofem::TR1_2D_SUPG::computeAccelerationTerm_MB(), oofem::TR1_2D_SUPG2::computeAccelerationTerm_MB(), oofem::TR21_2D_SUPG::computeAdvectionDeltaTerm(), oofem::Quad10_2D_SUPG::computeAdvectionDeltaTerm(), oofem::TR1_2D_SUPG_AXI::computeAdvectionDerivativeTerm_MB(), oofem::TR1_2D_SUPG2_AXI::computeAdvectionDerivativeTerm_MB(), oofem::SUPGElement2::computeAdvectionDerivativeTerm_MB(), oofem::TR1_2D_SUPG::computeAdvectionDerivativeTerm_MB(), oofem::TR1_2D_SUPG2::computeAdvectionDerivativeTerm_MB(), oofem::TR21_2D_SUPG::computeAdvectionTerm(), oofem::Quad10_2D_SUPG::computeAdvectionTerm(), oofem::TR1_2D_SUPG_AXI::computeAdvectionTerm_MB(), oofem::TR1_2D_SUPG2_AXI::computeAdvectionTerm_MB(), oofem::SUPGElement2::computeAdvectionTerm_MB(), oofem::TR1_2D_SUPG::computeAdvectionTerm_MB(), oofem::TR1_2D_SUPG2::computeAdvectionTerm_MB(), oofem::TR1_2D_SUPG_AXI::computeBCRhsTerm_MB(), oofem::TR1_2D_SUPG2_AXI::computeBCRhsTerm_MB(), oofem::SUPGElement2::computeBCRhsTerm_MB(), oofem::TR1_2D_SUPG::computeBCRhsTerm_MB(), oofem::TR1_2D_SUPG2::computeBCRhsTerm_MB(), oofem::TR1_2D_SUPG::computeBCRhsTerm_MC(), oofem::Tr1BubbleStokes::computeBodyLoadVectorAt(), oofem::Tr21Stokes::computeBodyLoadVectorAt(), oofem::Tet1BubbleStokes::computeBodyLoadVectorAt(), oofem::Tet21Stokes::computeBodyLoadVectorAt(), oofem::TR1_2D_CBS::computeConsistentMassMtrx(), oofem::TR1_2D_CBS::computeConvectionTermsI(), oofem::TR1_2D_CBS::computeDensityRhsVelocityTerms(), oofem::TR1_2D_CBS::computeDiagonalMassMtrx(), oofem::TR1_2D_SUPG_AXI::computeDiffusionDerivativeTerm_MC(), oofem::TR1_2D_SUPG2_AXI::computeDiffusionDerivativeTerm_MC(), oofem::SUPGElement2::computeDiffusionDerivativeTerm_MC(), oofem::TR1_2D_SUPG_AXI::computeDiffusionTerm_MC(), oofem::TR1_2D_SUPG2_AXI::computeDiffusionTerm_MC(), oofem::TR1_2D_CBS::computeDiffusionTermsI(), oofem::TR1_2D_SUPG::computeHomogenizedReinforceTerm_MC(), oofem::TR1_2D_SUPG_AXI::computeLSICStabilizationTerm_MB(), oofem::TR1_2D_SUPG2_AXI::computeLSICStabilizationTerm_MB(), oofem::SUPGElement2::computeLSICStabilizationTerm_MB(), oofem::TR1_2D_SUPG::computeLSICStabilizationTerm_MB(), oofem::TR1_2D_SUPG2::computeLSICStabilizationTerm_MB(), oofem::TR21_2D_SUPG::computeLSICTerm(), oofem::Quad10_2D_SUPG::computeLSICTerm(), oofem::TR21_2D_SUPG::computeMassDeltaTerm(), oofem::Quad10_2D_SUPG::computeMassDeltaTerm(), oofem::TR1_2D_SUPG_AXI::computePressureTerm_MC(), oofem::TR1_2D_SUPG2_AXI::computePressureTerm_MC(), oofem::SUPGElement2::computePressureTerm_MC(), oofem::TR1_2D_SUPG::computePressureTerm_MC(), oofem::TR1_2D_SUPG2::computePressureTerm_MC(), oofem::TR1_2D_CBS::giveInternalStateAtNode(), oofem::Quad10_2D_SUPG::giveIPValue(), oofem::TR1_2D_CBS::giveIPValue(), oofem::TR1_2D_SUPG2::giveIPValue(), oofem::TR1_2D_SUPG::giveIPValue(), oofem::FluidDynamicMaterial::giveIPValue(), oofem::TR1_2D_SUPG2_AXI::printOutputAt(), oofem::TR1_2D_SUPG2::printOutputAt(), oofem::TR1_2D_SUPG::printOutputAt(), oofem::Tet1_3D_SUPG::updateStabilizationCoeffs(), oofem::TR1_2D_SUPG_AXI::updateStabilizationCoeffs(), oofem::TR1_2D_SUPG2_AXI::updateStabilizationCoeffs(), oofem::TR1_2D_SUPG2::updateStabilizationCoeffs(), oofem::TR1_2D_SUPG::updateStabilizationCoeffs(), oofem::TR21_2D_SUPG::updateStabilizationCoeffs(), and oofem::Quad10_2D_SUPG::updateStabilizationCoeffs().

virtual classType oofem::Material::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::FEMComponent.

Reimplemented in oofem::HellmichMaterial, oofem::ConcreteDPM2, oofem::ConcreteDPM, oofem::DustMaterial, oofem::HydrationModel, oofem::MDM, oofem::DruckerPragerPlasticitySM, oofem::MPlasticMaterial2, oofem::StructuralMaterial, oofem::Concrete2, oofem::TrabBone3D, oofem::IsotropicDamageMaterial1, oofem::IsotropicDamageMaterial, oofem::FluidDynamicMaterial, oofem::RCM2Material, oofem::MicroplaneMaterial, oofem::MPSMaterial, oofem::MPlasticMaterial, oofem::RheoChainMaterial, oofem::TransportMaterial, oofem::FE2FluidMaterial, oofem::PerfectlyPlasticMaterial, oofem::BinghamFluidMaterial2, oofem::CompoDamageMat, oofem::IsoInterfaceDamageMaterial, oofem::PlasticMaterial, oofem::LinearElasticMaterial, oofem::IsoInterfaceDamageMaterial, oofem::RCSDMaterial, oofem::NonlinearFluidMaterial, oofem::RCSDEMaterial, oofem::AbaqusUserMaterial, oofem::IDNLMaterial, oofem::RVEStokesFlow, oofem::CebFipSlip90Material, oofem::M4Material, oofem::B3SolidMaterial, oofem::RankineMat, oofem::RCSDNLMaterial, oofem::AnisotropicMassTransferMaterial, oofem::IsotropicLinearElasticMaterial, oofem::OrthotropicLinearElasticMaterial, oofem::MazarsNLMaterial, oofem::SimpleInterfaceMaterial, oofem::MazarsMaterial, oofem::DruckerPragerCutMat, oofem::HeMoTKMaterial, oofem::MisesMat, oofem::NlIsoMoistureMaterial, oofem::TrabBoneNL3D, oofem::CohesiveInterfaceMaterial, oofem::HydratingIsoHeatMaterial, oofem::SurfaceTensionMaterial, oofem::Masonry02, oofem::CemhydMat, oofem::HyperElasticMaterial, oofem::TrabBoneGrad3D, oofem::TwoFluidMaterial, oofem::NewtonianFluidMaterial, oofem::NonlinearMassTransferMaterial, oofem::MaxwellChainMaterial, oofem::KelvinChainMaterial, oofem::KelvinChainSolidMaterial, oofem::LsMasterMat, oofem::B3Material, oofem::LsMasterMatGrad, oofem::IsotropicHeatTransferMaterial, oofem::MicroplaneMaterial_Bazant, oofem::BazantNajjarMoistureTransferMaterial, oofem::HydratingHeMoMaterial, oofem::IsotropicMoistureTransferMaterial, oofem::Concrete3, oofem::IDGMaterial, oofem::HydratingConcreteMat, oofem::J2plasticMaterial, oofem::CebFip78Material, oofem::J2Mat, oofem::J2MPlasticMaterial, oofem::IsotropicLinMoistureTransferMaterial, oofem::RankinePlasticMaterial, oofem::DoublePowerLawMaterial, oofem::DummyMaterial, oofem::DeformationTheoryMaterial, and oofem::Steel1.

Definition at line 251 of file material.h.

References oofem::MaterialClass.

virtual const char* oofem::Material::giveClassName ( ) const [inline, virtual]
Returns:
Class name of the receiver.

Implements oofem::FEMComponent.

Reimplemented in oofem::HellmichMaterial, oofem::ConcreteDPM2, oofem::ConcreteDPM, oofem::DustMaterial, oofem::HydrationModel, oofem::MDM, oofem::DruckerPragerPlasticitySM, oofem::MPlasticMaterial2, oofem::StructuralMaterial, oofem::Concrete2, oofem::TrabBone3D, oofem::IsotropicDamageMaterial1, oofem::IsotropicDamageMaterial, oofem::FluidDynamicMaterial, oofem::RCM2Material, oofem::MicroplaneMaterial, oofem::MPSMaterial, oofem::MPlasticMaterial, oofem::RheoChainMaterial, oofem::TransportMaterial, oofem::FE2FluidMaterial, oofem::PerfectlyPlasticMaterial, oofem::BinghamFluidMaterial2, oofem::CompoDamageMat, oofem::IsoInterfaceDamageMaterial, oofem::PlasticMaterial, oofem::LinearElasticMaterial, oofem::IsoInterfaceDamageMaterial, oofem::RCSDMaterial, oofem::NonlinearFluidMaterial, oofem::RCSDEMaterial, oofem::AbaqusUserMaterial, oofem::IDNLMaterial, oofem::RVEStokesFlow, oofem::CebFipSlip90Material, oofem::M4Material, oofem::B3SolidMaterial, oofem::RankineMat, oofem::RCSDNLMaterial, oofem::AnisotropicMassTransferMaterial, oofem::IsotropicLinearElasticMaterial, oofem::OrthotropicLinearElasticMaterial, oofem::MazarsNLMaterial, oofem::SimpleInterfaceMaterial, oofem::MazarsMaterial, oofem::DruckerPragerCutMat, oofem::MicroMaterial, oofem::HeMoTKMaterial, oofem::MisesMat, oofem::NlIsoMoistureMaterial, oofem::TrabBoneNL3D, oofem::CohesiveInterfaceMaterial, oofem::HydratingIsoHeatMaterial, oofem::SurfaceTensionMaterial, oofem::Masonry02, oofem::CemhydMat, oofem::HyperElasticMaterial, oofem::TrabBoneGrad3D, oofem::TwoFluidMaterial, oofem::NewtonianFluidMaterial, oofem::NonlinearMassTransferMaterial, oofem::MaxwellChainMaterial, oofem::KelvinChainMaterial, oofem::KelvinChainSolidMaterial, oofem::LsMasterMat, oofem::B3Material, oofem::LsMasterMatGrad, oofem::HOMExportModule, oofem::IsotropicHeatTransferMaterial, oofem::MicroplaneMaterial_Bazant, oofem::BazantNajjarMoistureTransferMaterial, oofem::HydratingHeMoMaterial, oofem::IsotropicMoistureTransferMaterial, oofem::Concrete3, oofem::IDGMaterial, oofem::HydratingConcreteMat, oofem::J2plasticMaterial, oofem::CebFip78Material, oofem::J2Mat, oofem::J2MPlasticMaterial, oofem::IsotropicLinMoistureTransferMaterial, oofem::RankinePlasticMaterial, oofem::DoublePowerLawMaterial, oofem::DummyMaterial, oofem::DeformationTheoryMaterial, and oofem::Steel1.

Definition at line 250 of file material.h.

Referenced by oofem::HellmichMaterial::createMaterialGp().

int oofem::Material::giveInputRecordString ( std::string &  str,
bool  keyword = true 
) [virtual]
int oofem::Material::giveIntVarCompFullIndx ( IntArray answer,
InternalStateType  type,
MaterialMode  mmode 
) [virtual]
int oofem::Material::giveIPValue ( FloatArray answer,
GaussPoint aGaussPoint,
InternalStateType  type,
TimeStep atTime 
) [virtual]

Returns the integration point corresponding value in Reduced form.

Parameters:
answerContain corresponding ip value, zero sized if not available.
aGaussPointIntegration point to which the value refers.
typeDetermines the type of internal variable.
atTimeDetermines the time step.
Returns:
Nonzero if the assignment can be done, zero if this type of variable is not supported.

Reimplemented in oofem::ConcreteDPM2, oofem::HellmichMaterial, oofem::ConcreteDPM, oofem::DustMaterial, oofem::DruckerPragerPlasticitySM, oofem::StructuralMaterial, oofem::MDM, oofem::MPlasticMaterial2, oofem::TrabBone3D, oofem::IsotropicDamageMaterial, oofem::RCM2Material, oofem::MPlasticMaterial, oofem::FluidDynamicMaterial, oofem::PerfectlyPlasticMaterial, oofem::TransportMaterial, oofem::IsoInterfaceDamageMaterial, oofem::IsoInterfaceDamageMaterial, oofem::FE2FluidMaterial, oofem::CompoDamageMat, oofem::PlasticMaterial, oofem::RankineMat, oofem::CebFipSlip90Material, oofem::DruckerPragerCutMat, oofem::MisesMat, oofem::SimpleInterfaceMaterial, oofem::HeMoTKMaterial, oofem::CohesiveInterfaceMaterial, oofem::RVEStokesFlow, oofem::AnisotropicMassTransferMaterial, oofem::CemhydMat, oofem::LsMasterMat, oofem::HydratingIsoHeatMaterial, oofem::NonlinearMassTransferMaterial, oofem::HydratingHeMoMaterial, oofem::IsotropicHeatTransferMaterial, oofem::HydratingConcreteMat, and oofem::IsotropicMoistureTransferMaterial.

Definition at line 152 of file material.C.

References oofem::FloatArray::resize().

Referenced by oofem::MMAClosestIPTransfer::__mapVariable(), oofem::MMAContainingElementProjection::__mapVariable(), oofem::Lattice2d::drawSpecial(), oofem::VTKExportModule::exportCellVars(), and oofem::CrossSection::giveIPValue().

int oofem::Material::giveIPValueSize ( InternalStateType  type,
GaussPoint aGaussPoint 
) [virtual]

Returns material status of receiver in given integration point.

If status does not exist yet, it is created using CreateStatus member function.

Parameters:
gpReturns reference to material status belonging to integration point gp.
Returns:
Material status associated with given integration point.

Reimplemented in oofem::ConcreteDPM, oofem::IsotropicDamageMaterial1, and oofem::HydrationModel.

Definition at line 248 of file material.C.

Referenced by oofem::RandomMaterialExtensionInterface::_generateStatusVariables(), oofem::MDM::applyDamageToStiffness(), oofem::ConcreteDPM2::assignStateFlag(), oofem::NonlocalMaterialExtensionInterface::buildNonlocalPointTable(), oofem::RCM2Material::checkForNewActiveCracks(), oofem::RCM2Material::checkIfClosedCracks(), oofem::CompoDamageMat::checkSnapBack(), oofem::CemhydMat::clearWeightTemperatureProductVolume(), oofem::MPlasticMaterial::closestPointReturn(), oofem::MPlasticMaterial2::closestPointReturn(), oofem::DustMaterial::computeAndSetBulkAndShearModuli(), oofem::HeMoTKMaterial::computeCapacityCoeff(), oofem::MisesMat::computeCumPlastStrain(), oofem::TrabBoneGrad3D::computeCumPlastStrain(), oofem::TrabBoneNL3D::computeCumPlastStrain(), oofem::RankineMat::computeCumPlastStrain(), oofem::TrabBone3D::computeCumPlastStrain(), oofem::MisesMat::computeDamage(), oofem::RankineMat::computeDamage(), oofem::ConcreteDPM2::computeDamage(), oofem::MDM::computeDamageOnPlane(), oofem::ConcreteDPM2::computeDamageParam(), oofem::MDM::computeDamageTensor(), oofem::ConcreteDPM2::computeDeltaPlasticStrainNormCompression(), oofem::ConcreteDPM2::computeDeltaPlasticStrainNormTension(), oofem::TrabBone3D::computeDensificationStress(), oofem::NewtonianFluidMaterial::computeDeviatoricStressVector(), oofem::TwoFluidMaterial::computeDeviatoricStressVector(), oofem::NonlinearFluidMaterial::computeDeviatoricStressVector(), oofem::BinghamFluidMaterial2::computeDeviatoricStressVector(), oofem::FE2FluidMaterial::computeDeviatoricStressVector(), oofem::TR1_2D_CBS::computeDiffusionTermsI(), oofem::ConcreteDPM2::computeDuctilityMeasureDamage(), oofem::ConcreteDPM2::computeEquivalentStrain(), oofem::MPSMaterial::computeEquivalentTime(), oofem::MPSMaterial::computeFlowTermViscosity(), oofem::LIBeam2dNL::computeInitialStressMatrix(), oofem::HydratingConcreteMat::computeInternalSourceVector(), oofem::CemhydMat::computeInternalSourceVector(), oofem::MDM::computeLocalDamageTensor(), oofem::B3SolidMaterial::computeMicroPrestress(), oofem::TrabBone3D::computePlasStrainEnerDensity(), oofem::TR1_2D_CBS::computePrescribedTractionPressure(), oofem::ConcreteDPM2::computeRateFactor(), oofem::PlasticMaterial::ComputeResidualVector(), oofem::MPlasticMaterial::computeResidualVector(), oofem::MPlasticMaterial2::computeResidualVector(), oofem::ConcreteDPM2::computeSecantStiffness(), oofem::B3Material::computeShrinkageStrainVector(), oofem::B3SolidMaterial::computeShrinkageStrainVector(), oofem::NLStructuralElement::computeStiffnessMatrix(), oofem::GradDpElement::computeStiffnessMatrix_uu(), oofem::NLStructuralElement::computeStiffnessMatrix_withIRulesAsSubcells(), oofem::LIBeam3d2::computeStrainVector(), oofem::LIBeam3dNL::computeTempCurv(), oofem::LIBeam3dNL2::computeTempCurv(), oofem::HellmichMaterial::computeViscosity(), oofem::HellmichMaterial::computeViscousSlipIncrement(), oofem::HellmichMaterial::createMaterialGp(), oofem::TwoFluidMaterial::CreateStatus(), oofem::MPlasticMaterial::cuttingPlaneReturn(), oofem::MPlasticMaterial2::cuttingPlaneReturn(), oofem::GPInitModule::doInit(), oofem::NonlocalMaterialExtensionInterface::endIPNonlocalAverage(), oofem::RCSDNLMaterial::estimatePackSize(), oofem::RankineMat::evaluatePlaneStressStiffMtrx(), oofem::RandomMaterialExtensionInterface::give(), oofem::CebFipSlip90Material::give1dInterfaceMaterialStiffnessMatrix(), oofem::HellmichMaterial::give1dMaterialStiffnessMatrix(), oofem::MisesMat::give1dStressStiffMtrx(), oofem::IsotropicDamageMaterial::give1dStressStiffMtrx(), oofem::IsoInterfaceDamageMaterial::give2dInterfaceMaterialStiffnessMatrix(), oofem::LsMasterMatGrad::give3dGprime(), oofem::TrabBoneGrad3D::give3dGprime(), oofem::IsoInterfaceDamageMaterial::give3dInterfaceMaterialStiffnessMatrix(), oofem::LsMasterMatGrad::give3dKappaMatrix(), oofem::TrabBoneGrad3D::give3dKappaMatrix(), oofem::MisesMat::give3dLSMaterialStiffnessMatrix(), oofem::HyperElasticMaterial::give3dMaterialStiffnessMatrix(), oofem::LsMasterMatGrad::give3dMaterialStiffnessMatrix(), oofem::LsMasterMat::give3dMaterialStiffnessMatrix(), oofem::TrabBoneGrad3D::give3dMaterialStiffnessMatrix(), oofem::TrabBoneNL3D::give3dMaterialStiffnessMatrix(), oofem::TrabBone3D::give3dMaterialStiffnessMatrix(), oofem::IsotropicDamageMaterial::give3dMaterialStiffnessMatrix(), oofem::DruckerPragerPlasticitySM::give3dMaterialStiffnessMatrix(), oofem::DustMaterial::give3dMaterialStiffnessMatrix(), oofem::HellmichMaterial::give3dMaterialStiffnessMatrix(), oofem::MisesMat::give3dSSMaterialStiffnessMatrix(), oofem::CemhydMatStatus::giveAverageTemperature(), oofem::NonlinearMassTransferMaterial::giveCharacteristicMatrix(), oofem::AbaqusUserMaterial::giveCharacteristicMatrix(), oofem::RVEStokesFlow::giveCharacteristicMatrix(), oofem::HellmichMaterial::giveCharacteristicMatrix(), oofem::PlaneStress2d::giveCharacteristicSize(), oofem::TrPlaneStrRot3d::giveCharacteristicTensor(), oofem::CCTPlate3d::giveCharacteristicTensor(), oofem::HydratingConcreteMat::giveCharacteristicValue(), oofem::HydratingHeMoMaterial::giveCharacteristicValue(), oofem::HydratingIsoHeatMaterial::giveCharacteristicValue(), oofem::CemhydMat::giveCharacteristicValue(), oofem::BinghamFluidMaterial2::giveCharacteristicValue(), oofem::CompoDamageMat::giveCharLengthForModes(), oofem::CemhydMat::giveConcreteCapacity(), oofem::CemhydMat::giveConcreteDensity(), oofem::PlasticMaterial::giveConsistentStiffnessMatrix(), oofem::MPlasticMaterial::giveConsistentStiffnessMatrix(), oofem::MPlasticMaterial2::giveConsistentStiffnessMatrix(), oofem::RCM2Material::giveCrackedStiffnessMatrix(), oofem::Lattice2d::giveCrackFlag(), oofem::Concrete3::giveCrackingModulus(), oofem::RCSDEMaterial::giveCrackingModulus(), oofem::RCSDMaterial::giveCrackingModulus(), oofem::Lattice2d::giveCrackWidth(), oofem::CemhydMat::giveCycleNumber(), oofem::Lattice2d::giveDeltaDissipation(), oofem::FE2FluidMaterial::giveDeviatoricPressureStiffness(), oofem::FluidDynamicMaterial::giveDeviatoricPressureStiffness(), oofem::NonlinearFluidMaterial::giveDeviatoricStiffnessMatrix(), oofem::BinghamFluidMaterial2::giveDeviatoricStiffnessMatrix(), oofem::FE2FluidMaterial::giveDeviatoricStiffnessMatrix(), oofem::Lattice2d::giveDissipation(), oofem::CemhydMat::giveDoHActual(), oofem::RCSDEMaterial::giveEffectiveMaterialStiffnessMatrix(), oofem::RCSDMaterial::giveEffectiveMaterialStiffnessMatrix(), oofem::RCM2Material::giveEffectiveMaterialStiffnessMatrix(), oofem::KelvinChainSolidMaterial::giveEigenStrainVector(), oofem::KelvinChainMaterial::giveEigenStrainVector(), oofem::MaxwellChainMaterial::giveEigenStrainVector(), oofem::B3SolidMaterial::giveEigenStrainVector(), oofem::MPSMaterial::giveEigenStrainVector(), oofem::HellmichMaterial::giveEigenStrainVector(), oofem::MPlasticMaterial::giveElastoPlasticStiffnessMatrix(), oofem::MPlasticMaterial2::giveElastoPlasticStiffnessMatrix(), oofem::MPSMaterial::giveEModulus(), oofem::NonlinearMassTransferMaterial::giveFluxVector(), oofem::AnisotropicMassTransferMaterial::giveFluxVector(), oofem::RVEStokesFlow::giveFluxVector(), oofem::HellmichMaterial::giveGamma0(), oofem::BazantNajjarMoistureTransferMaterial::giveHumidity(), oofem::NlIsoMoistureMaterial::giveHumidity(), oofem::HeMoTKMaterial::giveHumidity(), oofem::MPSMaterial::giveHumidity(), oofem::HellmichMaterial::giveHumidity(), oofem::FiberedCrossSection::GiveIntegrated3dBeamStress(), oofem::LayeredCrossSection::giveIntegrated3dShellStress(), oofem::LIBeam3dNL2::giveInternalForcesVector(), oofem::LIBeam3dNL::giveInternalForcesVector(), oofem::StructuralElementEvaluator::giveInternalForcesVector(), oofem::NLStructuralElement::giveInternalForcesVector(), oofem::StructuralElement::giveInternalForcesVector(), oofem::NLStructuralElement::giveInternalForcesVector_withIRulesAsSubcells(), oofem::StructuralElement::giveInternalForcesVector_withIRulesAsSubcells(), oofem::NonlocalMaterialExtensionInterface::giveIPIntegrationList(), oofem::HydratingConcreteMat::giveIPValue(), oofem::NonlinearMassTransferMaterial::giveIPValue(), oofem::Quad1Mindlin::giveIPValue(), oofem::LsMasterMat::giveIPValue(), oofem::AnisotropicMassTransferMaterial::giveIPValue(), oofem::CemhydMat::giveIPValue(), oofem::RVEStokesFlow::giveIPValue(), oofem::Quad1MindlinShell3D::giveIPValue(), oofem::CCTPlate::giveIPValue(), oofem::FiberedCrossSection::giveIPValue(), oofem::MisesMat::giveIPValue(), oofem::RankineMat::giveIPValue(), oofem::PlasticMaterial::giveIPValue(), oofem::CompoDamageMat::giveIPValue(), oofem::FE2FluidMaterial::giveIPValue(), oofem::IsoInterfaceDamageMaterial::giveIPValue(), oofem::TransportMaterial::giveIPValue(), oofem::PerfectlyPlasticMaterial::giveIPValue(), oofem::FluidDynamicMaterial::giveIPValue(), oofem::MPlasticMaterial::giveIPValue(), oofem::RCM2Material::giveIPValue(), oofem::IsotropicDamageMaterial::giveIPValue(), oofem::TrabBone3D::giveIPValue(), oofem::MPlasticMaterial2::giveIPValue(), oofem::MDM::giveIPValue(), oofem::StructuralMaterial::giveIPValue(), oofem::DruckerPragerPlasticitySM::giveIPValue(), oofem::DustMaterial::giveIPValue(), oofem::HellmichMaterial::giveIPValue(), oofem::ConcreteDPM2::giveIPValue(), oofem::HydratingConcreteMat::giveIsotropicConductivity(), oofem::CemhydMat::giveIsotropicConductivity(), oofem::HellmichMaterial::giveKvCoeffs(), oofem::TrabBoneNL3D::giveLocalNonlocalStiffnessContribution(), oofem::PerfectlyPlasticMaterial::giveMaterialStiffnessMatrix(), oofem::MDM::giveMaterialStiffnessMatrix(), oofem::Concrete3::giveMinCrackStrainsForFullyOpenCrack(), oofem::RCSDMaterial::giveMinCrackStrainsForFullyOpenCrack(), oofem::GradDpElement::giveNonlocalInternalForcesVector(), oofem::Concrete3::giveNormalCrackingStress(), oofem::RCSDEMaterial::giveNormalCrackingStress(), oofem::RCSDMaterial::giveNormalCrackingStress(), oofem::MisesMat::givePlaneStrainStiffMtrx(), oofem::IsotropicDamageMaterial::givePlaneStrainStiffMtrx(), oofem::RankineMat::givePlaneStressStiffMtrx(), oofem::IsotropicDamageMaterial::givePlaneStressStiffMtrx(), oofem::HellmichMaterial::givePrestress(), oofem::RCM2Material::giveRealPrincipalStressVector3d(), oofem::LayeredCrossSection::giveRealStresses(), oofem::FiberedCrossSection::giveRealStresses(), oofem::Concrete2::giveRealStresses3dShellLayer(), oofem::MicroplaneMaterial_Bazant::giveRealStressVector(), oofem::HyperElasticMaterial::giveRealStressVector(), oofem::LsMasterMatGrad::giveRealStressVector(), oofem::LsMasterMat::giveRealStressVector(), oofem::TrabBoneGrad3D::giveRealStressVector(), oofem::CohesiveInterfaceMaterial::giveRealStressVector(), oofem::SimpleInterfaceMaterial::giveRealStressVector(), oofem::AbaqusUserMaterial::giveRealStressVector(), oofem::RCSDNLMaterial::giveRealStressVector(), oofem::LinearElasticMaterial::giveRealStressVector(), oofem::CebFipSlip90Material::giveRealStressVector(), oofem::RankineMat::giveRealStressVector(), oofem::RCSDEMaterial::giveRealStressVector(), oofem::RCSDMaterial::giveRealStressVector(), oofem::PerfectlyPlasticMaterial::giveRealStressVector(), oofem::IsoInterfaceDamageMaterial::giveRealStressVector(), oofem::RheoChainMaterial::giveRealStressVector(), oofem::PlasticMaterial::giveRealStressVector(), oofem::CompoDamageMat::giveRealStressVector(), oofem::TrabBoneNL3D::giveRealStressVector(), oofem::MPlasticMaterial::giveRealStressVector(), oofem::TrabBone3D::giveRealStressVector(), oofem::RCM2Material::giveRealStressVector(), oofem::IsotropicDamageMaterial::giveRealStressVector(), oofem::MPlasticMaterial2::giveRealStressVector(), oofem::MDM::giveRealStressVector(), oofem::DruckerPragerPlasticitySM::giveRealStressVector(), oofem::DustMaterial::giveRealStressVector(), oofem::ConcreteDPM2::giveRealStressVector(), oofem::HellmichMaterial::giveRealStressVector(), oofem::MisesMat::giveRealStressVectorComputedFromDefGrad(), oofem::MisesMat::giveRealStressVectorComputedFromStrain(), oofem::DruckerPragerPlasticitySM::giveRegAlgorithmicStiffMatrix(), oofem::TrabBoneNL3D::giveRemoteNonlocalStiffnessContribution(), oofem::MPSMaterial::giveTemperature(), oofem::HellmichMaterial::giveTemperature(), oofem::HellmichMaterial::giveTemperatureChange(), oofem::CemhydMat::giveTimeOfCycle(), oofem::CompoDamageMat::giveUnrotated3dMaterialStiffnessMatrix(), oofem::DruckerPragerPlasticitySM::giveVertexAlgorithmicStiffMatrix(), oofem::HellmichMaterial::giveViscosity(), oofem::HellmichMaterial::giveViscousSlip(), oofem::FE2FluidMaterial::giveVolumetricDeviatoricStiffness(), oofem::FluidDynamicMaterial::giveVolumetricDeviatoricStiffness(), oofem::FE2FluidMaterial::giveVolumetricPressureStiffness(), oofem::HellmichMaterial::initAuxStatus(), oofem::ConcreteDPM2::initDamaged(), oofem::HellmichMaterial::initGpForNewStep(), oofem::LsMasterMatStatus::initTempStatus(), oofem::MicroplaneMaterial::initTempStatus(), oofem::RCM2Material::initTempStatus(), initTempStatus(), oofem::HellmichMaterial::initTempStatus(), oofem::HeMoTKMaterial::matcond1d(), oofem::HeMoTKMaterial::matcond2d(), oofem::HeMoTKMaterial::matcond3d(), oofem::MDM::MMI_map(), oofem::MDM::MMI_update(), oofem::CCTPlate::NodalAveragingRecoveryMI_computeNodalValue(), oofem::TrabBoneNL3D::NonlocalMaterialStiffnessInterface_addIPContribution(), oofem::TrabBoneNL3D::NonlocalMaterialStiffnessInterface_giveIntegrationDomainList(), oofem::RCSDNLMaterial::packUnknowns(), oofem::TrabBoneNL3D::packUnknowns(), oofem::MDM::packUnknowns(), oofem::DustMaterial::performF1return(), oofem::DustMaterial::performF2return(), oofem::DruckerPragerPlasticitySM::performLocalStressReturn(), oofem::MisesMat::performPlasticityReturn(), oofem::RankineMat::performPlasticityReturn(), oofem::TrabBone3D::performPlasticityReturn(), oofem::ConcreteDPM2::performPlasticityReturn(), oofem::ConcreteDPM2::performRegularReturn(), oofem::DustMaterial::performStressReturn(), oofem::ConcreteDPM2::performVertexReturn(), oofem::HellmichMaterial::plotReturn(), oofem::HellmichMaterial::plotStressPath(), oofem::HellmichMaterial::plotStressStrain(), oofem::MDM::predictRelativeComputationalCost(), oofem::DruckerPragerPlasticitySM::predictRelativeComputationalCost(), oofem::LsMasterMatStatus::printOutputAt(), oofem::CemhydMatStatus::printOutputAt(), oofem::HellmichMaterial::printOutputAt(), oofem::NonlocalMaterialExtensionInterface::rebuildNonlocalPointTable(), restoreIPContext(), oofem::HellmichMaterial::restoreIPContext(), oofem::LsMasterMatStatus::saveContext(), saveIPContext(), oofem::HellmichMaterial::saveIPContext(), oofem::StructuralMaterial::setIPValue(), oofem::DustMaterial::setIPValue(), oofem::HellmichMaterial::stressReturn(), oofem::Concrete2::strsoft(), oofem::RCSDNLMaterial::unpackAndUpdateUnknowns(), oofem::TrabBoneNL3D::unpackAndUpdateUnknowns(), oofem::MDM::unpackAndUpdateUnknowns(), oofem::RCM2Material::updateActiveCrackMap(), oofem::RCSDNLMaterial::updateBeforeNonlocAverage(), oofem::TrabBoneNL3D::updateBeforeNonlocAverage(), oofem::MDM::updateBeforeNonlocAverage(), oofem::RCM2Material::updateCrackStatus(), oofem::HydratingConcreteMat::updateInternalState(), oofem::HydratingHeMoMaterial::updateInternalState(), oofem::HydratingIsoHeatMaterial::updateInternalState(), oofem::CemhydMat::updateInternalState(), oofem::TransportMaterial::updateInternalState(), oofem::RCM2Material::updateStatusForNewCrack(), oofem::Concrete2::updateStirrups(), oofem::M4Material::updateVolumetricStressTo(), oofem::KelvinChainSolidMaterial::updateYourself(), oofem::KelvinChainMaterial::updateYourself(), oofem::MaxwellChainMaterial::updateYourself(), oofem::B3SolidMaterial::updateYourself(), oofem::LsMasterMatStatus::updateYourself(), oofem::PerfectlyPlasticMaterial::updateYourself(), updateYourself(), oofem::MPSMaterial::updateYourself(), and oofem::HellmichMaterial::updateYourself().

virtual int oofem::Material::hasNonLinearBehaviour ( ) [inline, virtual]
bool oofem::Material::hasProperty ( int  aProperty,
GaussPoint gp 
) [virtual]

Returns true if 'aProperty' exists on material.

Parameters:
aPropertyID of property requested.
gpIntegration point.
Returns:
True if 'aProperty' exists.

Definition at line 88 of file material.C.

References oofem::Dictionary::includes(), and propertyDictionary.

Referenced by oofem::NonlocalMaterialExtensionInterface::manipulateWeight().

Initialize integration point (must be inside material region associated to receiver) when new time step begins.

Simply calls initTempStatus function with integration point as parameter.

Parameters:
gpIntegration point to initialize.

Reimplemented in oofem::HellmichMaterial.

Definition at line 285 of file material.C.

References initTempStatus().

Referenced by oofem::Concrete2::giveRealStresses3dShellLayer(), oofem::IDGMaterial::giveRealStressVector(), oofem::TrabBoneGrad3D::giveRealStressVector(), oofem::CohesiveInterfaceMaterial::giveRealStressVector(), oofem::SimpleInterfaceMaterial::giveRealStressVector(), oofem::RCSDNLMaterial::giveRealStressVector(), oofem::CebFipSlip90Material::giveRealStressVector(), oofem::RankineMat::giveRealStressVector(), oofem::RCSDEMaterial::giveRealStressVector(), oofem::RCSDMaterial::giveRealStressVector(), oofem::IsoInterfaceDamageMaterial::giveRealStressVector(), oofem::RheoChainMaterial::giveRealStressVector(), oofem::PlasticMaterial::giveRealStressVector(), oofem::TrabBoneNL3D::giveRealStressVector(), oofem::MPlasticMaterial::giveRealStressVector(), oofem::TrabBone3D::giveRealStressVector(), oofem::RCM2Material::giveRealStressVector(), oofem::IsotropicDamageMaterial::giveRealStressVector(), oofem::MPlasticMaterial2::giveRealStressVector(), oofem::MisesMat::giveRealStressVectorComputedFromDefGrad(), oofem::MisesMat::giveRealStressVectorComputedFromStrain(), oofem::IntegrationRule::initForNewStep(), oofem::MisesMat::performPlasticityReturn(), oofem::MazarsNLMaterial::updateBeforeNonlocAverage(), oofem::RCSDNLMaterial::updateBeforeNonlocAverage(), oofem::IDNLMaterial::updateBeforeNonlocAverage(), and oofem::TrabBoneNL3D::updateBeforeNonlocAverage().

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::FEMComponent.

Reimplemented in oofem::HellmichMaterial, oofem::ConcreteDPM2, oofem::ConcreteDPM, oofem::DustMaterial, oofem::MDM, oofem::DruckerPragerPlasticitySM, oofem::IsotropicDamageMaterial, oofem::HydrationModel, oofem::StructuralMaterial, oofem::TrabBone3D, oofem::Concrete2, oofem::IsotropicDamageMaterial1, oofem::RCM2Material, oofem::IsoInterfaceDamageMaterial, oofem::MPSMaterial, oofem::MicroplaneMaterial, oofem::IsoInterfaceDamageMaterial, oofem::CebFipSlip90Material, oofem::RheoChainMaterial, oofem::PerfectlyPlasticMaterial, oofem::SimpleInterfaceMaterial, oofem::BinghamFluidMaterial2, oofem::CompoDamageMat, oofem::FE2FluidMaterial, oofem::CohesiveInterfaceMaterial, oofem::RCSDMaterial, oofem::RCSDEMaterial, oofem::IDNLMaterial, oofem::CemhydMat, oofem::NonlinearFluidMaterial, oofem::B3SolidMaterial, oofem::IsotropicLinearElasticMaterial, oofem::RCSDNLMaterial, oofem::M4Material, oofem::AnisotropicMassTransferMaterial, oofem::MazarsNLMaterial, oofem::OrthotropicLinearElasticMaterial, oofem::RankineMat, oofem::RVEStokesFlow, oofem::AbaqusUserMaterial, oofem::MazarsMaterial, oofem::NlIsoMoistureMaterial, oofem::TrabBoneNL3D, oofem::MicroMaterial, oofem::DruckerPragerCutMat, oofem::HydratingIsoHeatMaterial, oofem::MisesMat, oofem::HeMoTKMaterial, oofem::TrabBoneGrad3D, oofem::Masonry02, oofem::NonlinearMassTransferMaterial, oofem::KelvinChainMaterial, oofem::MaxwellChainMaterial, oofem::SurfaceTensionMaterial, oofem::TwoFluidMaterial, oofem::NewtonianFluidMaterial, oofem::KelvinChainSolidMaterial, oofem::B3Material, oofem::IsotropicHeatTransferMaterial, oofem::BazantNajjarMoistureTransferMaterial, oofem::HyperElasticMaterial, oofem::LsMasterMat, oofem::HydratingHeMoMaterial, oofem::IsotropicMoistureTransferMaterial, oofem::IDGMaterial, oofem::HOMExportModule, oofem::LsMasterMatGrad, oofem::HydratingConcreteMat, oofem::Concrete3, oofem::IsotropicLinMoistureTransferMaterial, oofem::CebFip78Material, oofem::J2plasticMaterial, oofem::J2Mat, oofem::J2MPlasticMaterial, oofem::DoublePowerLawMaterial, oofem::DummyMaterial, oofem::RankinePlasticMaterial, and oofem::Steel1.

Definition at line 107 of file material.C.

References oofem::Dictionary::add(), castingTime, oofem::IFT_Material_castingtime, oofem::IFT_Material_density, IR_GIVE_FIELD, IR_GIVE_OPTIONAL_FIELD, oofem::IRRT_OK, and propertyDictionary.

Referenced by oofem::Subdivision::createMesh(), and oofem::Domain::instanciateYourself().

int oofem::Material::initMaterial ( Element element) [virtual]

Optional function to call specific procedures when initializing a material.

For example, multiscale simulations need to create master and slave material statuses on specific integration points before the computation.

Parameters:
elementPointer to element.
Returns:
Zero on error.

Reimplemented in oofem::CemhydMat.

Definition at line 299 of file material.C.

Referenced by oofem::NonStationaryTransportProblem::applyIC().

void oofem::Material::initTempStatus ( GaussPoint gp) [protected, virtual]

Initializes temporary variables stored in integration point status at the beginning of new time step.

Temporary history variables (they describe state of material during solution of time step) are initialized according to history variables, which describe state corresponding to previous equilibrium solution. Default implementation simply extracts status from integration point and calls its initTempStatus method.

Reimplemented in oofem::HellmichMaterial, oofem::RCM2Material, and oofem::MicroplaneMaterial.

Definition at line 271 of file material.C.

References giveStatus(), and oofem::MaterialStatus::initTempStatus().

Referenced by oofem::LsMasterMatGrad::give3dGprime(), oofem::LsMasterMatGrad::give3dKappaMatrix(), oofem::LsMasterMatGrad::giveInternalLength(), oofem::LsMasterMatGrad::giveRealStressVector(), oofem::LsMasterMat::giveRealStressVector(), oofem::TrabBoneGrad3D::giveRealStressVector(), oofem::RankineMat::giveRealStressVector(), oofem::PerfectlyPlasticMaterial::giveRealStressVector(), oofem::RheoChainMaterial::giveRealStressVector(), oofem::PlasticMaterial::giveRealStressVector(), oofem::MPlasticMaterial::giveRealStressVector(), oofem::MPlasticMaterial2::giveRealStressVector(), oofem::DruckerPragerPlasticitySM::giveRealStressVector(), oofem::DustMaterial::giveRealStressVector(), oofem::MisesMat::giveRealStressVectorComputedFromDefGrad(), oofem::MisesMat::giveRealStressVectorComputedFromStrain(), initGpForNewStep(), oofem::MisesMat::performPlasticityReturn(), oofem::MazarsNLMaterial::updateBeforeNonlocAverage(), oofem::IDNLMaterial::updateBeforeNonlocAverage(), and oofem::TrabBoneNL3D::updateBeforeNonlocAverage().

bool oofem::Material::isActivated ( TimeStep atTime) [inline]
virtual bool oofem::Material::isCharacteristicMtrxSymmetric ( MatResponseMode  rMode) [inline, virtual]
void oofem::Material::modifyProperty ( int  aProperty,
double  value,
GaussPoint gp 
) [virtual]

Modify 'aProperty', which already exists on material.

Intended for evolving material properties.

Parameters:
aPropertyID of a property requested.
valueAssigned value.
gpIntegration point.

Definition at line 96 of file material.C.

References oofem::Dictionary::at(), oofem::GaussPoint::giveElement(), oofem::FEMComponent::giveNumber(), oofem::GaussPoint::giveNumber(), oofem::Dictionary::includes(), OOFEM_ERROR4, and propertyDictionary.

virtual int oofem::Material::packUnknowns ( CommunicationBuffer buff,
TimeStep stepN,
GaussPoint ip 
) [inline, virtual]

Pack all necessary data of integration point (according to element parallel_mode) into given communication buffer.

The nature of packed data is material model dependent. Typically, for material of "local" response (response depends only on integration point local state) no data are exchanged. For "nonlocal" constitutive models the send/receive of local values which undergo averaging is performed between local and corresponding remote elements.

Parameters:
buffCommunication buffer.
stepNSolution step.
ipIntegration point.

Reimplemented in oofem::MDM, oofem::IDNLMaterial, oofem::TrabBoneNL3D, oofem::RCSDNLMaterial, and oofem::MazarsNLMaterial.

Definition at line 322 of file material.h.

Referenced by oofem::CrossSection::packUnknowns().

virtual double oofem::Material::predictRelativeComputationalCost ( GaussPoint gp) [inline, virtual]

Returns the weight representing relative computational cost of receiver The reference material model is linear isotropic material - its weight is set to 1.0 The other material models should compare to this reference model.

Reimplemented in oofem::DruckerPragerPlasticitySM, oofem::MDM, and oofem::IDNLMaterial.

Definition at line 344 of file material.h.

Referenced by oofem::CrossSection::predictRelativeComputationalCost().

virtual double oofem::Material::predictRelativeRedistributionCost ( GaussPoint gp) [inline, virtual]

Returns the relative redistribution cost of the receiver.

Reimplemented in oofem::DruckerPragerPlasticitySM, oofem::MDM, and oofem::IDNLMaterial.

Definition at line 348 of file material.h.

void oofem::Material::printYourself ( ) [virtual]

Prints receiver state on stdout. Useful for debugging.

Reimplemented from oofem::FEMComponent.

Definition at line 173 of file material.C.

References oofem::Dictionary::printYourself(), and propertyDictionary.

virtual int oofem::Material::setIPValue ( const FloatArray value,
GaussPoint aGaussPoint,
InternalStateType  type 
) [inline, virtual]

Sets the value of a certain variable at a given integration point to the given value.

Parameters:
valueContains the value(s) to be set (in reduced form).
aGaussPointIntegration point.
typeDetermines the type of internal variable.
typeDetermines the type of internal variable.
Returns:
Nonzero if ok, zero if var not supported.

Reimplemented in oofem::ConcreteDPM, oofem::DustMaterial, and oofem::StructuralMaterial.

Definition at line 213 of file material.h.

Referenced by oofem::GPInitModule::doInit().

virtual int oofem::Material::unpackAndUpdateUnknowns ( CommunicationBuffer buff,
TimeStep stepN,
GaussPoint ip 
) [inline, virtual]

Unpack and updates all necessary data of given integration point (according to element parallel_mode) into given communication buffer.

See also:
packUnknowns service.
Parameters:
buffCommunication buffer.
stepNSolution step.
ipIntegration point.

Reimplemented in oofem::MDM, oofem::IDNLMaterial, oofem::TrabBoneNL3D, oofem::RCSDNLMaterial, and oofem::MazarsNLMaterial.

Definition at line 332 of file material.h.

Referenced by oofem::CrossSection::unpackAndUpdateUnknowns().

void oofem::Material::updateYourself ( GaussPoint gp,
TimeStep atTime 
) [virtual]

Updates internal state of material in integration point after finishing time step.

Default implementation extract material status from integration point, and invokes updateYourself function on it.

Parameters:
gpIntegration point, where to update state.
atTimeTime step.

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

Definition at line 305 of file material.C.

References giveStatus(), and oofem::MaterialStatus::updateYourself().

Referenced by oofem::IsotropicDamageMaterial1::MMI_update(), oofem::MDM::MMI_update(), and oofem::GaussPoint::updateYourself().


Member Data Documentation

double oofem::Material::castingTime [protected]

Casting time.

For solution time less than casting time the material is assumed to have no stiffness etc. This attribute is declared here, but support for this functionality must be incorporated by particular material model

Definition at line 106 of file material.h.

Referenced by oofem::StructuralMaterial::computeStressIndependentStrainVector(), giveCastingTime(), oofem::CemhydMat::initializeFrom(), initializeFrom(), and isActivated().


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:00 for OOFEM by doxygen 1.7.6.1 written by Dimitri van Heesch, © 1997-2011