OOFEM  2.4
OOFEM.org - Object Oriented Finite Element Solver
oofem::GradDpMaterialExtensionInterface Class Referenceabstract

Material interface for gradient material models. More...

#include <graddpmaterialextensioninterface.h>

+ Inheritance diagram for oofem::GradDpMaterialExtensionInterface:
+ Collaboration diagram for oofem::GradDpMaterialExtensionInterface:

Public Member Functions

 GradDpMaterialExtensionInterface (Domain *d)
 Constructor. More...
 
virtual ~GradDpMaterialExtensionInterface ()
 Destructor. More...
 
virtual void givePDGradMatrix_uu (FloatMatrix &answer, MatResponseMode mode, GaussPoint *gp, TimeStep *tStep)=0
 Left upper block. More...
 
virtual void givePDGradMatrix_ku (FloatMatrix &answer, MatResponseMode mode, GaussPoint *gp, TimeStep *tStep)=0
 Left lower block. More...
 
virtual void givePDGradMatrix_uk (FloatMatrix &answer, MatResponseMode mode, GaussPoint *gp, TimeStep *tStep)=0
 Right upper block. More...
 
virtual void givePDGradMatrix_kk (FloatMatrix &answer, MatResponseMode mode, GaussPoint *gp, TimeStep *tStep)=0
 Right lower block. More...
 
virtual void givePDGradMatrix_LD (FloatMatrix &answer, MatResponseMode mode, GaussPoint *gp, TimeStep *tStep)=0
 Stress-based averaging. More...
 
virtual void giveRealStressVectorGrad (FloatArray &answer1, double &answer2, GaussPoint *gp, const FloatArray &totalStrain, double nonlocalDamageDrivningVariable, TimeStep *tStep)
 gradient - based giveRealStressVector More...
 
virtual void giveFirstPKStressVectorGrad (FloatArray &answer1, double &answer2, GaussPoint *gp, const FloatArray &totalStrain, double nonlocalDamageDrivningVariable, TimeStep *tStep)
 
virtual void giveCauchyStressVectorGrad (FloatArray &answer1, double &answer2, GaussPoint *gp, const FloatArray &totalStrain, double nonlocalDamageDrivningVariable, TimeStep *tStep)
 
virtual IRResultType initializeFrom (InputRecord *ir)
 
int giveAveragingType ()
 
- Public Member Functions inherited from oofem::Interface
 Interface ()
 Constructor. More...
 
virtual ~Interface ()
 
virtual const char * giveClassName () const =0
 

Protected Member Functions

void giveDistanceBasedCharacteristicLength (const FloatArray &gpCoords)
 Provides the distance based interaction radius This function is called when averType is set to 1. More...
 

Protected Attributes

Domaindom
 
double cl0
 Initial(user defined) characteristic length of the nonlocal model (its interpretation depends on the weight function) Is different to cl when a Stress-based or a Distance-based nonlocal variation is applied. More...
 
int averType
 Parameter which defines the averaging type When averType is equal to zereo classical approach is used for averType equal to one, distance-based apprach is used and avetType equal to two corresponds to stress-based averaging. More...
 
double beta
 Parameter which multiplied with the interaction radius cl0 gives its minimum allowed value. More...
 
double zeta
 Parameter used when Distance-based nonlocal variation is applied When it is multiplied with the interaction radius cl gives the maxinmum distance of the Gauss Point from the boundary. More...
 
double cl
 Characteristic length of the nonlocal model (its interpretation depends on the type of weight function). More...
 

Detailed Description

Material interface for gradient material models.

Definition at line 59 of file graddpmaterialextensioninterface.h.

Constructor & Destructor Documentation

oofem::GradDpMaterialExtensionInterface::GradDpMaterialExtensionInterface ( Domain d)

Constructor.

Creates material with given number, belonging to given domain.

Parameters
dDomain to which new material will belong.

Definition at line 51 of file graddpmaterialextensioninterface.C.

References averType, beta, cl, cl0, dom, and zeta.

virtual oofem::GradDpMaterialExtensionInterface::~GradDpMaterialExtensionInterface ( )
inlinevirtual

Member Function Documentation

virtual void oofem::GradDpMaterialExtensionInterface::giveCauchyStressVectorGrad ( FloatArray answer1,
double &  answer2,
GaussPoint gp,
const FloatArray totalStrain,
double  nonlocalDamageDrivningVariable,
TimeStep tStep 
)
inlinevirtual
void oofem::GradDpMaterialExtensionInterface::giveDistanceBasedCharacteristicLength ( const FloatArray gpCoords)
protected

Provides the distance based interaction radius This function is called when averType is set to 1.

The function loops over all user defined nonlocal boundaries to find minimum distance from the GP. Then calculates interaction radius

Parameters
gpCoordsThe Gauss points' coordinates, whose interaction radius is calculated based on the distance-based averaging approach.

Definition at line 100 of file graddpmaterialextensioninterface.C.

References beta, oofem::NonlocalBarrier::calculateMinimumDistanceFromBoundary(), cl, cl0, dom, oofem::Domain::giveNonlocalBarrier(), oofem::Domain::giveNumberOfNonlocalBarriers(), and zeta.

Referenced by oofem::IDGMaterial::giveInternalLength().

virtual void oofem::GradDpMaterialExtensionInterface::giveFirstPKStressVectorGrad ( FloatArray answer1,
double &  answer2,
GaussPoint gp,
const FloatArray totalStrain,
double  nonlocalDamageDrivningVariable,
TimeStep tStep 
)
inlinevirtual
virtual void oofem::GradDpMaterialExtensionInterface::givePDGradMatrix_LD ( FloatMatrix answer,
MatResponseMode  mode,
GaussPoint gp,
TimeStep tStep 
)
pure virtual
virtual void oofem::GradDpMaterialExtensionInterface::giveRealStressVectorGrad ( FloatArray answer1,
double &  answer2,
GaussPoint gp,
const FloatArray totalStrain,
double  nonlocalDamageDrivningVariable,
TimeStep tStep 
)
inlinevirtual

Member Data Documentation

int oofem::GradDpMaterialExtensionInterface::averType
protected

Parameter which defines the averaging type When averType is equal to zereo classical approach is used for averType equal to one, distance-based apprach is used and avetType equal to two corresponds to stress-based averaging.

Definition at line 79 of file graddpmaterialextensioninterface.h.

Referenced by giveAveragingType(), GradDpMaterialExtensionInterface(), and initializeFrom().

double oofem::GradDpMaterialExtensionInterface::beta
protected

Parameter which multiplied with the interaction radius cl0 gives its minimum allowed value.

It is used when a Stress-based or a Distance-based nonlocal variation is applied

Definition at line 86 of file graddpmaterialextensioninterface.h.

Referenced by oofem::TrabBoneGrad3D::give3dKappaMatrix(), oofem::TrabBoneGrad3D::give3dMaterialStiffnessMatrix(), giveDistanceBasedCharacteristicLength(), GradDpMaterialExtensionInterface(), and initializeFrom().

double oofem::GradDpMaterialExtensionInterface::cl
protected

Characteristic length of the nonlocal model (its interpretation depends on the type of weight function).

Definition at line 100 of file graddpmaterialextensioninterface.h.

Referenced by giveDistanceBasedCharacteristicLength(), oofem::IDGMaterial::giveInternalLength(), oofem::IDGMaterial::giveInternalLengthDerivative(), GradDpMaterialExtensionInterface(), and initializeFrom().

double oofem::GradDpMaterialExtensionInterface::cl0
protected

Initial(user defined) characteristic length of the nonlocal model (its interpretation depends on the weight function) Is different to cl when a Stress-based or a Distance-based nonlocal variation is applied.

Definition at line 70 of file graddpmaterialextensioninterface.h.

Referenced by giveDistanceBasedCharacteristicLength(), oofem::IDGMaterial::giveInternalLength(), GradDpMaterialExtensionInterface(), and initializeFrom().

Domain* oofem::GradDpMaterialExtensionInterface::dom
protected
double oofem::GradDpMaterialExtensionInterface::zeta
protected

Parameter used when Distance-based nonlocal variation is applied When it is multiplied with the interaction radius cl gives the maxinmum distance of the Gauss Point from the boundary.

If the Gauss Point's distance from the boundary is larger than this value the interaction radius cl is set to cl0

Definition at line 94 of file graddpmaterialextensioninterface.h.

Referenced by giveDistanceBasedCharacteristicLength(), GradDpMaterialExtensionInterface(), 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 Jan 2 2018 20:07:36 for OOFEM by doxygen 1.8.11 written by Dimitri van Heesch, © 1997-2011