OOFEM 3.0
Loading...
Searching...
No Matches
oofem::PhaseFieldElement Class Referenceabstract

#include <phasefieldelement.h>

Inheritance diagram for oofem::PhaseFieldElement:
Collaboration diagram for oofem::PhaseFieldElement:

Public Member Functions

 PhaseFieldElement (int i, Domain *aDomain)
virtual ~PhaseFieldElement ()
virtual NLStructuralElementgiveElement ()=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

Detailed Description

Abstract class for phase field formulation

Definition at line 45 of file phasefieldelement.h.

Constructor & Destructor Documentation

◆ PhaseFieldElement()

oofem::PhaseFieldElement::PhaseFieldElement ( int i,
Domain * aDomain )

◆ ~PhaseFieldElement()

virtual oofem::PhaseFieldElement::~PhaseFieldElement ( )
inlinevirtual

Definition at line 52 of file phasefieldelement.h.

Member Function Documentation

◆ computeBd_matrixAt()

void oofem::PhaseFieldElement::computeBd_matrixAt ( GaussPoint * gp,
FloatMatrix & answer,
int li = 1,
int ui = ALL_STRAINS )
protectedvirtual

◆ computeBStress_u()

void oofem::PhaseFieldElement::computeBStress_u ( FloatArray & answer,
GaussPoint * gp,
TimeStep * tStep,
int useUpdatedGpRecord )
protected

◆ computeDamageAt()

double oofem::PhaseFieldElement::computeDamageAt ( GaussPoint * gp,
ValueModeType valueMode,
TimeStep * stepN )
protected

◆ computeDamageUnknowns()

void oofem::PhaseFieldElement::computeDamageUnknowns ( FloatArray & answer,
ValueModeType valueMode,
TimeStep * stepN )
protected

◆ computeDisplacementUnknowns()

void oofem::PhaseFieldElement::computeDisplacementUnknowns ( FloatArray & answer,
ValueModeType valueMode,
TimeStep * stepN )
protected
Todo
Remove these functions Jim, they work identically to the one in Element.

Definition at line 81 of file phasefieldelement.C.

References giveDofManDofIDMask_u().

Referenced by computeBStress_u(), oofem::IntElLine1PF::computeStiffnessMatrix(), and oofem::IntElLine1PF::giveInternalForcesVector().

◆ computeFreeEnergy()

◆ computeG()

double oofem::PhaseFieldElement::computeG ( GaussPoint * gp,
ValueModeType valueMode,
TimeStep * stepN )
protected

Definition at line 223 of file phasefieldelement.C.

References computeDamageAt().

Referenced by computeBStress_u(), and computeStiffnessMatrix_uu().

◆ computeGPrim()

double oofem::PhaseFieldElement::computeGPrim ( GaussPoint * gp,
ValueModeType valueMode,
TimeStep * stepN )
protected

◆ computeLocationArrayOfDofIDs()

◆ computeNd_matrixAt()

void oofem::PhaseFieldElement::computeNd_matrixAt ( const FloatArray & lCoords,
FloatMatrix & N )
protectedvirtual

◆ computeNStress_d()

void oofem::PhaseFieldElement::computeNStress_d ( FloatArray & answer,
GaussPoint * gp,
TimeStep * tStep,
int useUpdatedGpRecord )
protected

◆ computeStiffnessMatrix()

◆ computeStiffnessMatrix_dd()

◆ computeStiffnessMatrix_du()

void oofem::PhaseFieldElement::computeStiffnessMatrix_du ( FloatMatrix & ,
MatResponseMode ,
TimeStep *  )
protected

References ALL_STRAINS, and N.

◆ computeStiffnessMatrix_ud()

◆ computeStiffnessMatrix_uu()

◆ giveClassName()

const char * oofem::PhaseFieldElement::giveClassName ( ) const
inline

Definition at line 59 of file phasefieldelement.h.

◆ giveCriticalEnergy()

◆ giveDofManDofIDMask_d()

virtual void oofem::PhaseFieldElement::giveDofManDofIDMask_d ( IntArray & answer)
pure virtual

◆ giveDofManDofIDMask_u()

virtual void oofem::PhaseFieldElement::giveDofManDofIDMask_u ( IntArray & answer)
pure virtual

◆ giveElement()

◆ giveInternalForcesVector()

◆ giveInternalForcesVector_d()

◆ giveInternalForcesVector_u()

void oofem::PhaseFieldElement::giveInternalForcesVector_u ( FloatArray & answer,
TimeStep * tStep,
int useUpdatedGpRecord )
protected

◆ giveInternalLength()

◆ giveRelaxationTime()

double oofem::PhaseFieldElement::giveRelaxationTime ( )
inline

Definition at line 71 of file phasefieldelement.h.

References relaxationTime.

Referenced by computeNStress_d(), and computeStiffnessMatrix_dd().

Member Data Documentation

◆ criticalEnergy

double oofem::PhaseFieldElement::criticalEnergy

Definition at line 68 of file phasefieldelement.h.

Referenced by giveCriticalEnergy(), and PhaseFieldElement().

◆ internalLength

double oofem::PhaseFieldElement::internalLength
Todo
move these to a cross section model later

Definition at line 66 of file phasefieldelement.h.

Referenced by giveInternalLength(), and PhaseFieldElement().

◆ loc_d

◆ loc_u

◆ relaxationTime

double oofem::PhaseFieldElement::relaxationTime

Definition at line 70 of file phasefieldelement.h.

Referenced by giveRelaxationTime(), and PhaseFieldElement().


The documentation for this class was generated from the following files:

This page is part of the OOFEM-3.0 documentation. Copyright Copyright (C) 1994-2025 Borek Patzak Bořek Patzák
Project e-mail: oofem@fsv.cvut.cz
Generated at for OOFEM by doxygen 1.15.0 written by Dimitri van Heesch, © 1997-2011