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

#include <structuralnonlocalmaterialext.h>

Inheritance diagram for oofem::StructuralNonlocalMaterialExtensionInterface:
Collaboration diagram for oofem::StructuralNonlocalMaterialExtensionInterface:

Public Member Functions

 StructuralNonlocalMaterialExtensionInterface (Domain *d)
 ~StructuralNonlocalMaterialExtensionInterface ()
 Destructor.
virtual void updateBeforeNonlocAverage (const FloatArray &strainVector, GaussPoint *gp, TimeStep *tStep) const =0
Public Member Functions inherited from oofem::NonlocalMaterialExtensionInterface
 NonlocalMaterialExtensionInterface (Domain *d)
virtual ~NonlocalMaterialExtensionInterface ()
 Destructor.
void updateDomainBeforeNonlocAverage (TimeStep *tStep) const
void buildNonlocalPointTable (GaussPoint *gp) const
void rebuildNonlocalPointTable (GaussPoint *gp, IntArray *contributingElems) const
void modifyNonlocalWeightFunctionAround (GaussPoint *gp) const
void modifyNonlocalWeightFunction_1D_Around (GaussPoint *gp) const
virtual double giveNonlocalMetricModifierAt (GaussPoint *gp) const
double computeDistanceModifier (double cl, double damage) const
double computeModifiedLength (double length, double dam1, double dam2) const
std ::vector< localIntegrationRecord > * giveIPIntegrationList (GaussPoint *gp) const
virtual double computeWeightFunction (const double cl, const double distance) const
virtual double computeWeightFunction (const double cl, const FloatArray &src, const FloatArray &coord) const
double giveIntegralOfWeightFunction (double cl, const int spatial_dimension) const
virtual double maxValueOfWeightFunction ()
 Determines the maximum value of the nonlocal weight function.
int giveNumberOfRegions () const
virtual int hasBoundedSupport () const
virtual double evaluateSupportRadius (double cl) const
DomaingiveDomain ()
 Returns reference to domain.
void initializeFrom (InputRecord &ir)
void giveInputRecord (DynamicInputRecord &input)
void endIPNonlocalAverage (GaussPoint *gp) const
Public Member Functions inherited from oofem::Interface
 Interface ()
 Constructor.
virtual ~Interface ()
virtual const char * giveClassName () const =0

Additional Inherited Members

Protected Types inherited from oofem::NonlocalMaterialExtensionInterface
enum  ScalingType { ST_Unknown , ST_Standard , ST_Noscaling , ST_Borino }
 Type characterizing the scaling approach. More...
enum  AveragedVarType { AVT_Unknown , AVT_EqStrain , AVT_Compliance , AVT_Damage }
 Type characterizing the averaged (nonlocal) variable. More...
enum  NlVariationType { NLVT_Standard , NLVT_DistanceBasedLinear , NLVT_StressBased , NLVT_DistanceBasedExponential }
 Type characterizing the Nonlocal variation. More...
Protected Member Functions inherited from oofem::NonlocalMaterialExtensionInterface
void applyBarrierConstraints (const FloatArray &gpCoords, const FloatArray &jGpCoords, double &weight) const
void manipulateWeight (double &weight, GaussPoint *gp, GaussPoint *jGp) const
double giveDistanceBasedInteractionRadius (const FloatArray &gpCoords) const
int mapToGridPoint (double x, double x0) const
double mapToGridCoord (double x, double x0) const
double dist2FromGridNode (double x, double y, int j, int i) const
Protected Attributes inherited from oofem::NonlocalMaterialExtensionInterface
Domaindomain = nullptr
IntArray regionMap
 Map indicating regions to skip (region - cross section model).
bool permanentNonlocTableFlag = false
 Flag indicating whether to keep nonlocal interaction tables of integration points cached.
WeightFunctionType weightFun
 Parameter specifying the type of nonlocal weight function.
int gridSize = 0
 Grid on which the eikonal equation will be solved (used by eikonal nonlocal models).
double initDiag = 0.
 Optional parameters setting details of the fast marching method.
int order = 0
int centDiff = 0
double cl = 0.
double suprad = 0.
 Support radius.
double mm = 0.
 For "undernonlocal" or "overnonlocal" formulation.
ScalingType scaling
 Parameter specifying the type of scaling of nonlocal weight function.
AveragedVarType averagedVar
 Parameter specifying the type of averaged (nonlocal) variable.
double cl0 = 0.
NlVariationType nlvar
 Parameter specifying the type of nonlocal variation.
double beta = 0.
double zeta = 0.
double px = 0.
double Rf = 0.
 Final value of interaction radius, for a model with evolving characteristic length.
double exponent = 0.
 Parameter used as an exponent by models with evolving characteristic length.
int averType = 0
 Parameter specifying how the weight function should be adjusted due to damage.

Detailed Description

Abstract base class for all nonlocal structural materials. Nonlocal in the sense that the response at a particular point depends not only on the state of that point, but also takes into account the state of surrounding points. The response typically depends on some nonlocal quantity obtained as weighted average over some characteristic volume. This class declares the necessary interface for all nonlocal structural constitutive models. It also stores the parameters needed for nonlocal averaging and provides services for evaluation of the weight function.

Definition at line 61 of file structuralnonlocalmaterialext.h.

Constructor & Destructor Documentation

◆ StructuralNonlocalMaterialExtensionInterface()

◆ ~StructuralNonlocalMaterialExtensionInterface()

oofem::StructuralNonlocalMaterialExtensionInterface::~StructuralNonlocalMaterialExtensionInterface ( )
inline

Destructor.

Definition at line 71 of file structuralnonlocalmaterialext.h.

Member Function Documentation

◆ updateBeforeNonlocAverage()

virtual void oofem::StructuralNonlocalMaterialExtensionInterface::updateBeforeNonlocAverage ( const FloatArray & strainVector,
GaussPoint * gp,
TimeStep * tStep ) const
pure virtual

Declares the service updating local variables in given integration points, which take part in nonlocal average process. Because value of single integration point influences nonlocal variables in several near integration points, it is suitable to compute these variables only once. These should be stored in integration point associated statuses. The implementation is left on derived classes. Provide material local strain increment - as is provided to computeRealStresVector. This allows to update internal vars to be averaged to new state

Parameters
strainVectorTotal strain vector in given integration point.
gpIntegration point to update.
tStepSolution step indicating time of update.

Implemented in oofem::FRCFCMNL, oofem::IDNLMaterial, oofem::MazarsNLMaterial, oofem::MDM, oofem::MisesMatNl, oofem::RankineMatNl, oofem::RCSDNLMaterial, oofem::TrabBoneNL3D, oofem::TrabBoneNL, and oofem::TrabBoneNLEmbed.

Referenced by oofem::StructuralElement::updateBeforeNonlocalAverage().


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

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