OOFEM
2.4
OOFEM.org - Object Oriented Finite Element Solver
|
Abstract class for phase field formulation. More...
#include <phasefieldelement.h>
Public Member Functions | |
PhaseFieldElement (int i, Domain *aDomain) | |
virtual | ~PhaseFieldElement () |
virtual NLStructuralElement * | giveElement ()=0 |
virtual IRResultType | initializeFrom (InputRecord *ir) |
virtual void | giveDofManDofIDMask_u (IntArray &answer)=0 |
virtual void | giveDofManDofIDMask_d (IntArray &answer)=0 |
virtual 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 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.
|
inlinevirtual |
Definition at line 52 of file phasefieldelement.h.
References giveDofManDofIDMask_d(), giveDofManDofIDMask_u(), giveElement(), and initializeFrom().
|
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(), giveInternalForcesVector_d(), and giveRelaxationTime().
|
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(), giveRelaxationTime(), and initializeFrom().
|
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(), computeNStress_d(), and giveRelaxationTime().
|
protected |
Definition at line 89 of file phasefieldelement.C.
References oofem::Element::computeVectorOf(), and giveDofManDofIDMask_d().
Referenced by computeDamageAt(), oofem::IntElLine1PF::computeStiffnessMatrix(), oofem::IntElLine1PF::giveInternalForcesVector(), giveInternalForcesVector_d(), and giveRelaxationTime().
|
protected |
Definition at line 81 of file phasefieldelement.C.
References oofem::Element::computeVectorOf(), and giveDofManDofIDMask_u().
Referenced by computeBStress_u(), oofem::IntElLine1PF::computeStiffnessMatrix(), oofem::IntElLine1PF::giveInternalForcesVector(), and giveRelaxationTime().
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(), computeStiffnessMatrix_dd(), and giveClassName().
|
protected |
Definition at line 223 of file phasefieldelement.C.
References computeDamageAt().
Referenced by computeBStress_u(), computeStiffnessMatrix_uu(), and giveRelaxationTime().
|
protected |
Definition at line 232 of file phasefieldelement.C.
References computeDamageAt().
Referenced by computeNStress_d(), computeStiffnessMatrix_dd(), computeStiffnessMatrix_ud(), oofem::IntElLine1PF::computeStiffnessMatrix_ud(), oofem::IntElLine1PF::giveInternalForcesVectorUD(), and giveRelaxationTime().
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(), giveClassName(), and giveInternalForcesVector().
|
protectedvirtual |
Definition at line 240 of file phasefieldelement.C.
References oofem::FloatMatrix::beNMatrixOf(), oofem::FEInterpolation::evalN(), giveElement(), oofem::Element::giveInterpolation(), oofem::FloatArray::giveSize(), and oofem::FloatMatrix::resize().
Referenced by computeStiffnessMatrix_dd(), computeStiffnessMatrix_ud(), giveInternalForcesVector_d(), and giveRelaxationTime().
|
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(), giveRelaxationTime(), and initializeFrom().
|
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(), oofem::Element::computeNumberOfDofs(), computeStiffnessMatrix_dd(), computeStiffnessMatrix_ud(), computeStiffnessMatrix_uu(), giveDofManDofIDMask_d(), giveDofManDofIDMask_u(), giveElement(), loc_d, loc_u, oofem::FloatMatrix::resize(), and oofem::FloatMatrix::zero().
Referenced by oofem::PlaneStressPhF2d::computeStiffnessMatrix(), oofem::QPlaneStressPhF2d::computeStiffnessMatrix(), and giveRelaxationTime().
|
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(), giveRelaxationTime(), and initializeFrom().
|
protected |
Referenced by giveRelaxationTime(), and initializeFrom().
|
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, oofem::FloatMatrix::setColumn(), and oofem::FloatArray::times().
Referenced by computeStiffnessMatrix(), and giveRelaxationTime().
|
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(), giveRelaxationTime(), and initializeFrom().
|
inlinevirtual |
Reimplemented in oofem::IntElLine1PF, oofem::PlaneStressPhF2d, and oofem::QPlaneStressPhF2d.
Definition at line 60 of file phasefieldelement.h.
References computeFreeEnergy(), and computeLocationArrayOfDofIDs().
|
inline |
Definition at line 70 of file phasefieldelement.h.
References criticalEnergy.
Referenced by computeNStress_d(), computeStiffnessMatrix_dd(), oofem::IntElLine1PF::computeStiffnessMatrix_dd(), giveInternalForcesVector_d(), oofem::IntElLine1PF::giveInternalForcesVectorUD(), initializeFrom(), and oofem::IntElLine1PF::solveForLocalDamage().
|
pure virtual |
Implemented in oofem::IntElLine1PF, oofem::PlaneStressPhF2d, and oofem::QPlaneStressPhF2d.
Referenced by computeDamageUnknowns(), computeStiffnessMatrix(), giveInternalForcesVector(), and ~PhaseFieldElement().
|
pure virtual |
Implemented in oofem::IntElLine1PF, oofem::PlaneStressPhF2d, and oofem::QPlaneStressPhF2d.
Referenced by computeDisplacementUnknowns(), computeStiffnessMatrix(), giveInternalForcesVector(), and ~PhaseFieldElement().
|
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(), giveInternalForcesVector_u(), and ~PhaseFieldElement().
|
protected |
Definition at line 97 of file phasefieldelement.C.
References oofem::FloatArray::assemble(), computeLocationArrayOfDofIDs(), oofem::Element::computeNumberOfDofs(), giveDofManDofIDMask_d(), giveDofManDofIDMask_u(), giveElement(), giveInternalForcesVector_d(), giveInternalForcesVector_u(), loc_d, loc_u, oofem::FloatArray::resize(), and oofem::FloatArray::zero().
Referenced by oofem::PlaneStressPhF2d::giveInternalForcesVector(), oofem::QPlaneStressPhF2d::giveInternalForcesVector(), and giveRelaxationTime().
|
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(), giveRelaxationTime(), and initializeFrom().
|
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(), giveRelaxationTime(), and initializeFrom().
|
inline |
Definition at line 68 of file phasefieldelement.h.
References internalLength.
Referenced by computeNStress_d(), computeStiffnessMatrix_dd(), oofem::IntElLine1PF::computeStiffnessMatrix_dd(), giveInternalForcesVector_d(), oofem::IntElLine1PF::giveInternalForcesVectorUD(), initializeFrom(), and oofem::IntElLine1PF::solveForLocalDamage().
|
inline |
Definition at line 72 of file phasefieldelement.h.
References ALL_STRAINS, computeBd_matrixAt(), computeBStress_u(), computeDamageAt(), computeDamageUnknowns(), computeDisplacementUnknowns(), computeG(), computeGPrim(), computeNd_matrixAt(), computeNStress_d(), computeStiffnessMatrix(), computeStiffnessMatrix_dd(), computeStiffnessMatrix_du(), computeStiffnessMatrix_ud(), computeStiffnessMatrix_uu(), giveInternalForcesVector(), giveInternalForcesVector_d(), giveInternalForcesVector_u(), N, and relaxationTime.
Referenced by computeNStress_d(), and computeStiffnessMatrix_dd().
|
virtual |
Reimplemented in oofem::IntElLine1PF.
Definition at line 387 of file phasefieldelement.C.
References oofem::FloatArray::at(), computeBStress_u(), computeNStress_d(), computeStiffnessMatrix_dd(), computeStiffnessMatrix_du(), computeStiffnessMatrix_uu(), giveCriticalEnergy(), oofem::FEMComponent::giveDomain(), oofem::Domain::giveEngngModel(), oofem::EngngModel::giveFormulation(), oofem::NLStructuralElement::giveGeometryMode(), giveInternalForcesVector_d(), giveInternalForcesVector_u(), giveInternalLength(), oofem::IRRT_OK, oofem::FloatArray::resize(), and oofem::TL.
Referenced by ~PhaseFieldElement().
double oofem::PhaseFieldElement::criticalEnergy |
Definition at line 69 of file phasefieldelement.h.
Referenced by giveCriticalEnergy(), and PhaseFieldElement().
double oofem::PhaseFieldElement::internalLength |
Definition at line 67 of file phasefieldelement.h.
Referenced by giveInternalLength(), and PhaseFieldElement().
|
protected |
Definition at line 48 of file phasefieldelement.h.
Referenced by computeStiffnessMatrix(), oofem::IntElLine1PF::computeStiffnessMatrix(), giveInternalForcesVector(), and oofem::IntElLine1PF::giveInternalForcesVector().
|
protected |
Definition at line 48 of file phasefieldelement.h.
Referenced by computeStiffnessMatrix(), oofem::IntElLine1PF::computeStiffnessMatrix(), giveInternalForcesVector(), and oofem::IntElLine1PF::giveInternalForcesVector().
double oofem::PhaseFieldElement::relaxationTime |
Definition at line 71 of file phasefieldelement.h.
Referenced by giveRelaxationTime(), and PhaseFieldElement().