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

Class representing microplane integration point in finite element program. More...

#include <microplane.h>

+ Inheritance diagram for oofem::Microplane:
+ Collaboration diagram for oofem::Microplane:

Public Member Functions

 Microplane (IntegrationRule *ir, int n, MaterialMode mode)
 Creates microplane integration point belonging to given element, with given number, integration weight, coordinates and material mode. More...
 
virtual ~Microplane ()
 Destructor. More...
 
virtual IRResultType initializeFrom (InputRecord *ir)
 Initializes receiver according to object description stored in input record. More...
 
double giveWeight ()
 Returns integration weight of receiver. More...
 
void giveMicroplaneNormal (FloatArray &answer)
 Returns normal of microplane. More...
 
virtual void printOutputAt (FILE *file, TimeStep *tStep)
 Prints output of receiver to file. More...
 
virtual const char * giveClassName () const
 Returns class name of the receiver. More...
 
- Public Member Functions inherited from oofem::GaussPoint
 GaussPoint (IntegrationRule *ir, int n, FloatArray iNaturalCoord, double w, MaterialMode mode)
 Creates integration point belonging to given integration rule, with given number, integration weight, coordinates and material mode. More...
 
 GaussPoint (IntegrationRule *ir, int n, double w, MaterialMode mode)
 
virtual ~GaussPoint ()
 Destructor. More...
 
double giveNaturalCoordinate (int i) const
 Returns i-th natural element coordinate of receiver. More...
 
const FloatArraygiveNaturalCoordinates ()
 Returns coordinate array of receiver. More...
 
void setNaturalCoordinates (const FloatArray &c)
 
const FloatArraygiveSubPatchCoordinates ()
 Returns local sub-patch coordinates of the receiver. More...
 
void setSubPatchCoordinates (const FloatArray &c)
 
const FloatArraygiveGlobalCoordinates ()
 
void setGlobalCoordinates (const FloatArray &iCoord)
 
void setWeight (double w)
 
int giveNumber ()
 Returns number of receiver. More...
 
IntegrationRulegiveIntegrationRule ()
 Returns corresponding integration rule to receiver. More...
 
ElementgiveElement ()
 Returns corresponding element to receiver. More...
 
MaterialMode giveMaterialMode ()
 Returns corresponding material mode of receiver. More...
 
void setMaterialMode (MaterialMode newMode)
 Sets material mode of receiver. More...
 
MaterialgiveMaterial ()
 Returns reference to material associated to related element of receiver. More...
 
CrossSectiongiveCrossSection ()
 Returns reference to cross section associated to related element of receiver. More...
 
IntegrationPointStatusgiveMaterialStatus ()
 Returns reference to associated material status (NULL if not defined). More...
 
IntegrationPointStatussetMaterialStatus (IntegrationPointStatus *ptr, int n)
 Sets Material status managed by receiver. More...
 
IntegrationPointStatussetMaterialStatus (IntegrationPointStatus *ptr)
 Sets Material status managed by receiver. More...
 
GaussPointgiveSlaveGaussPoint (int index)
 Returns index-th slave gauss point of receiver. More...
 
bool hasSlaveGaussPoint ()
 True if gauss point has slave points. More...
 
size_t findFirstIndexOfSlaveGaussPoint (GaussPoint *gp)
 Finds index of slave point in an array. More...
 
virtual void updateYourself (TimeStep *tStep)
 Updates internal state of receiver after finishing time step. More...
 

Additional Inherited Members

- Protected Attributes inherited from oofem::GaussPoint
std::vector< GaussPoint * > gaussPoints
 List of slave integration points. More...
 
IntegrationPointStatusmaterialStatus
 Status of e.g. material in point. More...
 

Detailed Description

Class representing microplane integration point in finite element program.

Microplane always belongs to macro integration point and represents micro material level. Microplanes are created by particular microplane material model. Because all corresponding microplanes in all macro integration points subjected to particular material share the same properties (same normals, same integration weights), these are stored only once at material model level. Thus requests for microplane integration weights and normal are forwarded to corresponding material model.

Generally, every integration point must hold its own copy of history variables (which are related to corresponding material model used). These material type dependent history variables are stored in material type related material status, which can be managed by integration point. Each material model class should introduce related material status class (derived from material status class or from its children), where necessary history variables are kept and can be accessed by material. Material class then creates unique copy of related status in all necessary integration points. Because integration point is compulsory parameter of all member functions of material class, particular material then can easily access its associated status from integration point and therefore its history variables for particular integration point.

Definition at line 74 of file microplane.h.

Constructor & Destructor Documentation

oofem::Microplane::Microplane ( IntegrationRule ir,
int  n,
MaterialMode  mode 
)

Creates microplane integration point belonging to given element, with given number, integration weight, coordinates and material mode.

Parameters
irIntegration rule to which integration point belongs to.
nIntegration point number.
modeMaterial mode.

Definition at line 38 of file microplane.C.

oofem::Microplane::~Microplane ( )
virtual

Destructor.

Definition at line 46 of file microplane.C.

Member Function Documentation

virtual const char* oofem::Microplane::giveClassName ( ) const
inlinevirtual

Returns class name of the receiver.

Reimplemented from oofem::GaussPoint.

Definition at line 98 of file microplane.h.

void oofem::Microplane::giveMicroplaneNormal ( FloatArray answer)
inline

Returns normal of microplane.

Definition at line 93 of file microplane.h.

References oofem::GaussPoint::giveMaterial(), and printOutputAt().

double oofem::Microplane::giveWeight ( )
inlinevirtual

Returns integration weight of receiver.

Reimplemented from oofem::GaussPoint.

Definition at line 90 of file microplane.h.

References oofem::GaussPoint::giveMaterial().

virtual IRResultType oofem::Microplane::initializeFrom ( InputRecord ir)
inlinevirtual

Initializes receiver according to object description stored in input record.

Reimplemented from oofem::GaussPoint.

Definition at line 88 of file microplane.h.

References oofem::IRRT_OK.

void oofem::Microplane::printOutputAt ( FILE *  file,
TimeStep tStep 
)
virtual

Prints output of receiver to file.

Corresponding printOutputAt function for associated status is called. The same function is also invoked for all available slaves of receiver.

Reimplemented from oofem::GaussPoint.

Definition at line 53 of file microplane.C.

Referenced by giveMicroplaneNormal().


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