OOFEM  2.3
Public Member Functions | Protected Member Functions | Protected Attributes
oofem::Masonry02 Class Reference

This class implements an interface masonry model based on non associated multisurface plasticity. More...

#include <masonry02.h>

+ Inheritance diagram for oofem::Masonry02:
+ Collaboration diagram for oofem::Masonry02:

List of all members.

Public Member Functions

 Masonry02 (int n, Domain *d)
virtual ~Masonry02 ()
virtual IRResultType initializeFrom (InputRecord *ir)
 Initializes receiver according to object description stored in input record.
virtual int hasMaterialModeCapability (MaterialMode mode)
 Tests if material supports material mode.
virtual const char * giveInputRecordName () const
virtual const char * giveClassName () const
virtual void giveStiffnessMatrix (FloatMatrix &answer, MatResponseMode mode, GaussPoint *gp, TimeStep *tStep)
 Computes the stiffness matrix for giveRealStressVector of receiver in given integration point, respecting its history.
virtual int giveSizeOfFullHardeningVarsVector ()
virtual int giveSizeOfReducedHardeningVarsVector (GaussPoint *)
virtual bool isCharacteristicMtrxSymmetric (MatResponseMode rMode)
 Returns true if stiffness matrix of receiver is symmetric Default implementation returns true.
virtual MaterialStatusCreateStatus (GaussPoint *gp) const
 Creates new copy of associated status and inserts it into given integration point.

Protected Member Functions

virtual int giveMaxNumberOfActiveYieldConds (GaussPoint *gp)
virtual double computeYieldValueAt (GaussPoint *gp, int isurf, const FloatArray &stressVector, const FloatArray &stressSpaceHardeningVars)
 Computes the value of yield function.
virtual void computeStressGradientVector (FloatArray &answer, functType ftype, int isurf, GaussPoint *gp, const FloatArray &stressVector, const FloatArray &stressSpaceHardeningVars)
 Computes the stress gradient of yield/loading function (df/d_sigma).
virtual void computeStrainHardeningVarsIncrement (FloatArray &answer, GaussPoint *gp, const FloatArray &stress, const FloatArray &dlambda, const FloatArray &dplasticStrain, const IntArray &activeConditionMap)
 Computes the increment of strain-space hardening variables.
virtual void computeKGradientVector (FloatArray &answer, functType ftype, int isurf, GaussPoint *gp, FloatArray &fullStressVector, const FloatArray &strainSpaceHardeningVariables)
 Computes the derivative of yield/loading function with respect to $ \kappa $ vector.
virtual void computeReducedHardeningVarsSigmaGradient (FloatMatrix &answer, GaussPoint *gp, const IntArray &activeConditionMap, const FloatArray &fullStressVector, const FloatArray &strainSpaceHardeningVars, const FloatArray &gamma)
 Computes derivative of $ \kappa $ vector with respect to stress.
virtual void computeReducedHardeningVarsLamGradient (FloatMatrix &answer, GaussPoint *gp, int actSurf, const IntArray &activeConditionMap, const FloatArray &fullStressVector, const FloatArray &strainSpaceHardeningVars, const FloatArray &gamma)
 computes derivative of $ \kappa $ vector with respect to lambda vector
virtual int hasHardening ()
 Indicates, whether receiver model has hardening/softening behavior or behaves according to perfect plasticity theory.
virtual void computeReducedSSGradientMatrix (FloatMatrix &gradientMatrix, int i, GaussPoint *gp, const FloatArray &fullStressVector, const FloatArray &strainSpaceHardeningVariables)
 Computes second derivative of loading function with respect to stress.
virtual void computeReducedSKGradientMatrix (FloatMatrix &gradientMatrix, int i, GaussPoint *gp, const FloatArray &fullStressVector, const FloatArray &strainSpaceHardeningVariables)
 Computes second derivative of loading function with respect to stress and hardening vars.
void give2dInterfaceMaterialStiffnessMatrix (FloatMatrix &answer, MatResponseMode rMode, GaussPoint *gp, TimeStep *tStep)
virtual void computeReducedElasticModuli (FloatMatrix &answer, GaussPoint *gp, TimeStep *tStep)
double computeF3HardeningLaw (double k)
 Cap mode related functions.
double computeF3HardeningGradient (double k)

Protected Attributes

double ft0
 Tensile strength.
double gfI
 Mode I GF.
double gfII
 Mode II GF.
double tanfir
 Residual friction angle.
double tanfi0
 Initial friction angle.
double c0
 Initial cohesion of joint.
double Cnn
 Cap mode parameters.
double Css
double Cn
double kn
 Elastic properties.
double ks
double tanpsi
 Dilatancy angle.
double sic
 Cap mode parameters.
double spc
double smc
double src
double kp
double km
double kr

Detailed Description

This class implements an interface masonry model based on non associated multisurface plasticity.

Model follows the description from Lourenco, P.B., Rots, J.G.: Multisurface Interface Model for Analysis of Masonry Structures as published in Journal of Engineering Mechanics, vol 123, No. 7, 1997.

Definition at line 75 of file masonry02.h.


Constructor & Destructor Documentation

oofem::Masonry02::Masonry02 ( int  n,
Domain d 
)

Definition at line 59 of file masonry02.C.


Member Function Documentation

double oofem::Masonry02::computeF3HardeningGradient ( double  k) [protected]

Definition at line 601 of file masonry02.C.

References computeF3HardeningLaw(), km, kp, sic, smc, spc, and src.

Referenced by computeKGradientVector().

double oofem::Masonry02::computeF3HardeningLaw ( double  k) [protected]

Cap mode related functions.

Definition at line 558 of file masonry02.C.

References km, kp, oofem::max(), sic, smc, spc, and src.

Referenced by computeF3HardeningGradient(), computeKGradientVector(), and computeYieldValueAt().

void oofem::Masonry02::computeKGradientVector ( FloatArray answer,
functType  ftype,
int  isurf,
GaussPoint gp,
FloatArray fullStressVector,
const FloatArray strainSpaceHardeningVariables 
) [protected, virtual]

Computes the derivative of yield/loading function with respect to $ \kappa $ vector.

Implements oofem::MPlasticMaterial2.

Definition at line 347 of file masonry02.C.

References oofem::FloatArray::at(), c0, computeF3HardeningGradient(), computeF3HardeningLaw(), ft0, gfI, gfII, oofem::FloatArray::resize(), tanfi0, tanfir, and oofem::MPlasticMaterial2::yieldFunction.

void oofem::Masonry02::computeReducedElasticModuli ( FloatMatrix answer,
GaussPoint gp,
TimeStep tStep 
) [protected, virtual]
void oofem::Masonry02::computeReducedHardeningVarsLamGradient ( FloatMatrix answer,
GaussPoint gp,
int  actSurf,
const IntArray activeConditionMap,
const FloatArray fullStressVector,
const FloatArray strainSpaceHardeningVars,
const FloatArray gamma 
) [protected, virtual]

computes derivative of $ \kappa $ vector with respect to lambda vector

Implements oofem::MPlasticMaterial2.

Definition at line 268 of file masonry02.C.

References oofem::IntArray::at(), oofem::FloatArray::at(), oofem::FloatMatrix::at(), c0, Cn, Cnn, Css, ft0, gfI, gfII, oofem::FloatMatrix::resize(), and oofem::FloatMatrix::zero().

void oofem::Masonry02::computeReducedHardeningVarsSigmaGradient ( FloatMatrix answer,
GaussPoint gp,
const IntArray activeConditionMap,
const FloatArray fullStressVector,
const FloatArray strainSpaceHardeningVars,
const FloatArray gamma 
) [protected, virtual]

Computes derivative of $ \kappa $ vector with respect to stress.

Implements oofem::MPlasticMaterial2.

Definition at line 401 of file masonry02.C.

References oofem::IntArray::at(), oofem::FloatArray::at(), oofem::FloatMatrix::at(), Cn, Cnn, Css, oofem::FloatMatrix::resize(), and oofem::FloatMatrix::zero().

void oofem::Masonry02::computeReducedSKGradientMatrix ( FloatMatrix gradientMatrix,
int  i,
GaussPoint gp,
const FloatArray fullStressVector,
const FloatArray strainSpaceHardeningVariables 
) [protected, virtual]

Computes second derivative of loading function with respect to stress and hardening vars.

Implements oofem::MPlasticMaterial2.

Definition at line 439 of file masonry02.C.

References oofem::FloatArray::at(), oofem::FloatMatrix::at(), c0, gfII, oofem::FloatMatrix::resize(), tanfi0, tanfir, and oofem::FloatMatrix::zero().

void oofem::Masonry02::computeReducedSSGradientMatrix ( FloatMatrix gradientMatrix,
int  i,
GaussPoint gp,
const FloatArray fullStressVector,
const FloatArray strainSpaceHardeningVariables 
) [protected, virtual]

Computes second derivative of loading function with respect to stress.

Implements oofem::MPlasticMaterial2.

Definition at line 425 of file masonry02.C.

References oofem::FloatMatrix::at(), Cnn, Css, oofem::FloatMatrix::resize(), and oofem::FloatMatrix::zero().

void oofem::Masonry02::computeStrainHardeningVarsIncrement ( FloatArray answer,
GaussPoint gp,
const FloatArray stress,
const FloatArray dlambda,
const FloatArray dplasticStrain,
const IntArray activeConditionMap 
) [protected, virtual]

Computes the increment of strain-space hardening variables.

Parameters:
answerResult.
gpGauss point to compute at.
stressUpdated stress (corresponds to newly reached state).
dlambdaIncrement of consistency parameters.
dplasticStrainActual plastic strain increment.
activeConditionMapArray of active yield conditions.

Implements oofem::MPlasticMaterial2.

Definition at line 212 of file masonry02.C.

References oofem::IntArray::at(), oofem::FloatArray::at(), c0, Cn, Cnn, Css, ft0, gfI, gfII, oofem::FloatArray::resize(), and oofem::FloatArray::zero().

void oofem::Masonry02::computeStressGradientVector ( FloatArray answer,
functType  ftype,
int  isurf,
GaussPoint gp,
const FloatArray stressVector,
const FloatArray strainSpaceHardeningVariables 
) [protected, virtual]

Computes the stress gradient of yield/loading function (df/d_sigma).

Implements oofem::MPlasticMaterial2.

Definition at line 159 of file masonry02.C.

References oofem::FloatArray::at(), c0, Cn, Cnn, Css, gfII, oofem::FloatArray::resize(), oofem::sgn(), tanfi0, tanfir, tanpsi, oofem::MPlasticMaterial2::yieldFunction, and oofem::FloatArray::zero().

double oofem::Masonry02::computeYieldValueAt ( GaussPoint gp,
int  isurf,
const FloatArray stressVector,
const FloatArray strainSpaceHardeningVariables 
) [protected, virtual]

Computes the value of yield function.

Implements oofem::MPlasticMaterial2.

Definition at line 115 of file masonry02.C.

References oofem::FloatArray::at(), c0, Cn, Cnn, computeF3HardeningLaw(), Css, ft0, gfI, gfII, tanfi0, and tanfir.

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

Definition at line 475 of file masonry02.C.

References oofem::FEMComponent::giveDomain().

void oofem::Masonry02::give2dInterfaceMaterialStiffnessMatrix ( FloatMatrix answer,
MatResponseMode  rMode,
GaussPoint gp,
TimeStep tStep 
) [protected]
virtual const char* oofem::Masonry02::giveClassName ( ) const [inline, virtual]
Returns:
Class name of the receiver.

Reimplemented from oofem::MPlasticMaterial2.

Definition at line 112 of file masonry02.h.

virtual const char* oofem::Masonry02::giveInputRecordName ( ) const [inline, virtual]
Returns:
Input record name of the receiver.

Implements oofem::FEMComponent.

Definition at line 111 of file masonry02.h.

References _IFT_Masonry02_Name.

virtual int oofem::Masonry02::giveMaxNumberOfActiveYieldConds ( GaussPoint gp) [inline, protected, virtual]

Implements oofem::MPlasticMaterial2.

Definition at line 128 of file masonry02.h.

virtual int oofem::Masonry02::giveSizeOfFullHardeningVarsVector ( ) [inline, virtual]

Reimplemented from oofem::MPlasticMaterial2.

Definition at line 119 of file masonry02.h.

Reimplemented from oofem::MPlasticMaterial2.

Definition at line 120 of file masonry02.h.

void oofem::Masonry02::giveStiffnessMatrix ( FloatMatrix answer,
MatResponseMode  mode,
GaussPoint gp,
TimeStep tStep 
) [virtual]

Computes the stiffness matrix for giveRealStressVector 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.
modeMaterial response mode.
gpIntegration point.
tStepTime step (most models are able to respond only when tStep is current time step).

Reimplemented from oofem::StructuralMaterial.

Definition at line 496 of file masonry02.C.

References give2dInterfaceMaterialStiffnessMatrix(), and oofem::GaussPoint::giveMaterialMode().

virtual int oofem::Masonry02::hasHardening ( ) [inline, protected, virtual]

Indicates, whether receiver model has hardening/softening behavior or behaves according to perfect plasticity theory.

Implements oofem::MPlasticMaterial2.

Definition at line 153 of file masonry02.h.

Tests if material supports material mode.

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

Reimplemented from oofem::MPlasticMaterial2.

Definition at line 63 of file masonry02.C.

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.

Definition at line 72 of file masonry02.C.

References _IFT_Masonry02_c0, _IFT_Masonry02_cn, _IFT_Masonry02_cnn, _IFT_Masonry02_cplane, _IFT_Masonry02_css, _IFT_Masonry02_ft0, _IFT_Masonry02_gfi, _IFT_Masonry02_gfii, _IFT_Masonry02_km, _IFT_Masonry02_kn, _IFT_Masonry02_kp, _IFT_Masonry02_kr, _IFT_Masonry02_ks, _IFT_Masonry02_si, _IFT_Masonry02_sm, _IFT_Masonry02_sp, _IFT_Masonry02_sr, _IFT_Masonry02_tanfi0, _IFT_Masonry02_tanfir, _IFT_Masonry02_tanpsi, c0, Cn, Cnn, Css, ft0, gfI, gfII, oofem::InputRecord::hasField(), oofem::StructuralMaterial::initializeFrom(), IR_GIVE_FIELD, oofem::IRRT_OK, km, kn, kp, kr, ks, oofem::MPlasticMaterial2::linearElasticMaterial, oofem::MPlasticMaterial2::mpm_CuttingPlane, oofem::MPlasticMaterial2::rmType, sic, smc, spc, src, tanfi0, tanfir, and tanpsi.

virtual bool oofem::Masonry02::isCharacteristicMtrxSymmetric ( MatResponseMode  rMode) [inline, virtual]

Returns true if stiffness matrix of receiver is symmetric Default implementation returns true.

Reimplemented from oofem::MPlasticMaterial2.

Definition at line 122 of file masonry02.h.


Member Data Documentation

double oofem::Masonry02::c0 [protected]
double oofem::Masonry02::Cn [protected]
double oofem::Masonry02::Cnn [protected]
double oofem::Masonry02::Css [protected]
double oofem::Masonry02::ft0 [protected]
double oofem::Masonry02::gfI [protected]
double oofem::Masonry02::gfII [protected]
double oofem::Masonry02::km [protected]

Definition at line 102 of file masonry02.h.

Referenced by computeF3HardeningGradient(), computeF3HardeningLaw(), and initializeFrom().

double oofem::Masonry02::kn [protected]

Elastic properties.

Definition at line 95 of file masonry02.h.

Referenced by computeReducedElasticModuli(), and initializeFrom().

double oofem::Masonry02::kp [protected]

Definition at line 102 of file masonry02.h.

Referenced by computeF3HardeningGradient(), computeF3HardeningLaw(), and initializeFrom().

double oofem::Masonry02::kr [protected]

Definition at line 102 of file masonry02.h.

Referenced by initializeFrom().

double oofem::Masonry02::ks [protected]

Definition at line 95 of file masonry02.h.

Referenced by computeReducedElasticModuli(), and initializeFrom().

double oofem::Masonry02::sic [protected]

Cap mode parameters.

Definition at line 101 of file masonry02.h.

Referenced by computeF3HardeningGradient(), computeF3HardeningLaw(), and initializeFrom().

double oofem::Masonry02::smc [protected]

Definition at line 101 of file masonry02.h.

Referenced by computeF3HardeningGradient(), computeF3HardeningLaw(), and initializeFrom().

double oofem::Masonry02::spc [protected]

Definition at line 101 of file masonry02.h.

Referenced by computeF3HardeningGradient(), computeF3HardeningLaw(), and initializeFrom().

double oofem::Masonry02::src [protected]

Definition at line 101 of file masonry02.h.

Referenced by computeF3HardeningGradient(), computeF3HardeningLaw(), and initializeFrom().

double oofem::Masonry02::tanfi0 [protected]
double oofem::Masonry02::tanfir [protected]
double oofem::Masonry02::tanpsi [protected]

Dilatancy angle.

Definition at line 98 of file masonry02.h.

Referenced by computeStressGradientVector(), 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 Tue Feb 18 2014 10:53:51 for OOFEM by doxygen 1.7.6.1 written by Dimitri van Heesch, © 1997-2011