|
OOFEM 3.0
|
#include <phasefieldelement.h>
Public Member Functions | |
| PhaseFieldElement (int i, Domain *aDomain) | |
| virtual | ~PhaseFieldElement () |
| virtual NLStructuralElement * | giveElement ()=0 |
| virtual void | giveDofManDofIDMask_u (IntArray &answer)=0 |
| virtual void | giveDofManDofIDMask_d (IntArray &answer)=0 |
| const char * | giveClassName () const |
| void | computeLocationArrayOfDofIDs (const IntArray &dofIdArray, IntArray &answer) |
| double | computeFreeEnergy (GaussPoint *gp, TimeStep *tStep) |
| double | giveInternalLength () |
| double | giveCriticalEnergy () |
| double | giveRelaxationTime () |
Public Attributes | |
| double | internalLength |
| double | criticalEnergy |
| double | relaxationTime |
Protected Member Functions | |
| virtual void | computeStiffnessMatrix (FloatMatrix &, MatResponseMode, TimeStep *) |
| void | computeStiffnessMatrix_uu (FloatMatrix &, MatResponseMode, TimeStep *) |
| void | computeStiffnessMatrix_ud (FloatMatrix &, MatResponseMode, TimeStep *) |
| void | computeStiffnessMatrix_dd (FloatMatrix &, MatResponseMode, TimeStep *) |
| void | computeStiffnessMatrix_du (FloatMatrix &, MatResponseMode, TimeStep *) |
| double | computeG (GaussPoint *gp, ValueModeType valueMode, TimeStep *stepN) |
| double | computeGPrim (GaussPoint *gp, ValueModeType valueMode, TimeStep *stepN) |
| double | computeDamageAt (GaussPoint *gp, ValueModeType valueMode, TimeStep *stepN) |
| void | giveInternalForcesVector (FloatArray &answer, TimeStep *tStep, int useUpdatedGpRecord) |
| void | giveInternalForcesVector_u (FloatArray &answer, TimeStep *tStep, int useUpdatedGpRecord) |
| void | giveInternalForcesVector_d (FloatArray &answer, TimeStep *tStep, int useUpdatedGpRecord) |
| void | computeBStress_u (FloatArray &answer, GaussPoint *gp, TimeStep *tStep, int useUpdatedGpRecord) |
| void | computeNStress_d (FloatArray &answer, GaussPoint *gp, TimeStep *tStep, int useUpdatedGpRecord) |
| void | computeDisplacementUnknowns (FloatArray &answer, ValueModeType valueMode, TimeStep *stepN) |
| void | computeDamageUnknowns (FloatArray &answer, ValueModeType valueMode, TimeStep *stepN) |
| virtual void | computeBd_matrixAt (GaussPoint *, FloatMatrix &, int=1, int=ALL_STRAINS) |
| virtual void | computeNd_matrixAt (const FloatArray &lCoords, FloatMatrix &N) |
Protected Attributes | |
| IntArray | loc_u |
| IntArray | loc_d |
Abstract class for phase field formulation
Definition at line 45 of file phasefieldelement.h.
| oofem::PhaseFieldElement::PhaseFieldElement | ( | int | i, |
| Domain * | aDomain ) |
Definition at line 51 of file phasefieldelement.C.
References criticalEnergy, internalLength, and relaxationTime.
Referenced by oofem::IntElLine1PF::IntElLine1PF(), oofem::PlaneStressPhF2d::PlaneStressPhF2d(), and oofem::QPlaneStressPhF2d::QPlaneStressPhF2d().
|
inlinevirtual |
Definition at line 52 of file phasefieldelement.h.
|
protectedvirtual |
Definition at line 251 of file phasefieldelement.C.
References oofem::FloatMatrix::beTranspositionOf(), oofem::FEInterpolation::evaldNdx(), giveElement(), oofem::Element::giveInterpolation(), and oofem::GaussPoint::giveNaturalCoordinates().
Referenced by computeStiffnessMatrix_dd(), and giveInternalForcesVector_d().
|
protected |
Definition at line 166 of file phasefieldelement.C.
References oofem::FloatArray::beProductOf(), oofem::StructuralElement::computeBmatrixAt(), computeDisplacementUnknowns(), computeG(), oofem::StructuralElement::computeStressVector(), giveElement(), and oofem::FloatArray::times().
Referenced by giveInternalForcesVector_u().
|
protected |
Definition at line 211 of file phasefieldelement.C.
References computeDamageUnknowns(), oofem::FloatArray::dotProduct(), oofem::FEInterpolation::evalN(), giveElement(), oofem::Element::giveInterpolation(), and oofem::GaussPoint::giveNaturalCoordinates().
Referenced by computeG(), computeGPrim(), and computeNStress_d().
|
protected |
Definition at line 89 of file phasefieldelement.C.
References giveDofManDofIDMask_d().
Referenced by computeDamageAt(), oofem::IntElLine1PF::computeStiffnessMatrix(), oofem::IntElLine1PF::giveInternalForcesVector(), and giveInternalForcesVector_d().
|
protected |
Definition at line 81 of file phasefieldelement.C.
References giveDofManDofIDMask_u().
Referenced by computeBStress_u(), oofem::IntElLine1PF::computeStiffnessMatrix(), and oofem::IntElLine1PF::giveInternalForcesVector().
| double oofem::PhaseFieldElement::computeFreeEnergy | ( | GaussPoint * | gp, |
| TimeStep * | tStep ) |
Definition at line 182 of file phasefieldelement.C.
References oofem::FloatArray::dotProduct(), oofem::GaussPoint::giveMaterialStatus(), oofem::StructuralMaterialStatus::giveTempStrainVector(), and oofem::StructuralMaterialStatus::giveTempStressVector().
Referenced by computeNStress_d(), and computeStiffnessMatrix_dd().
|
protected |
Definition at line 223 of file phasefieldelement.C.
References computeDamageAt().
Referenced by computeBStress_u(), and computeStiffnessMatrix_uu().
|
protected |
Definition at line 232 of file phasefieldelement.C.
References computeDamageAt().
Referenced by computeNStress_d(), computeStiffnessMatrix_dd(), oofem::IntElLine1PF::computeStiffnessMatrix_ud(), computeStiffnessMatrix_ud(), and oofem::IntElLine1PF::giveInternalForcesVectorUD().
| void oofem::PhaseFieldElement::computeLocationArrayOfDofIDs | ( | const IntArray & | dofIdArray, |
| IntArray & | answer ) |
Definition at line 60 of file phasefieldelement.C.
References oofem::IntArray::at(), oofem::IntArray::clear(), oofem::IntArray::followedBy(), oofem::Element::giveDofManager(), oofem::DofManager::giveDofWithID(), giveElement(), oofem::Element::giveNumberOfDofManagers(), oofem::DofManager::giveNumberOfDofs(), oofem::IntArray::giveSize(), and oofem::DofManager::hasDofID().
Referenced by computeStiffnessMatrix(), and giveInternalForcesVector().
|
protectedvirtual |
Definition at line 240 of file phasefieldelement.C.
References oofem::FEInterpolation::evalN(), giveElement(), oofem::Element::giveInterpolation(), oofem::FloatArray::giveSize(), and N.
Referenced by computeStiffnessMatrix_dd(), computeStiffnessMatrix_ud(), and giveInternalForcesVector_d().
|
protected |
Definition at line 192 of file phasefieldelement.C.
References oofem::FloatArray::at(), computeDamageAt(), computeFreeEnergy(), computeGPrim(), giveCriticalEnergy(), giveInternalLength(), giveRelaxationTime(), oofem::TimeStep::giveTimeIncrement(), and oofem::FloatArray::resize().
Referenced by giveInternalForcesVector_d().
|
protectedvirtual |
Reimplemented in oofem::IntElLine1PF, oofem::PlaneStressPhF2d, and oofem::QPlaneStressPhF2d.
Definition at line 263 of file phasefieldelement.C.
References oofem::FloatMatrix::assemble(), oofem::FloatMatrix::beTranspositionOf(), computeLocationArrayOfDofIDs(), computeStiffnessMatrix_dd(), computeStiffnessMatrix_ud(), computeStiffnessMatrix_uu(), giveDofManDofIDMask_d(), giveDofManDofIDMask_u(), giveElement(), loc_d, loc_u, oofem::FloatMatrix::resize(), and oofem::FloatMatrix::zero().
|
protected |
Definition at line 354 of file phasefieldelement.C.
References oofem::FloatMatrix::clear(), computeBd_matrixAt(), computeFreeEnergy(), computeGPrim(), computeNd_matrixAt(), oofem::Element::computeVolumeAround(), giveCriticalEnergy(), giveElement(), oofem::Element::giveIntegrationRule(), giveInternalLength(), giveRelaxationTime(), oofem::TimeStep::giveTimeIncrement(), oofem::FloatMatrix::plusProductSymmUpper(), and oofem::FloatMatrix::symmetrized().
Referenced by computeStiffnessMatrix().
|
protected |
References ALL_STRAINS, and N.
|
protected |
Definition at line 322 of file phasefieldelement.C.
References oofem::FloatMatrix::beProductOf(), oofem::FloatMatrix::clear(), oofem::StructuralElement::computeBmatrixAt(), computeGPrim(), computeNd_matrixAt(), oofem::Element::computeVolumeAround(), oofem::Element::giveCrossSection(), giveElement(), oofem::Element::giveIntegrationRule(), oofem::StructuralMaterialStatus::giveTempStressVector(), oofem::FloatMatrix::plusProductUnsym(), S, and oofem::FloatArray::times().
Referenced by computeStiffnessMatrix().
|
protected |
Definition at line 291 of file phasefieldelement.C.
References oofem::FloatMatrix::beProductOf(), oofem::FloatMatrix::clear(), oofem::StructuralElement::computeBmatrixAt(), computeG(), oofem::Element::computeVolumeAround(), oofem::StructuralCrossSection::giveCharMaterialStiffnessMatrix(), oofem::Element::giveCrossSection(), giveElement(), oofem::Element::giveIntegrationRule(), oofem::StructuralCrossSection::isCharacteristicMtrxSymmetric(), N, oofem::FloatMatrix::plusProductSymmUpper(), oofem::FloatMatrix::plusProductUnsym(), oofem::FloatMatrix::symmetrized(), and oofem::FloatMatrix::times().
Referenced by computeStiffnessMatrix().
|
inline |
Definition at line 59 of file phasefieldelement.h.
|
inline |
Definition at line 69 of file phasefieldelement.h.
References criticalEnergy.
Referenced by computeNStress_d(), oofem::IntElLine1PF::computeStiffnessMatrix_dd(), computeStiffnessMatrix_dd(), giveInternalForcesVector_d(), oofem::IntElLine1PF::giveInternalForcesVectorUD(), and oofem::IntElLine1PF::solveForLocalDamage().
|
pure virtual |
Implemented in oofem::IntElLine1PF, oofem::PlaneStressPhF2d, and oofem::QPlaneStressPhF2d.
Referenced by computeDamageUnknowns(), computeStiffnessMatrix(), and giveInternalForcesVector().
|
pure virtual |
Implemented in oofem::IntElLine1PF, oofem::PlaneStressPhF2d, and oofem::QPlaneStressPhF2d.
Referenced by computeDisplacementUnknowns(), computeStiffnessMatrix(), and giveInternalForcesVector().
|
pure virtual |
Implemented in oofem::IntElLine1PF, oofem::PlaneStressPhF2d, and oofem::QPlaneStressPhF2d.
Referenced by computeBd_matrixAt(), computeBStress_u(), computeDamageAt(), computeLocationArrayOfDofIDs(), computeNd_matrixAt(), computeStiffnessMatrix(), computeStiffnessMatrix_dd(), computeStiffnessMatrix_ud(), computeStiffnessMatrix_uu(), giveInternalForcesVector(), giveInternalForcesVector_d(), and giveInternalForcesVector_u().
|
protected |
Definition at line 97 of file phasefieldelement.C.
References oofem::FloatArray::assemble(), computeLocationArrayOfDofIDs(), giveDofManDofIDMask_d(), giveDofManDofIDMask_u(), giveElement(), giveInternalForcesVector_d(), giveInternalForcesVector_u(), loc_d, loc_u, oofem::FloatArray::resize(), and oofem::FloatArray::zero().
|
protected |
Definition at line 139 of file phasefieldelement.C.
References oofem::FloatArray::add(), oofem::FloatArray::beProductOf(), oofem::FloatArray::beTProductOf(), computeBd_matrixAt(), computeDamageUnknowns(), computeNd_matrixAt(), computeNStress_d(), oofem::Element::computeVolumeAround(), giveCriticalEnergy(), giveElement(), oofem::Element::giveIntegrationRule(), giveInternalLength(), N, and oofem::FloatArray::plusProduct().
Referenced by giveInternalForcesVector().
|
protected |
Definition at line 120 of file phasefieldelement.C.
References oofem::FloatArray::clear(), oofem::StructuralElement::computeBmatrixAt(), computeBStress_u(), oofem::Element::computeVolumeAround(), giveElement(), oofem::Element::giveIntegrationRule(), N, and oofem::FloatArray::plusProduct().
Referenced by giveInternalForcesVector().
|
inline |
Definition at line 67 of file phasefieldelement.h.
References internalLength.
Referenced by computeNStress_d(), oofem::IntElLine1PF::computeStiffnessMatrix_dd(), computeStiffnessMatrix_dd(), giveInternalForcesVector_d(), oofem::IntElLine1PF::giveInternalForcesVectorUD(), and oofem::IntElLine1PF::solveForLocalDamage().
|
inline |
Definition at line 71 of file phasefieldelement.h.
References relaxationTime.
Referenced by computeNStress_d(), and computeStiffnessMatrix_dd().
| double oofem::PhaseFieldElement::criticalEnergy |
Definition at line 68 of file phasefieldelement.h.
Referenced by giveCriticalEnergy(), and PhaseFieldElement().
| double oofem::PhaseFieldElement::internalLength |
Definition at line 66 of file phasefieldelement.h.
Referenced by giveInternalLength(), and PhaseFieldElement().
|
protected |
Definition at line 48 of file phasefieldelement.h.
Referenced by oofem::IntElLine1PF::computeStiffnessMatrix(), computeStiffnessMatrix(), oofem::IntElLine1PF::giveInternalForcesVector(), and giveInternalForcesVector().
|
protected |
Definition at line 48 of file phasefieldelement.h.
Referenced by oofem::IntElLine1PF::computeStiffnessMatrix(), computeStiffnessMatrix(), oofem::IntElLine1PF::giveInternalForcesVector(), and giveInternalForcesVector().
| double oofem::PhaseFieldElement::relaxationTime |
Definition at line 70 of file phasefieldelement.h.
Referenced by giveRelaxationTime(), and PhaseFieldElement().