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

#include <smoothednodalintvarfield.h>

Inheritance diagram for oofem::SmoothedNodalInternalVariableField:
Collaboration diagram for oofem::SmoothedNodalInternalVariableField:

Public Member Functions

 SmoothedNodalInternalVariableField (InternalStateType ist, FieldType b, NodalRecoveryModel ::NodalRecoveryModelType st, Domain *d)
virtual ~SmoothedNodalInternalVariableField ()
int evaluateAt (FloatArray &answer, const FloatArray &coords, ValueModeType mode, TimeStep *tStep) override
int evaluateAt (FloatArray &answer, DofManager *dman, ValueModeType mode, TimeStep *tStep) override
InternalStateType giveInternalType ()
void saveContext (DataStream &stream) override
void restoreContext (DataStream &stream) override
const char * giveClassName () const override
Public Member Functions inherited from oofem::Field
 Field (FieldType b=FieldType::FT_Unknown)
virtual ~Field ()
virtual int evaluateAt (FloatArray &answer, Element *elem, ValueModeType mode, TimeStep *tStep)
FieldType giveType ()
 Returns the type of receiver.
void setType (FieldType b)
 Sets the type of receiver.
void setSetsNumbers (const IntArray sets)
 Defines a list of sets used to impose a field on specific elements.
virtual bool hasElementInSets (int nElem, Domain *d)
 Searches if element number exist in IntArray regionSets for given domain.
std::string errorInfo (const char *func) const
 Returns string for prepending output (used by error reporting macros).
virtual void initializeFrom (InputRecord &ir)

Protected Attributes

NodalRecoveryModel::NodalRecoveryModelType stype
 Smoother type.
std::unique_ptr< NodalRecoveryModelsmoother
 Smoother.
InternalStateType istType
 InternalStateType.
Domaindomain
 Source domain.
Set elemSet
 set of elements for recovery
Protected Attributes inherited from oofem::Field
FieldType type
IntArray regionSets

Detailed Description

Class representing a field of an internal variable smoothed from integration points into nodes. It is relying on NodalRecoveryModel to smooth the data.

Definition at line 48 of file smoothednodalintvarfield.h.

Constructor & Destructor Documentation

◆ SmoothedNodalInternalVariableField()

oofem::SmoothedNodalInternalVariableField::SmoothedNodalInternalVariableField ( InternalStateType ist,
FieldType b,
NodalRecoveryModel ::NodalRecoveryModelType st,
Domain * d )

Constructor. Creates a internal variable field of given type associated to given domain.

Parameters
istPhysical meaning of field.
bField type.
stDetermines the type of nodal recovery model used.
dDomain which field belongs to.

Definition at line 44 of file smoothednodalintvarfield.C.

References oofem::classFactory, domain, elemSet, oofem::Field::Field(), istType, smoother, and stype.

◆ ~SmoothedNodalInternalVariableField()

oofem::SmoothedNodalInternalVariableField::~SmoothedNodalInternalVariableField ( )
virtual

Definition at line 53 of file smoothednodalintvarfield.C.

Member Function Documentation

◆ evaluateAt() [1/2]

int oofem::SmoothedNodalInternalVariableField::evaluateAt ( FloatArray & answer,
const FloatArray & coords,
ValueModeType mode,
TimeStep * tStep )
overridevirtual

Evaluates the field at given point.

Parameters
coordsCoordinates of the point of interest
answerField evaluated at coordinate.
tStepTime step to evaluate for.
modeMode of value (total, velocity,...).
Returns
Zero if ok, otherwise nonzero.

Implements oofem::Field.

Definition at line 56 of file smoothednodalintvarfield.C.

References oofem::FloatArray::add(), oofem::FloatArray::at(), domain, elemSet, oofem::FEInterpolation::evalN(), oofem::Element::giveDofManagerNumber(), oofem::Element::giveInterpolation(), oofem::FloatArray::giveSize(), oofem::FEInterpolation::global2local(), istType, and smoother.

◆ evaluateAt() [2/2]

int oofem::SmoothedNodalInternalVariableField::evaluateAt ( FloatArray & answer,
DofManager * dman,
ValueModeType mode,
TimeStep * tStep )
overridevirtual

Evaluates the field at given DofManager. This potentially can be resolved quickly, as receiver data may be described using values at dofManagers. Here an additional issue exists: one needs to make sure, that passed dman is from the same domain, so that its number can be used to perform suggested quick evaluation.

If this is not the case (the field is described differently), the response can be evaluated using dofman coordinates in a standard way.

Parameters
[out]answerEvaluated field for dman.
dmanReference to dofManager.
modeMode of value (total, velocity,...).
tStepTime step to evaluate for.
Returns
Zero if ok, nonzero Error code (0-ok, 1-failed)

Implements oofem::Field.

Definition at line 92 of file smoothednodalintvarfield.C.

References elemSet, oofem::FEMComponent::giveNumber(), istType, and smoother.

◆ giveClassName()

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

Implements oofem::Field.

Definition at line 79 of file smoothednodalintvarfield.h.

◆ giveInternalType()

InternalStateType oofem::SmoothedNodalInternalVariableField::giveInternalType ( )
inline

Definition at line 76 of file smoothednodalintvarfield.h.

References istType.

◆ restoreContext()

void oofem::SmoothedNodalInternalVariableField::restoreContext ( DataStream & stream)
overridevirtual

Restores the receiver state previously written in stream.

Parameters
streamInput stream.
Exceptions
Throwsan ContextIOERR exception if error encountered.

Implements oofem::Field.

Definition at line 109 of file smoothednodalintvarfield.C.

◆ saveContext()

void oofem::SmoothedNodalInternalVariableField::saveContext ( DataStream & stream)
overridevirtual

Stores receiver state to output stream.

Parameters
streamOutput stream.
Exceptions
Throwsan ContextIOERR exception if error encountered.

Implements oofem::Field.

Definition at line 104 of file smoothednodalintvarfield.C.

Member Data Documentation

◆ domain

Domain* oofem::SmoothedNodalInternalVariableField::domain
protected

Source domain.

Definition at line 58 of file smoothednodalintvarfield.h.

Referenced by evaluateAt(), and SmoothedNodalInternalVariableField().

◆ elemSet

Set oofem::SmoothedNodalInternalVariableField::elemSet
protected

set of elements for recovery

Definition at line 60 of file smoothednodalintvarfield.h.

Referenced by evaluateAt(), evaluateAt(), and SmoothedNodalInternalVariableField().

◆ istType

InternalStateType oofem::SmoothedNodalInternalVariableField::istType
protected

◆ smoother

std::unique_ptr<NodalRecoveryModel> oofem::SmoothedNodalInternalVariableField::smoother
protected

Smoother.

Definition at line 54 of file smoothednodalintvarfield.h.

Referenced by evaluateAt(), evaluateAt(), and SmoothedNodalInternalVariableField().

◆ stype

NodalRecoveryModel::NodalRecoveryModelType oofem::SmoothedNodalInternalVariableField::stype
protected

Smoother type.

Definition at line 52 of file smoothednodalintvarfield.h.

Referenced by SmoothedNodalInternalVariableField().


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