OOFEM 3.0
Loading...
Searching...
No Matches
oofem::DummyCrossSection Class Reference

#include <dummycrosssection.h>

Inheritance diagram for oofem::DummyCrossSection:
Collaboration diagram for oofem::DummyCrossSection:

Public Member Functions

 DummyCrossSection (int n, Domain *d)
void initializeFrom (InputRecord &ir) override
void giveInputRecord (DynamicInputRecord &input) override
bool isCharacteristicMtrxSymmetric (MatResponseMode rMode) const override
int packUnknowns (DataStream &buff, TimeStep *tStep, GaussPoint *ip) override
int unpackAndUpdateUnknowns (DataStream &buff, TimeStep *tStep, GaussPoint *ip) override
int estimatePackSize (DataStream &buff, GaussPoint *ip) override
MaterialgiveMaterial (IntegrationPoint *ip) const override
 hidden by virtual oofem::Material* TransportCrossSection::giveMaterial() const
const char * giveClassName () const override
const char * giveInputRecordName () const override
Public Member Functions inherited from oofem::CrossSection
 CrossSection (int n, Domain *d)
virtual ~CrossSection ()
 Destructor.
int giveSetNumber () const
virtual bool hasProperty (CrossSectionProperty a)
virtual double give (CrossSectionProperty a, GaussPoint *gp) const
virtual double give (CrossSectionProperty a, const FloatArray &coords, Element *elem, bool local=true) const
virtual double give (int aProperty, GaussPoint *gp) const
void printYourself () override
 Prints receiver state on stdout. Useful for debugging.
virtual int setupIntegrationPoints (IntegrationRule &irule, int npoints, Element *element)
virtual int setupIntegrationPoints (IntegrationRule &irule, int npointsXY, int npointsZ, Element *element)
virtual int testCrossSectionExtension (CrossSectExtension ext)
virtual int giveIPValue (FloatArray &answer, GaussPoint *ip, InternalStateType type, TimeStep *tStep)
virtual double predictRelativeComputationalCost (GaussPoint *ip)
virtual double giveRelativeSelfComputationalCost ()
virtual double predictRelativeRedistributionCost (GaussPoint *gp)
virtual void saveIPContext (DataStream &stream, ContextMode mode, GaussPoint *gp)
virtual void restoreIPContext (DataStream &stream, ContextMode mode, GaussPoint *gp)
void saveContext (DataStream &stream, ContextMode mode) override
void restoreContext (DataStream &stream, ContextMode mode) override
Public Member Functions inherited from oofem::FEMComponent
 FEMComponent (int n, Domain *d)
virtual ~FEMComponent ()=default
 Virtual destructor.
DomaingiveDomain () const
virtual void setDomain (Domain *d)
int giveNumber () const
void setNumber (int num)
virtual void updateLocalNumbering (EntityRenumberingFunctor &f)
virtual void initializeFrom (InputRecord &ir, int priority)
virtual void initializeFinish ()
virtual void postInitialize ()
 Performs post initialization steps. Called after all components are created and initialized.
virtual int checkConsistency ()
virtual void printOutputAt (FILE *file, TimeStep *tStep)
virtual InterfacegiveInterface (InterfaceType t)
std::string errorInfo (const char *func) const
 Returns string for prepending output (used by error reporting macros).

Protected Attributes

int matNumber = 0
Protected Attributes inherited from oofem::CrossSection
Dictionary propertyDictionary
int setNumber
Protected Attributes inherited from oofem::FEMComponent
int number
 Component number.
Domaindomain
 Link to domain object, useful for communicating with other FEM components.

Detailed Description

Class representing dummy cross section, that forwards all requests to material model.

Definition at line 60 of file dummycrosssection.h.

Constructor & Destructor Documentation

◆ DummyCrossSection()

oofem::DummyCrossSection::DummyCrossSection ( int n,
Domain * d )

Definition at line 45 of file dummycrosssection.C.

References oofem::CrossSection::CrossSection().

Member Function Documentation

◆ estimatePackSize()

int oofem::DummyCrossSection::estimatePackSize ( DataStream & buff,
GaussPoint * ip )
overridevirtual

Estimates the necessary pack size to hold all packed data of receiver. The corresponding material model service is invoked. The nature of packed data is typically material model dependent.

Parameters
buffCommunication buffer.
ipIntegration point.
Returns
Estimate of pack size.

Implements oofem::CrossSection.

Definition at line 91 of file dummycrosssection.C.

References oofem::FEMComponent::domain, and matNumber.

◆ giveClassName()

const char * oofem::DummyCrossSection::giveClassName ( ) const
inlineoverridevirtual
Returns
Class name of the receiver.

Implements oofem::FEMComponent.

Definition at line 74 of file dummycrosssection.h.

◆ giveInputRecord()

void oofem::DummyCrossSection::giveInputRecord ( DynamicInputRecord & input)
overridevirtual

Setups the input record string of receiver.

Parameters
inputDynamic input record to be filled by receiver.

Reimplemented from oofem::CrossSection.

Definition at line 59 of file dummycrosssection.C.

References _IFT_DummyCrossSection_material, matNumber, and oofem::DynamicInputRecord::setField().

◆ giveInputRecordName()

const char * oofem::DummyCrossSection::giveInputRecordName ( ) const
inlineoverridevirtual
Returns
Input record name of the receiver.

Implements oofem::FEMComponent.

Definition at line 75 of file dummycrosssection.h.

References _IFT_DummyCrossSection_Name.

◆ giveMaterial()

Material * oofem::DummyCrossSection::giveMaterial ( IntegrationPoint * ip) const
overridevirtual

hidden by virtual oofem::Material* TransportCrossSection::giveMaterial() const

Returns the material associated with the GP. Default implementation uses gp->giveMaterial() for backwards compatibility, but it should be overloaded in each specialized cross-section.

Implements oofem::CrossSection.

Definition at line 74 of file dummycrosssection.C.

References oofem::FEMComponent::domain, and matNumber.

◆ initializeFrom()

void oofem::DummyCrossSection::initializeFrom ( InputRecord & ir)
overridevirtual

Initializes receiver according to object description stored in input record. This function is called immediately after creating object using constructor. Input record can be imagined as data record in component database belonging to receiver. Receiver may use value-name extracting functions to extract particular field from record. Note that initializeFrom may be called mutiple times.

See also
IR_GIVE_FIELD
IR_GIVE_OPTIONAL_FIELD
Parameters
irInput record to initialize from.
priorityPriority of the input record. This is used to determine the order of initialization

Reimplemented from oofem::CrossSection.

Definition at line 50 of file dummycrosssection.C.

References _IFT_DummyCrossSection_material, IR_GIVE_FIELD, and matNumber.

◆ isCharacteristicMtrxSymmetric()

bool oofem::DummyCrossSection::isCharacteristicMtrxSymmetric ( MatResponseMode rMode) const
overridevirtual

Check for symmetry of stiffness matrix. Default implementation returns true. It can be moved to base Cross section class in the future.

Parameters
rModeResponse mode of material.
Returns
True if stiffness matrix of receiver is symmetric.

Reimplemented from oofem::CrossSection.

Definition at line 68 of file dummycrosssection.C.

References oofem::FEMComponent::domain, and matNumber.

◆ packUnknowns()

int oofem::DummyCrossSection::packUnknowns ( DataStream & buff,
TimeStep * tStep,
GaussPoint * ip )
overridevirtual

Pack all necessary data of integration point (according to element parallel_mode) into given communication buffer. The corresponding material model service for particular integration point is invoked. The nature of packed data is material model dependent. Typically, for material of "local" response (response depends only on integration point local state) no data are exchanged. For "nonlocal" constitutive models the send/receive of local values which undergo averaging is performed between local and corresponding remote elements.

Parameters
buffCommunication buffer.
tStepSolution step.
ipIntegration point.
Returns
Nonzero if successful.

Implements oofem::CrossSection.

Definition at line 79 of file dummycrosssection.C.

References oofem::FEMComponent::domain, and matNumber.

◆ unpackAndUpdateUnknowns()

int oofem::DummyCrossSection::unpackAndUpdateUnknowns ( DataStream & buff,
TimeStep * tStep,
GaussPoint * ip )
overridevirtual

Unpack and updates all necessary data of given integration point (according to element parallel_mode) into given communication buffer.

See also
packUnknowns service.
Parameters
buffCommunication buffer.
tStepSolution step.
ipIntegration point.
Returns
Nonzero if successful.

Implements oofem::CrossSection.

Definition at line 85 of file dummycrosssection.C.

References oofem::FEMComponent::domain, and matNumber.

Member Data Documentation

◆ matNumber

int oofem::DummyCrossSection::matNumber = 0
protected

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