OOFEM
2.4
OOFEM.org - Object Oriented Finite Element Solver
|
Abstract class for gradient formulation of coupled damage-plasticity model(GradDp). More...
#include <graddpelement.h>
Public Member Functions | |
GradDpElement () | |
virtual | ~GradDpElement () |
virtual IRResultType | initializeFrom (InputRecord *ir) |
Protected Attributes | |
int | nPrimNodes |
int | nPrimVars |
int | nSecNodes |
int | nSecVars |
IntArray | locU |
IntArray | locK |
int | totalSize |
int | nlSize |
int | locSize |
Abstract class for gradient formulation of coupled damage-plasticity model(GradDp).
Yield function is formulated in the effective stress space and damage is driven by the nonlocal(over-nonlocal) cumulated plastic strain. The new nonlocal degrees of freedom (with the meaning of the nonlocal cumulated plastic strain) are introduced with lower order of approximation functions than the displacement field to avoid spurious stress oscillations
Definition at line 48 of file graddpelement.h.
oofem::GradDpElement::GradDpElement | ( | ) |
Definition at line 58 of file graddpelement.C.
|
inlinevirtual |
Definition at line 57 of file graddpelement.h.
References computeBkappaMatrixAt(), computeDeformationGradientVector(), computeDisplacementDegreesOfFreedom(), computeDistanceToBoundary(), computeLocalStrainVector(), computeNkappaMatrixAt(), computeNonlocalCumulatedStrain(), computeNonlocalDegreesOfFreedom(), computeNonlocalGradient(), computeStiffnessMatrix(), computeStiffnessMatrix_kk(), computeStiffnessMatrix_ku(), computeStiffnessMatrix_uk(), computeStiffnessMatrix_uu(), computeStressVectorAndLocalCumulatedStrain(), giveInternalForcesVector(), giveLocalInternalForcesVector(), giveNLStructuralElement(), giveNonlocalInternalForcesVector(), giveStructuralElement(), initializeFrom(), setDisplacementLocationArray(), and setNonlocalLocationArray().
|
protectedpure virtual |
Implemented in oofem::QSpaceGrad, oofem::QTRSpaceGrad, oofem::QWedgeGrad, oofem::QTruss1dGrad, oofem::QPlaneStrainGrad, oofem::QTrPlaneStressGrad, oofem::QPlaneStressGrad, and oofem::QTrPlaneStrainGrad.
Referenced by computeNonlocalGradient(), computeStiffnessMatrix_kk(), computeStiffnessMatrix_ku(), giveInternalForcesVector(), giveLocalInternalForcesVector(), and ~GradDpElement().
|
protected |
Definition at line 144 of file graddpelement.C.
References oofem::__MaterialModeToString(), oofem::FloatArray::at(), oofem::FloatArray::beProductOf(), oofem::NLStructuralElement::computeBHmatrixAt(), computeDisplacementDegreesOfFreedom(), oofem::GaussPoint::giveMaterialMode(), giveNLStructuralElement(), and OOFEM_ERROR.
Referenced by computeStressVectorAndLocalCumulatedStrain(), and ~GradDpElement().
|
protected |
Definition at line 86 of file graddpelement.C.
References oofem::Element::computeVectorOf(), and giveStructuralElement().
Referenced by computeDeformationGradientVector(), computeLocalStrainVector(), and ~GradDpElement().
|
protected |
Referenced by ~GradDpElement().
|
protected |
Definition at line 132 of file graddpelement.C.
References oofem::FloatArray::beProductOf(), oofem::StructuralElement::computeBmatrixAt(), computeDisplacementDegreesOfFreedom(), and giveNLStructuralElement().
Referenced by computeStressVectorAndLocalCumulatedStrain(), and ~GradDpElement().
|
protectedpure virtual |
Implemented in oofem::QSpaceGrad, oofem::QTRSpaceGrad, oofem::QWedgeGrad, oofem::QTruss1dGrad, oofem::QPlaneStrainGrad, oofem::QTrPlaneStressGrad, oofem::QPlaneStressGrad, and oofem::QTrPlaneStrainGrad.
Referenced by computeNonlocalCumulatedStrain(), computeStiffnessMatrix_kk(), computeStiffnessMatrix_ku(), computeStiffnessMatrix_uk(), giveInternalForcesVector(), giveLocalInternalForcesVector(), giveNonlocalInternalForcesVector(), and ~GradDpElement().
|
protected |
Definition at line 177 of file graddpelement.C.
References computeNkappaMatrixAt(), computeNonlocalDegreesOfFreedom(), and oofem::FloatArray::dotProduct().
Referenced by computeStressVectorAndLocalCumulatedStrain(), and ~GradDpElement().
|
protected |
Definition at line 91 of file graddpelement.C.
References oofem::Element::computeVectorOf(), and giveStructuralElement().
Referenced by computeNonlocalCumulatedStrain(), computeNonlocalGradient(), giveLocalInternalForcesVector(), giveNonlocalInternalForcesVector(), and ~GradDpElement().
|
protected |
Definition at line 188 of file graddpelement.C.
References oofem::FloatArray::beProductOf(), computeBkappaMatrixAt(), and computeNonlocalDegreesOfFreedom().
Referenced by computeStiffnessMatrix_ku(), giveInternalForcesVector(), and ~GradDpElement().
|
protected |
Definition at line 491 of file graddpelement.C.
References oofem::FloatMatrix::assemble(), computeStiffnessMatrix_kk(), computeStiffnessMatrix_ku(), computeStiffnessMatrix_uk(), computeStiffnessMatrix_uu(), locK, locU, oofem::FloatMatrix::resize(), setDisplacementLocationArray(), setNonlocalLocationArray(), totalSize, and oofem::FloatMatrix::zero().
Referenced by oofem::QTrPlaneStrainGrad::computeStiffnessMatrix(), oofem::QPlaneStressGrad::computeStiffnessMatrix(), oofem::QPlaneStrainGrad::computeStiffnessMatrix(), oofem::QTrPlaneStressGrad::computeStiffnessMatrix(), oofem::QTruss1dGrad::computeStiffnessMatrix(), oofem::QWedgeGrad::computeStiffnessMatrix(), oofem::QTRSpaceGrad::computeStiffnessMatrix(), giveInternalForcesVector(), and ~GradDpElement().
|
protected |
Definition at line 666 of file graddpelement.C.
References oofem::FloatMatrix::at(), oofem::FloatMatrix::beProductOf(), oofem::FloatMatrix::clear(), computeBkappaMatrixAt(), computeNkappaMatrixAt(), oofem::Element::computeVolumeAround(), oofem::GradDpMaterialExtensionInterface::giveAveragingType(), oofem::Element::giveIntegrationRule(), oofem::StructuralCrossSection::giveMaterialInterface(), oofem::GradDpMaterialExtensionInterface::givePDGradMatrix_kk(), oofem::StructuralElement::giveStructuralCrossSection(), giveStructuralElement(), oofem::GradDpMaterialExtensionInterfaceType, OOFEM_ERROR, and oofem::FloatMatrix::plusProductUnsym().
Referenced by computeStiffnessMatrix(), giveNonlocalInternalForcesVector(), and ~GradDpElement().
|
protected |
Definition at line 562 of file graddpelement.C.
References oofem::FloatMatrix::add(), oofem::AL, oofem::FloatMatrix::at(), oofem::FloatMatrix::beProductOf(), oofem::FloatMatrix::beTProductOf(), oofem::FloatMatrix::clear(), oofem::NLStructuralElement::computeBHmatrixAt(), computeBkappaMatrixAt(), oofem::StructuralElement::computeBmatrixAt(), computeNkappaMatrixAt(), computeNonlocalGradient(), oofem::Element::computeVolumeAround(), oofem::FEMComponent::domain, oofem::GradDpMaterialExtensionInterface::giveAveragingType(), oofem::Domain::giveEngngModel(), oofem::EngngModel::giveFormulation(), oofem::NLStructuralElement::giveGeometryMode(), oofem::Element::giveIntegrationRule(), oofem::StructuralCrossSection::giveMaterialInterface(), giveNLStructuralElement(), oofem::GradDpMaterialExtensionInterface::givePDGradMatrix_ku(), oofem::GradDpMaterialExtensionInterface::givePDGradMatrix_LD(), oofem::GradDpMaterialExtensionInterface::givePDGradMatrix_uu(), oofem::StructuralElement::giveStructuralCrossSection(), oofem::GradDpMaterialExtensionInterfaceType, OOFEM_ERROR, and oofem::FloatMatrix::plusProductUnsym().
Referenced by computeStiffnessMatrix(), and ~GradDpElement().
|
protected |
Definition at line 703 of file graddpelement.C.
References oofem::AL, oofem::FloatMatrix::beProductOf(), oofem::FloatMatrix::clear(), oofem::NLStructuralElement::computeBHmatrixAt(), oofem::StructuralElement::computeBmatrixAt(), computeNkappaMatrixAt(), oofem::Element::computeVolumeAround(), oofem::FEMComponent::domain, oofem::Domain::giveEngngModel(), oofem::EngngModel::giveFormulation(), oofem::NLStructuralElement::giveGeometryMode(), oofem::Element::giveIntegrationRule(), oofem::StructuralCrossSection::giveMaterialInterface(), giveNLStructuralElement(), oofem::GradDpMaterialExtensionInterface::givePDGradMatrix_uk(), oofem::StructuralElement::giveStructuralCrossSection(), oofem::GradDpMaterialExtensionInterfaceType, OOFEM_ERROR, and oofem::FloatMatrix::plusProductUnsym().
Referenced by computeStiffnessMatrix(), and ~GradDpElement().
|
protected |
Definition at line 513 of file graddpelement.C.
References oofem::FloatMatrix::add(), oofem::AL, oofem::FloatMatrix::beProductOf(), oofem::FloatMatrix::clear(), oofem::NLStructuralElement::computeBHmatrixAt(), oofem::StructuralElement::computeBmatrixAt(), oofem::NLStructuralElement::computeInitialStressMatrix(), oofem::Element::computeVolumeAround(), oofem::FEMComponent::domain, oofem::Element::giveCrossSection(), oofem::Domain::giveEngngModel(), oofem::EngngModel::giveFormulation(), oofem::NLStructuralElement::giveGeometryMode(), oofem::Element::giveIntegrationRule(), oofem::StructuralCrossSection::giveMaterialInterface(), giveNLStructuralElement(), oofem::GradDpMaterialExtensionInterface::givePDGradMatrix_uu(), oofem::StructuralElement::giveStructuralCrossSection(), oofem::GradDpMaterialExtensionInterfaceType, oofem::CrossSection::isCharacteristicMtrxSymmetric(), OOFEM_ERROR, oofem::FloatMatrix::plusProductSymmUpper(), oofem::FloatMatrix::plusProductUnsym(), and oofem::FloatMatrix::symmetrized().
Referenced by computeStiffnessMatrix(), and ~GradDpElement().
|
protected |
Definition at line 97 of file graddpelement.C.
References computeDeformationGradientVector(), computeLocalStrainVector(), computeNonlocalCumulatedStrain(), oofem::GradDpMaterialExtensionInterface::giveCauchyStressVectorGrad(), oofem::FEMComponent::giveDomain(), oofem::Domain::giveEngngModel(), oofem::GradDpMaterialExtensionInterface::giveFirstPKStressVectorGrad(), oofem::EngngModel::giveFormulation(), oofem::NLStructuralElement::giveGeometryMode(), oofem::StructuralCrossSection::giveMaterialInterface(), giveNLStructuralElement(), oofem::GradDpMaterialExtensionInterface::giveRealStressVectorGrad(), oofem::StructuralElement::giveStructuralCrossSection(), oofem::GradDpMaterialExtensionInterfaceType, OOFEM_ERROR, and oofem::TL.
Referenced by giveLocalInternalForcesVector(), giveNonlocalInternalForcesVector(), and ~GradDpElement().
|
protected |
Definition at line 328 of file graddpelement.C.
References oofem::FloatMatrix::add(), oofem::AL, oofem::FloatMatrix::assemble(), oofem::FloatArray::assemble(), oofem::FloatArray::at(), oofem::FloatMatrix::at(), oofem::FloatMatrix::beProductOf(), oofem::NLStructuralElement::computeBHmatrixAt(), computeBkappaMatrixAt(), oofem::StructuralElement::computeBmatrixAt(), oofem::NLStructuralElement::computeInitialStressMatrix(), computeNkappaMatrixAt(), computeNonlocalGradient(), computeStiffnessMatrix(), oofem::Element::computeVolumeAround(), oofem::FEMComponent::domain, oofem::GradDpMaterialExtensionInterface::giveAveragingType(), oofem::Element::giveCrossSection(), oofem::Domain::giveEngngModel(), oofem::EngngModel::giveFormulation(), oofem::NLStructuralElement::giveGeometryMode(), oofem::Element::giveIntegrationRule(), giveLocalInternalForcesVector(), oofem::StructuralCrossSection::giveMaterialInterface(), giveNLStructuralElement(), giveNonlocalInternalForcesVector(), oofem::GradDpMaterialExtensionInterface::givePDGradMatrix_kk(), oofem::GradDpMaterialExtensionInterface::givePDGradMatrix_ku(), oofem::GradDpMaterialExtensionInterface::givePDGradMatrix_LD(), oofem::GradDpMaterialExtensionInterface::givePDGradMatrix_uk(), oofem::GradDpMaterialExtensionInterface::givePDGradMatrix_uu(), oofem::StructuralElement::giveStructuralCrossSection(), oofem::GradDpMaterialExtensionInterfaceType, oofem::CrossSection::isCharacteristicMtrxSymmetric(), locK, locSize, locU, nlSize, OOFEM_ERROR, oofem::FloatMatrix::plusDyadUnsym(), oofem::FloatMatrix::plusProductSymmUpper(), oofem::FloatMatrix::plusProductUnsym(), oofem::FloatArray::resize(), oofem::FloatMatrix::resize(), setDisplacementLocationArray(), setNonlocalLocationArray(), oofem::FloatMatrix::symmetrized(), totalSize, oofem::FloatArray::zero(), and oofem::FloatMatrix::zero().
Referenced by oofem::QTrPlaneStrainGrad::giveInternalForcesVector(), oofem::QPlaneStressGrad::giveInternalForcesVector(), oofem::QPlaneStrainGrad::giveInternalForcesVector(), oofem::QTrPlaneStressGrad::giveInternalForcesVector(), oofem::QTruss1dGrad::giveInternalForcesVector(), oofem::QWedgeGrad::giveInternalForcesVector(), oofem::QTRSpaceGrad::giveInternalForcesVector(), giveLocalInternalForcesVector(), and ~GradDpElement().
|
protected |
Definition at line 231 of file graddpelement.C.
References oofem::FloatArray::add(), oofem::AL, oofem::FloatArray::assemble(), oofem::FloatMatrix::at(), oofem::FloatArray::beProductOf(), oofem::FloatArray::beTProductOf(), oofem::NLStructuralElement::computeBHmatrixAt(), computeBkappaMatrixAt(), oofem::StructuralElement::computeBmatrixAt(), computeNkappaMatrixAt(), computeNonlocalDegreesOfFreedom(), computeStressVectorAndLocalCumulatedStrain(), oofem::Element::computeVolumeAround(), oofem::FEMComponent::domain, oofem::FloatArray::dotProduct(), oofem::GradDpMaterialExtensionInterface::giveAveragingType(), oofem::Domain::giveEngngModel(), oofem::EngngModel::giveFormulation(), oofem::NLStructuralElement::giveGeometryMode(), oofem::Element::giveIntegrationRule(), giveInternalForcesVector(), oofem::StructuralCrossSection::giveMaterialInterface(), giveNLStructuralElement(), oofem::GradDpMaterialExtensionInterface::givePDGradMatrix_kk(), oofem::FloatArray::giveSize(), oofem::StructuralElement::giveStructuralCrossSection(), oofem::GradDpMaterialExtensionInterfaceType, locK, locU, OOFEM_ERROR, oofem::FloatArray::plusProduct(), oofem::FloatArray::resize(), setDisplacementLocationArray(), setNonlocalLocationArray(), totalSize, and oofem::FloatArray::zero().
Referenced by giveInternalForcesVector(), and ~GradDpElement().
|
protectedpure virtual |
Implemented in oofem::QTruss1dGrad, oofem::QSpaceGrad, oofem::QTRSpaceGrad, oofem::QWedgeGrad, oofem::QPlaneStrainGrad, oofem::QTrPlaneStressGrad, oofem::QPlaneStressGrad, and oofem::QTrPlaneStrainGrad.
Referenced by computeDeformationGradientVector(), computeLocalStrainVector(), computeStiffnessMatrix_ku(), computeStiffnessMatrix_uk(), computeStiffnessMatrix_uu(), computeStressVectorAndLocalCumulatedStrain(), giveInternalForcesVector(), giveLocalInternalForcesVector(), giveNonlocalInternalForcesVector(), and ~GradDpElement().
|
protected |
Definition at line 200 of file graddpelement.C.
References oofem::FloatArray::add(), oofem::FloatArray::beProductOf(), computeNkappaMatrixAt(), computeNonlocalDegreesOfFreedom(), computeStiffnessMatrix_kk(), computeStressVectorAndLocalCumulatedStrain(), oofem::Element::computeVolumeAround(), oofem::Element::giveIntegrationRule(), giveNLStructuralElement(), nSecNodes, nSecVars, oofem::FloatArray::resize(), setDisplacementLocationArray(), and setNonlocalLocationArray().
Referenced by giveInternalForcesVector(), and ~GradDpElement().
|
protectedpure virtual |
Implemented in oofem::QTruss1dGrad, oofem::QSpaceGrad, oofem::QTRSpaceGrad, oofem::QWedgeGrad, oofem::QPlaneStrainGrad, oofem::QTrPlaneStressGrad, oofem::QPlaneStressGrad, and oofem::QTrPlaneStrainGrad.
Referenced by computeDisplacementDegreesOfFreedom(), computeNonlocalDegreesOfFreedom(), computeStiffnessMatrix_kk(), and ~GradDpElement().
|
virtual |
Reimplemented in oofem::QTruss1dGrad, oofem::QSpaceGrad, oofem::QTRSpaceGrad, oofem::QWedgeGrad, oofem::QPlaneStrainGrad, oofem::QPlaneStressGrad, oofem::QTrPlaneStressGrad, and oofem::QTrPlaneStrainGrad.
Definition at line 740 of file graddpelement.C.
References oofem::IRRT_OK.
Referenced by ~GradDpElement().
|
protected |
Definition at line 62 of file graddpelement.C.
References oofem::IntArray::at(), locSize, locU, nPrimVars, nSecNodes, nSecVars, oofem::IntArray::resize(), and totalSize.
Referenced by computeStiffnessMatrix(), giveInternalForcesVector(), giveLocalInternalForcesVector(), giveNonlocalInternalForcesVector(), and ~GradDpElement().
|
protected |
Definition at line 76 of file graddpelement.C.
References oofem::IntArray::at(), locK, nlSize, nPrimVars, and oofem::IntArray::resize().
Referenced by computeStiffnessMatrix(), giveInternalForcesVector(), giveLocalInternalForcesVector(), giveNonlocalInternalForcesVector(), and ~GradDpElement().
|
protected |
Definition at line 52 of file graddpelement.h.
Referenced by computeStiffnessMatrix(), giveInternalForcesVector(), giveLocalInternalForcesVector(), and setNonlocalLocationArray().
|
protected |
Definition at line 53 of file graddpelement.h.
Referenced by giveInternalForcesVector(), oofem::QPlaneStrainGrad::QPlaneStrainGrad(), oofem::QPlaneStressGrad::QPlaneStressGrad(), oofem::QSpaceGrad::QSpaceGrad(), oofem::QTrPlaneStrainGrad::QTrPlaneStrainGrad(), oofem::QTrPlaneStressGrad::QTrPlaneStressGrad(), oofem::QTRSpaceGrad::QTRSpaceGrad(), oofem::QTruss1dGrad::QTruss1dGrad(), oofem::QWedgeGrad::QWedgeGrad(), and setDisplacementLocationArray().
|
protected |
Definition at line 52 of file graddpelement.h.
Referenced by computeStiffnessMatrix(), giveInternalForcesVector(), giveLocalInternalForcesVector(), and setDisplacementLocationArray().
|
protected |
Definition at line 53 of file graddpelement.h.
Referenced by giveInternalForcesVector(), oofem::QPlaneStrainGrad::QPlaneStrainGrad(), oofem::QPlaneStressGrad::QPlaneStressGrad(), oofem::QSpaceGrad::QSpaceGrad(), oofem::QTrPlaneStrainGrad::QTrPlaneStrainGrad(), oofem::QTrPlaneStressGrad::QTrPlaneStressGrad(), oofem::QTRSpaceGrad::QTRSpaceGrad(), oofem::QTruss1dGrad::QTruss1dGrad(), oofem::QWedgeGrad::QWedgeGrad(), and setNonlocalLocationArray().
|
protected |
Definition at line 51 of file graddpelement.h.
Referenced by oofem::QPlaneStrainGrad::QPlaneStrainGrad(), oofem::QPlaneStressGrad::QPlaneStressGrad(), oofem::QSpaceGrad::QSpaceGrad(), oofem::QTrPlaneStrainGrad::QTrPlaneStrainGrad(), oofem::QTrPlaneStressGrad::QTrPlaneStressGrad(), oofem::QTRSpaceGrad::QTRSpaceGrad(), oofem::QTruss1dGrad::QTruss1dGrad(), and oofem::QWedgeGrad::QWedgeGrad().
|
protected |
Definition at line 51 of file graddpelement.h.
Referenced by oofem::QPlaneStrainGrad::QPlaneStrainGrad(), oofem::QPlaneStressGrad::QPlaneStressGrad(), oofem::QSpaceGrad::QSpaceGrad(), oofem::QTrPlaneStrainGrad::QTrPlaneStrainGrad(), oofem::QTrPlaneStressGrad::QTrPlaneStressGrad(), oofem::QTRSpaceGrad::QTRSpaceGrad(), oofem::QTruss1dGrad::QTruss1dGrad(), oofem::QWedgeGrad::QWedgeGrad(), setDisplacementLocationArray(), and setNonlocalLocationArray().
|
protected |
Definition at line 51 of file graddpelement.h.
Referenced by giveNonlocalInternalForcesVector(), oofem::QPlaneStrainGrad::QPlaneStrainGrad(), oofem::QPlaneStressGrad::QPlaneStressGrad(), oofem::QSpaceGrad::QSpaceGrad(), oofem::QTrPlaneStrainGrad::QTrPlaneStrainGrad(), oofem::QTrPlaneStressGrad::QTrPlaneStressGrad(), oofem::QTRSpaceGrad::QTRSpaceGrad(), oofem::QTruss1dGrad::QTruss1dGrad(), oofem::QWedgeGrad::QWedgeGrad(), and setDisplacementLocationArray().
|
protected |
Definition at line 51 of file graddpelement.h.
Referenced by giveNonlocalInternalForcesVector(), oofem::QPlaneStrainGrad::QPlaneStrainGrad(), oofem::QPlaneStressGrad::QPlaneStressGrad(), oofem::QSpaceGrad::QSpaceGrad(), oofem::QTrPlaneStrainGrad::QTrPlaneStrainGrad(), oofem::QTrPlaneStressGrad::QTrPlaneStressGrad(), oofem::QTRSpaceGrad::QTRSpaceGrad(), oofem::QTruss1dGrad::QTruss1dGrad(), oofem::QWedgeGrad::QWedgeGrad(), and setDisplacementLocationArray().
|
protected |
Definition at line 53 of file graddpelement.h.
Referenced by computeStiffnessMatrix(), giveInternalForcesVector(), giveLocalInternalForcesVector(), oofem::QPlaneStrainGrad::QPlaneStrainGrad(), oofem::QPlaneStressGrad::QPlaneStressGrad(), oofem::QSpaceGrad::QSpaceGrad(), oofem::QTrPlaneStrainGrad::QTrPlaneStrainGrad(), oofem::QTrPlaneStressGrad::QTrPlaneStressGrad(), oofem::QTRSpaceGrad::QTRSpaceGrad(), oofem::QTruss1dGrad::QTruss1dGrad(), oofem::QWedgeGrad::QWedgeGrad(), and setDisplacementLocationArray().