OOFEM  2.4
OOFEM.org - Object Oriented Finite Element Solver
oofem::NonlocalMaterialExtensionInterface Class Reference

Abstract base class for all nonlocal materials. More...

#include <nonlocalmaterialext.h>

+ Inheritance diagram for oofem::NonlocalMaterialExtensionInterface:
+ Collaboration diagram for oofem::NonlocalMaterialExtensionInterface:

Public Member Functions

 NonlocalMaterialExtensionInterface (Domain *d)
 Constructor. More...
 
virtual ~NonlocalMaterialExtensionInterface ()
 Destructor. More...
 
void updateDomainBeforeNonlocAverage (TimeStep *tStep)
 Updates data in all integration points before nonlocal average takes place. More...
 
void buildNonlocalPointTable (GaussPoint *gp)
 Builds list of integration points which take part in nonlocal average in given integration point. More...
 
void rebuildNonlocalPointTable (GaussPoint *gp, IntArray *contributingElems)
 Rebuild list of integration points which take part in nonlocal average in given integration point. More...
 
void modifyNonlocalWeightFunctionAround (GaussPoint *gp)
 Recompute the nonlocal interaction weights based on the current solution (e.g., on the damage field). More...
 
void modifyNonlocalWeightFunction_1D_Around (GaussPoint *gp)
 
virtual double giveNonlocalMetricModifierAt (GaussPoint *gp)
 Provide the current value of the variable that affects nonlocal interaction (e.g., of damage) This method is used e.g. More...
 
double computeDistanceModifier (double damage)
 Compute the factor that specifies how the interaction length should be modified, based on the current solution (e.g., on the damage field). More...
 
double computeModifiedLength (double length, double dam1, double dam2)
 Compute the modified interaction length based on the current solution (e.g., on the damage field). More...
 
std::vector< localIntegrationRecord > * giveIPIntegrationList (GaussPoint *gp)
 Returns integration list corresponding to given integration point. More...
 
virtual double computeWeightFunction (double distance)
 Evaluates the basic nonlocal weight function for a given distance between interacting points. More...
 
virtual double computeWeightFunction (const FloatArray &src, const FloatArray &coord)
 Evaluates the basic nonlocal weight function for two points with given coordinates. More...
 
double giveIntegralOfWeightFunction (const int spatial_dimension)
 Provides the integral of the weight function over the contributing volume in 1, 2 or 3D. More...
 
virtual double maxValueOfWeightFunction ()
 Determines the maximum value of the nonlocal weight function. More...
 
int giveNumberOfRegions ()
 Determines the number of material regions of domain. More...
 
virtual int hasBoundedSupport ()
 Determines, whether receiver has bounded weighting function (limited support). More...
 
virtual double evaluateSupportRadius ()
 Determines the width (radius) of limited support of weighting function. More...
 
DomaingiveDomain ()
 Returns reference to domain. More...
 
IRResultType initializeFrom (InputRecord *ir)
 
void giveInputRecord (DynamicInputRecord &input)
 Stores receiver in an input record. More...
 
void endIPNonlocalAverage (GaussPoint *gp)
 Notifies the receiver, that the nonlocal averaging has been finished for given ip. More...
 
- Public Member Functions inherited from oofem::Interface
 Interface ()
 Constructor. More...
 
virtual ~Interface ()
 
virtual const char * giveClassName () const =0
 

Protected Types

enum  WeightFunctionType {
  WFT_Unknown, WFT_Bell, WFT_Gauss, WFT_Green,
  WFT_Uniform, WFT_UniformOverElement, WFT_Green_21
}
 Type characterizing the nonlocal weight function. More...
 
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

void applyBarrierConstraints (const FloatArray &gpCoords, const FloatArray &jGpCoords, double &weight)
 
void manipulateWeight (double &weight, GaussPoint *gp, GaussPoint *jGp)
 Manipulates weight on integration point in the element. More...
 
double giveDistanceBasedInteractionRadius (const FloatArray &gpCoords)
 Provides the distance based interaction radius This function is called when nlvariation is set to 1. More...
 
int mapToGridPoint (double x, double x0)
 
double mapToGridCoord (double x, double x0)
 
double dist2FromGridNode (double x, double y, int j, int i)
 

Protected Attributes

Domaindomain
 
IntArray regionMap
 Map indicating regions to skip (region - cross section model). More...
 
bool permanentNonlocTableFlag
 Flag indicating whether to keep nonlocal interaction tables of integration points cached. More...
 
WeightFunctionType weightFun
 Parameter specifying the type of nonlocal weight function. More...
 
int gridSize
 Grid on which the eikonal equation will be solved (used by eikonal nonlocal models) More...
 
Gridgrid
 
FloatMatrixminDist2
 Auxiliary matrix to store minimum distances of grid points from Gauss points. More...
 
double initDiag
 Optional parameters setting details of the fast marching method. More...
 
int order
 
int centDiff
 
double cl
 Characteristic length of the nonlocal model (its interpretation depends on the type of weight function). More...
 
double suprad
 Support radius. More...
 
double mm
 For "undernonlocal" or "overnonlocal" formulation. More...
 
ScalingType scaling
 Parameter specifying the type of scaling of nonlocal weight function. More...
 
AveragedVarType averagedVar
 Parameter specifying the type of averaged (nonlocal) variable. More...
 
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...
 
NlVariationType nlvar
 Parameter specifying the type of nonlocal variation. 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 px
 Parameter specifying the periodic shift in x-direction. More...
 
double Rf
 Final value of interaction radius, for a model with evolving characteristic length. More...
 
double exponent
 Parameter used as an exponent by models with evolving characteristic length. More...
 
int averType
 Parameter specifying how the weight function should be adjusted due to damage. More...
 

Detailed Description

Abstract base class for all nonlocal materials.

Nonlocal in sense, that response in particular point depends not only on state in that point, but also takes into account state of surrounding points. Response typically depends on some nonlocal quantity obtained as nonlocal average over some characteristic volume. General services for updating domain before nonlocal average, building table of influencing integration points for given integration point and computing nonlocal weight function are declared. The general service for building table of influencing integration points for given integration point is also implemented. The use of multiple inheritance is assumed. Typically, the class representing nonlocal constitutive model is derived both from class representing local model and from this class or from one of its derived classes (which declare services and variables corresponding to specific analysis type).

Definition at line 150 of file nonlocalmaterialext.h.

Member Enumeration Documentation

Type characterizing the averaged (nonlocal) variable.

Enumerator
AVT_Unknown 
AVT_EqStrain 
AVT_Compliance 
AVT_Damage 

Definition at line 209 of file nonlocalmaterialext.h.

Type characterizing the Nonlocal variation.

Enumerator
NLVT_Standard 
NLVT_DistanceBasedLinear 
NLVT_StressBased 
NLVT_DistanceBasedExponential 

Definition at line 221 of file nonlocalmaterialext.h.

Type characterizing the scaling approach.

Enumerator
ST_Unknown 
ST_Standard 
ST_Noscaling 
ST_Borino 

Definition at line 204 of file nonlocalmaterialext.h.

Type characterizing the nonlocal weight function.

Enumerator
WFT_Unknown 
WFT_Bell 
WFT_Gauss 
WFT_Green 
WFT_Uniform 
WFT_UniformOverElement 
WFT_Green_21 

Definition at line 178 of file nonlocalmaterialext.h.

Constructor & Destructor Documentation

oofem::NonlocalMaterialExtensionInterface::NonlocalMaterialExtensionInterface ( Domain d)

Constructor.

Creates material with given number, belonging to given domain.

Parameters
dDomain to which new material will belong.

Definition at line 62 of file nonlocalmaterialext.C.

References averagedVar, averType, AVT_Unknown, beta, centDiff, cl, cl0, domain, exponent, oofem::Domain::giveNumberOfRegions(), grid, gridSize, hasBoundedSupport(), initDiag, minDist2, mm, nlvar, NLVT_Standard, order, permanentNonlocTableFlag, px, regionMap, oofem::IntArray::resize(), Rf, scaling, ST_Unknown, suprad, weightFun, WFT_Unknown, and zeta.

virtual oofem::NonlocalMaterialExtensionInterface::~NonlocalMaterialExtensionInterface ( )
inlinevirtual

Destructor.

Definition at line 264 of file nonlocalmaterialext.h.

Member Function Documentation

void oofem::NonlocalMaterialExtensionInterface::applyBarrierConstraints ( const FloatArray gpCoords,
const FloatArray jGpCoords,
double &  weight 
)
protected
void oofem::NonlocalMaterialExtensionInterface::buildNonlocalPointTable ( GaussPoint gp)

Builds list of integration points which take part in nonlocal average in given integration point.

This list is stored in integration point corresponding nonlocal status. Generally speaking, the nonlocal weight function with "bounded" or limited support is assumed. When nonlocal weight function unbounded support is used, then keeping the list of influencing integration points would be wasting of space and should be cleared after averaging has been finished in integration point. The endIPNonlocalAverage method will ensure this.

Definition at line 117 of file nonlocalmaterialext.C.

References applyBarrierConstraints(), oofem::IntArray::at(), oofem::FloatArray::at(), cl, oofem::Element::computeGlobalCoordinates(), oofem::Element::computeVolumeAround(), computeWeightFunction(), evaluateSupportRadius(), oofem::SpatialLocalizer::giveAllElementsWithIpWithinBox_EvenIfEmpty(), oofem::SpatialLocalizer::giveAllElementsWithNodesWithinBox(), oofem::Element::giveDefaultIntegrationRulePtr(), giveDistanceBasedInteractionRadius(), giveDomain(), oofem::GaussPoint::giveElement(), oofem::Domain::giveElement(), oofem::NonlocalMaterialStatusExtensionInterface::giveIntegrationDomainList(), oofem::GaussPoint::giveMaterialStatus(), oofem::GaussPoint::giveNaturalCoordinates(), oofem::FEMComponent::giveNumber(), oofem::Element::giveRegionNumber(), oofem::IntArray::giveSize(), oofem::Domain::giveSpatialLocalizer(), manipulateWeight(), oofem::localIntegrationRecord::nearGp, nlvar, NLVT_DistanceBasedExponential, NLVT_DistanceBasedLinear, oofem::NonlocalMaterialStatusExtensionInterfaceType, OOFEM_ERROR, px, regionMap, oofem::NonlocalMaterialStatusExtensionInterface::setIntegrationScale(), oofem::NonlocalMaterialStatusExtensionInterface::setVolumeAround(), suprad, and oofem::localIntegrationRecord::weight.

Referenced by oofem::RankineMatNl::computeCumPlasticStrain(), oofem::MisesMatNl::computeCumPlasticStrain(), oofem::TrabBoneNL::computeCumPlastStrain(), oofem::TrabBoneNL3D::computeCumPlastStrain(), oofem::TrabBoneNLEmbed::computeCumPlastStrain(), oofem::MDM::computeDamageTensor(), oofem::MazarsNLMaterial::computeEquivalentStrain(), oofem::IDNLMaterial::computeEquivalentStrain(), oofem::FRCFCMNL::computeNonlocalStressInFibers(), oofem::FRCFCMNL::computeNonlocalStressInFibersInUncracked(), giveIPIntegrationList(), oofem::RCSDNLMaterial::giveRealStressVector(), oofem::TrabBoneNL3D::NonlocalMaterialStiffnessInterface_giveIntegrationDomainList(), oofem::MisesMatNl::NonlocalMaterialStiffnessInterface_giveIntegrationDomainList(), oofem::RankineMatNl::NonlocalMaterialStiffnessInterface_giveIntegrationDomainList(), oofem::IDNLMaterial::NonlocalMaterialStiffnessInterface_giveIntegrationDomainList(), oofem::MDM::packUnknowns(), and rebuildNonlocalPointTable().

double oofem::NonlocalMaterialExtensionInterface::computeDistanceModifier ( double  damage)

Compute the factor that specifies how the interaction length should be modified, based on the current solution (e.g., on the damage field).

This method is used e.g. by eikonal nonlocal damage models.

Definition at line 544 of file nonlocalmaterialext.C.

References averType, cl, exponent, M_PI, and Rf.

Referenced by computeModifiedLength(), and modifyNonlocalWeightFunctionAround().

double oofem::NonlocalMaterialExtensionInterface::computeModifiedLength ( double  length,
double  dam1,
double  dam2 
)

Compute the modified interaction length based on the current solution (e.g., on the damage field).

This method is used e.g. by eikonal nonlocal damage models.

Definition at line 533 of file nonlocalmaterialext.C.

References averType, and computeDistanceModifier().

Referenced by modifyNonlocalWeightFunction_1D_Around().

double oofem::NonlocalMaterialExtensionInterface::computeWeightFunction ( double  distance)
virtual
double oofem::NonlocalMaterialExtensionInterface::computeWeightFunction ( const FloatArray src,
const FloatArray coord 
)
virtual

Evaluates the basic nonlocal weight function for two points with given coordinates.

This function is NOT normalized by the condition of unit integral.

Parameters
srcCoordinates of source point.
coordCoordinates of receiver point.
Returns
Value of weight function.

Reimplemented in oofem::MDM, oofem::TrabBoneNL3D, oofem::RCSDNLMaterial, oofem::MazarsNLMaterial, oofem::TrabBoneNLEmbed, and oofem::TrabBoneNL.

Definition at line 657 of file nonlocalmaterialext.C.

References computeWeightFunction(), and oofem::FloatArray::distance().

double oofem::NonlocalMaterialExtensionInterface::dist2FromGridNode ( double  x,
double  y,
int  j,
int  i 
)
inlineprotected

Definition at line 448 of file nonlocalmaterialext.h.

Referenced by modifyNonlocalWeightFunctionAround().

void oofem::NonlocalMaterialExtensionInterface::endIPNonlocalAverage ( GaussPoint gp)

Notifies the receiver, that the nonlocal averaging has been finished for given ip.

It deletes IP nonlocal table if permanentNonlocTableFlag is false. This can save significant memory, since nonlocal tables are not stored, but every time computed when needed, but on the other hand computational time may significantly grow.

Definition at line 584 of file nonlocalmaterialext.C.

References oofem::NonlocalMaterialStatusExtensionInterface::clear(), oofem::GaussPoint::giveMaterialStatus(), hasBoundedSupport(), oofem::NonlocalMaterialStatusExtensionInterfaceType, OOFEM_ERROR, and permanentNonlocTableFlag.

Referenced by oofem::MDM::computeDamageTensor(), oofem::MazarsNLMaterial::computeEquivalentStrain(), oofem::IDNLMaterial::computeEquivalentStrain(), and oofem::RCSDNLMaterial::giveRealStressVector().

double oofem::NonlocalMaterialExtensionInterface::evaluateSupportRadius ( )
virtual

Determines the width (radius) of limited support of weighting function.

i.e., the distance at which the interaction weight becomes zero.

Definition at line 724 of file nonlocalmaterialext.C.

References cl, weightFun, WFT_Bell, WFT_Gauss, WFT_Green, WFT_Green_21, WFT_Uniform, and WFT_UniformOverElement.

Referenced by buildNonlocalPointTable(), initializeFrom(), and rebuildNonlocalPointTable().

double oofem::NonlocalMaterialExtensionInterface::giveDistanceBasedInteractionRadius ( const FloatArray gpCoords)
protected

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

The function loops over all user defined nonlocal boundaries to 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.
Returns
New interaction radius based on the Distance of the Gauss Point from Nonlocal Boundaries.

Definition at line 937 of file nonlocalmaterialext.C.

References beta, oofem::NonlocalBarrier::calculateMinimumDistanceFromBoundary(), cl0, domain, oofem::Domain::giveNonlocalBarrier(), oofem::Domain::giveNumberOfNonlocalBarriers(), nlvar, NLVT_DistanceBasedExponential, NLVT_DistanceBasedLinear, and zeta.

Referenced by buildNonlocalPointTable(), and rebuildNonlocalPointTable().

Domain* oofem::NonlocalMaterialExtensionInterface::giveDomain ( )
inline
double oofem::NonlocalMaterialExtensionInterface::giveIntegralOfWeightFunction ( const int  spatial_dimension)

Provides the integral of the weight function over the contributing volume in 1, 2 or 3D.

Definition at line 663 of file nonlocalmaterialext.C.

References cl, M_PI, weightFun, WFT_Bell, WFT_Gauss, WFT_Green, WFT_Green_21, and WFT_Uniform.

Referenced by computeWeightFunction(), and maxValueOfWeightFunction().

virtual double oofem::NonlocalMaterialExtensionInterface::giveNonlocalMetricModifierAt ( GaussPoint gp)
inlinevirtual

Provide the current value of the variable that affects nonlocal interaction (e.g., of damage) This method is used e.g.

by eikonal nonlocal damage models.

Reimplemented in oofem::IDNLMaterial.

Definition at line 314 of file nonlocalmaterialext.h.

Referenced by modifyNonlocalWeightFunction_1D_Around(), and modifyNonlocalWeightFunctionAround().

int oofem::NonlocalMaterialExtensionInterface::giveNumberOfRegions ( )

Determines the number of material regions of domain.

In the current implementation the region is associated with cross section model.

virtual int oofem::NonlocalMaterialExtensionInterface::hasBoundedSupport ( )
inlinevirtual

Determines, whether receiver has bounded weighting function (limited support).

Returns
True if weighting function bounded, zero otherwise.

Reimplemented in oofem::MDM, oofem::RankineMatNl, oofem::MisesMatNl, oofem::TrabBoneNL3D, oofem::RCSDNLMaterial, oofem::MazarsNLMaterial, oofem::TrabBoneNLEmbed, and oofem::TrabBoneNL.

Definition at line 382 of file nonlocalmaterialext.h.

Referenced by endIPNonlocalAverage(), initializeFrom(), and NonlocalMaterialExtensionInterface().

IRResultType oofem::NonlocalMaterialExtensionInterface::initializeFrom ( InputRecord ir)

Definition at line 743 of file nonlocalmaterialext.C.

References _IFT_NonlocalMaterialExtensionInterface_averagedquantity, _IFT_NonlocalMaterialExtensionInterface_averagingtype, _IFT_NonlocalMaterialExtensionInterface_beta, _IFT_NonlocalMaterialExtensionInterface_centdiff, _IFT_NonlocalMaterialExtensionInterface_exp, _IFT_NonlocalMaterialExtensionInterface_gridsize, _IFT_NonlocalMaterialExtensionInterface_initdiag, _IFT_NonlocalMaterialExtensionInterface_m, _IFT_NonlocalMaterialExtensionInterface_nonlocalvariation, _IFT_NonlocalMaterialExtensionInterface_order, _IFT_NonlocalMaterialExtensionInterface_permanentNonlocTableFlag, _IFT_NonlocalMaterialExtensionInterface_px, _IFT_NonlocalMaterialExtensionInterface_r, _IFT_NonlocalMaterialExtensionInterface_regionmap, _IFT_NonlocalMaterialExtensionInterface_rf, _IFT_NonlocalMaterialExtensionInterface_scalingtype, _IFT_NonlocalMaterialExtensionInterface_wft, _IFT_NonlocalMaterialExtensionInterface_zeta, averagedVar, averType, AVT_EqStrain, beta, centDiff, cl, cl0, evaluateSupportRadius(), exponent, giveDomain(), oofem::Domain::giveNumberOfRegions(), oofem::IntArray::giveSize(), grid, gridSize, hasBoundedSupport(), oofem::InputRecord::hasField(), initDiag, IR_GIVE_FIELD, IR_GIVE_OPTIONAL_FIELD, oofem::IRRT_OK, minDist2, mm, nlvar, NLVT_DistanceBasedExponential, NLVT_DistanceBasedLinear, NLVT_StressBased, OOFEM_ERROR, order, permanentNonlocTableFlag, px, regionMap, Rf, scaling, ST_Standard, suprad, weightFun, WFT_Bell, WFT_UniformOverElement, oofem::IntArray::zero(), and zeta.

Referenced by oofem::TrabBoneNL::initializeFrom(), oofem::TrabBoneNL3D::initializeFrom(), oofem::TrabBoneNLEmbed::initializeFrom(), oofem::RankineMatNl::initializeFrom(), oofem::MisesMatNl::initializeFrom(), oofem::FRCFCMNL::initializeFrom(), oofem::MazarsNLMaterial::initializeFrom(), oofem::IDNLMaterial::initializeFrom(), oofem::RCSDNLMaterial::initializeFrom(), and oofem::MDM::initializeFrom().

void oofem::NonlocalMaterialExtensionInterface::manipulateWeight ( double &  weight,
GaussPoint gp,
GaussPoint jGp 
)
protected

Manipulates weight on integration point in the element.

By default is off, keyword 'averagingtype' specifies various methods. For example, a boundary layer method averages strains over the whole element without any radius.

Parameters
weightModifies the weight with the jGp-th item.
gpPointer to the GP owing the PointTable.
jGpPointer to GP in the PointTable.

Definition at line 923 of file nonlocalmaterialext.C.

References AVERAGING_TYPE, oofem::Material::give(), oofem::Element::giveDefaultIntegrationRulePtr(), oofem::GaussPoint::giveElement(), oofem::Element::giveMaterial(), oofem::IntegrationRule::giveNumberOfIntegrationPoints(), and oofem::Material::hasProperty().

Referenced by buildNonlocalPointTable(), and rebuildNonlocalPointTable().

double oofem::NonlocalMaterialExtensionInterface::mapToGridCoord ( double  x,
double  x0 
)
inlineprotected

Definition at line 447 of file nonlocalmaterialext.h.

Referenced by modifyNonlocalWeightFunctionAround().

int oofem::NonlocalMaterialExtensionInterface::mapToGridPoint ( double  x,
double  x0 
)
inlineprotected

Definition at line 446 of file nonlocalmaterialext.h.

Referenced by modifyNonlocalWeightFunctionAround().

double oofem::NonlocalMaterialExtensionInterface::maxValueOfWeightFunction ( )
virtual

Determines the maximum value of the nonlocal weight function.

Definition at line 717 of file nonlocalmaterialext.C.

References domain, giveIntegralOfWeightFunction(), and oofem::Domain::giveNumberOfSpatialDimensions().

void oofem::NonlocalMaterialExtensionInterface::rebuildNonlocalPointTable ( GaussPoint gp,
IntArray contributingElems 
)
void oofem::NonlocalMaterialExtensionInterface::updateDomainBeforeNonlocAverage ( TimeStep tStep)

Updates data in all integration points before nonlocal average takes place.

It is necessary, mainly due to resulting efficiency, to compute variable(s) which are nonlocally averaged in advance, before average process begins. These variables must be stored in integration point's associated statuses. This function updates the whole problem domain, by updating all integration points values, which take part in nonlocal average process. All elements are updated using Element::updateBeforeNonlocalAverage abstract service, which in turn updates all integration points associated with particular element. The service used to update element integration point depends on analysis type and is specified by element-specific type (like StructuralElement) corresponding to analysis type. This service can be invoked multiple times, but update for specific material is done only once, because last modification time mark is kept.

See also
Element::updateBeforeNonlocalAverage

Definition at line 99 of file nonlocalmaterialext.C.

References giveDomain(), oofem::Domain::giveElements(), oofem::Domain::giveNonlocalUpdateStateCounter(), oofem::TimeStep::giveSolutionStateCounter(), OOFEM_LOG_DEBUG, and oofem::Domain::setNonlocalUpdateStateCounter().

Referenced by oofem::RankineMatNl::computeCumPlasticStrain(), oofem::MisesMatNl::computeCumPlasticStrain(), oofem::TrabBoneNL::computeCumPlastStrain(), oofem::TrabBoneNL3D::computeCumPlastStrain(), oofem::TrabBoneNLEmbed::computeCumPlastStrain(), oofem::MDM::computeDamageTensor(), oofem::MazarsNLMaterial::computeEquivalentStrain(), oofem::IDNLMaterial::computeEquivalentStrain(), oofem::RCSDNLMaterial::giveRealStressVector(), and oofem::MDM::packUnknowns().

Member Data Documentation

AveragedVarType oofem::NonlocalMaterialExtensionInterface::averagedVar
protected

Parameter specifying the type of averaged (nonlocal) variable.

Definition at line 211 of file nonlocalmaterialext.h.

Referenced by oofem::IDNLMaterial::computeDamageParam(), giveInputRecord(), initializeFrom(), NonlocalMaterialExtensionInterface(), and oofem::IDNLMaterial::updateBeforeNonlocAverage().

int oofem::NonlocalMaterialExtensionInterface::averType
protected

Parameter specifying how the weight function should be adjusted due to damage.

Definition at line 255 of file nonlocalmaterialext.h.

Referenced by computeDistanceModifier(), computeModifiedLength(), giveInputRecord(), initializeFrom(), NonlocalMaterialExtensionInterface(), and oofem::IDNLMaterial::updateBeforeNonlocAverage().

double oofem::NonlocalMaterialExtensionInterface::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 229 of file nonlocalmaterialext.h.

Referenced by oofem::IDNLMaterial::computeStressBasedWeight(), oofem::IDNLMaterial::computeStressBasedWeightForPeriodicCell(), oofem::TrabBoneNL3D::give3dMaterialStiffnessMatrix(), giveDistanceBasedInteractionRadius(), giveInputRecord(), oofem::TrabBoneNL3D::giveRemoteNonlocalStiffnessContribution(), initializeFrom(), and NonlocalMaterialExtensionInterface().

int oofem::NonlocalMaterialExtensionInterface::centDiff
protected
double oofem::NonlocalMaterialExtensionInterface::cl
protected
double oofem::NonlocalMaterialExtensionInterface::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 219 of file nonlocalmaterialext.h.

Referenced by giveDistanceBasedInteractionRadius(), initializeFrom(), NonlocalMaterialExtensionInterface(), and rebuildNonlocalPointTable().

Domain* oofem::NonlocalMaterialExtensionInterface::domain
protected
double oofem::NonlocalMaterialExtensionInterface::exponent
protected

Parameter used as an exponent by models with evolving characteristic length.

Definition at line 253 of file nonlocalmaterialext.h.

Referenced by computeDistanceModifier(), giveInputRecord(), initializeFrom(), and NonlocalMaterialExtensionInterface().

Grid* oofem::NonlocalMaterialExtensionInterface::grid
protected
int oofem::NonlocalMaterialExtensionInterface::gridSize
protected

Grid on which the eikonal equation will be solved (used by eikonal nonlocal models)

Definition at line 182 of file nonlocalmaterialext.h.

Referenced by initializeFrom(), modifyNonlocalWeightFunctionAround(), and NonlocalMaterialExtensionInterface().

double oofem::NonlocalMaterialExtensionInterface::initDiag
protected

Optional parameters setting details of the fast marching method.

Definition at line 187 of file nonlocalmaterialext.h.

Referenced by initializeFrom(), modifyNonlocalWeightFunctionAround(), and NonlocalMaterialExtensionInterface().

FloatMatrix* oofem::NonlocalMaterialExtensionInterface::minDist2
protected

Auxiliary matrix to store minimum distances of grid points from Gauss points.

Definition at line 185 of file nonlocalmaterialext.h.

Referenced by initializeFrom(), modifyNonlocalWeightFunctionAround(), and NonlocalMaterialExtensionInterface().

NlVariationType oofem::NonlocalMaterialExtensionInterface::nlvar
protected
int oofem::NonlocalMaterialExtensionInterface::order
protected
bool oofem::NonlocalMaterialExtensionInterface::permanentNonlocTableFlag
protected

Flag indicating whether to keep nonlocal interaction tables of integration points cached.

Definition at line 176 of file nonlocalmaterialext.h.

Referenced by endIPNonlocalAverage(), giveInputRecord(), initializeFrom(), and NonlocalMaterialExtensionInterface().

double oofem::NonlocalMaterialExtensionInterface::px
protected

Parameter specifying the periodic shift in x-direction.

Typically it is zero. If it is set to a positive value, the nonlocal interaction is considered not only if the distance between the receiver and the source is smaller than the interaction radius but also if the source point shifted by -px or +px satisfies this condition. This is useful if the mesh represents a periodic cell.

Definition at line 246 of file nonlocalmaterialext.h.

Referenced by buildNonlocalPointTable(), oofem::IDNLMaterial::computeStressBasedWeight(), oofem::IDNLMaterial::computeStressBasedWeightForPeriodicCell(), initializeFrom(), and NonlocalMaterialExtensionInterface().

IntArray oofem::NonlocalMaterialExtensionInterface::regionMap
protected

Map indicating regions to skip (region - cross section model).

Definition at line 174 of file nonlocalmaterialext.h.

Referenced by buildNonlocalPointTable(), giveInputRecord(), initializeFrom(), NonlocalMaterialExtensionInterface(), and rebuildNonlocalPointTable().

double oofem::NonlocalMaterialExtensionInterface::Rf
protected

Final value of interaction radius, for a model with evolving characteristic length.

Definition at line 251 of file nonlocalmaterialext.h.

Referenced by computeDistanceModifier(), giveInputRecord(), initializeFrom(), and NonlocalMaterialExtensionInterface().

ScalingType oofem::NonlocalMaterialExtensionInterface::scaling
protected
double oofem::NonlocalMaterialExtensionInterface::suprad
protected
WeightFunctionType oofem::NonlocalMaterialExtensionInterface::weightFun
protected

Parameter specifying the type of nonlocal weight function.

Definition at line 180 of file nonlocalmaterialext.h.

Referenced by computeWeightFunction(), evaluateSupportRadius(), giveInputRecord(), giveIntegralOfWeightFunction(), initializeFrom(), and NonlocalMaterialExtensionInterface().

double oofem::NonlocalMaterialExtensionInterface::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 237 of file nonlocalmaterialext.h.

Referenced by giveDistanceBasedInteractionRadius(), giveInputRecord(), initializeFrom(), and NonlocalMaterialExtensionInterface().


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:39 for OOFEM by doxygen 1.8.11 written by Dimitri van Heesch, © 1997-2011