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

#include <usrdefboundaryload.h>

Inheritance diagram for oofem::UsrDefBoundaryLoad:
Collaboration diagram for oofem::UsrDefBoundaryLoad:

Public Member Functions

 UsrDefBoundaryLoad (int i, Domain *d)
void computeValueAt (FloatArray &answer, TimeStep *tStep, const FloatArray &coords, ValueModeType mode) override
virtual void computeComponentArrayAt (FloatArray &answer, TimeStep *tStep, ValueModeType mode) override
int giveApproxOrder () override
void initializeFrom (InputRecord &ir) override
void giveInputRecord (DynamicInputRecord &input) override
bcGeomType giveBCGeoType () const override
FormulationType giveFormulationType () override
const char * giveClassName () const override
const char * giveInputRecordName () const override
Public Member Functions inherited from oofem::BoundaryLoad
 BoundaryLoad (int i, Domain *d)
CoordSystType giveCoordSystMode () override
bcType giveType () const override
virtual double giveProperty (int aProperty, TimeStep *tStep, const std ::map< std ::string, FunctionArgument > &valDict) const
double giveProperty (int aProperty, TimeStep *tStep) const override
virtual double giveTemperOffset (void)
 Return temperature offset.
Public Member Functions inherited from oofem::Load
 Load (int n, Domain *d)
virtual ~Load ()
 Destructor.
virtual void computeValueAt (FloatArray &answer, TimeStep *tStep, GaussPoint *gp, ValueModeType mode)
virtual void computeValues (FloatArray &answer, TimeStep *tStep, const FloatArray &coords, const IntArray &dofids, ValueModeType mode)
int isDofExcluded (int index)
void scale (double s) override
const FloatArraygiveComponentArray () const
void setComponentArray (FloatArray &arry)
Public Member Functions inherited from oofem::GeneralBoundaryCondition
 GeneralBoundaryCondition (int n, Domain *d)
virtual ~GeneralBoundaryCondition ()
 Destructor.
int giveSetNumber () const
virtual int giveNumberOfInternalDofManagers ()
 Gives the number of internal dof managers.
virtual DofManagergiveInternalDofManager (int i)
 Gives an internal dof manager from receiver.
FunctiongiveTimeFunction ()
int getIsImposedTimeFunctionNumber () const
void setIsImposedTimeFunctionNumber (int funcIndx)
virtual bcValType giveBCValType () const
virtual bool isImposed (TimeStep *tStep)
virtual const IntArraygiveDofIDs () const
virtual void updateYourself (TimeStep *tStep)
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 void printYourself ()
 Prints receiver state on stdout. Useful for debugging.
virtual InterfacegiveInterface (InterfaceType t)
std::string errorInfo (const char *func) const
 Returns string for prepending output (used by error reporting macros).

Protected Attributes

int intensityFunction
 Reference to user defined function that computes the load intensity.
bcGeomType myGeomType = SurfaceLoadBGT
 bcgeotype of the boundary load
int approxOrder = 0
 approximation order to set up the appropriate integration rule
Protected Attributes inherited from oofem::BoundaryLoad
bcType lType
 Load type (its physical meaning).
CoordSystType coordSystemType
 Load coordinate system.
Dictionary propertyDictionary
 Additional b.c properties.
Dictionary propertyTimeFunctDictionary
 Optional time-functions for properties.
double temperOffset
 Temperature offset with regards to Kelvin. Default is 273.15.
Protected Attributes inherited from oofem::Load
FloatArray componentArray
 Components of boundary condition.
IntArray dofExcludeMask
Protected Attributes inherited from oofem::GeneralBoundaryCondition
int timeFunction
 Associated load time function.
bcValType valType
 Physical meaning of BC value.
IntArray dofs
 Dofs that b.c. is applied to (relevant for Dirichlet type b.c.s).
int isImposedTimeFunction
int set
 Set number for boundary condition to be applied to.
Protected Attributes inherited from oofem::FEMComponent
int number
 Component number.
Domaindomain
 Link to domain object, useful for communicating with other FEM components.

Private Member Functions

void saveContext (DataStream &stream, ContextMode mode) override
void restoreContext (DataStream &stream, ContextMode mode) override
void computeNArray (FloatArray &answer, const FloatArray &coords) const override

Additional Inherited Members

Public Types inherited from oofem::BoundaryLoad
enum  BL_CoordSystType { BL_GlobalMode , BL_LocalMode , BL_UpdatedGlobalMode }
Public Types inherited from oofem::Load
enum  CoordSystType { CST_Global , CST_Local , CST_UpdatedGlobal }
enum  FormulationType { FT_Entity , FT_Global }
Public Attributes inherited from oofem::BoundaryLoad
CoordSystType CST_UpdatedGlobal
ScalarFunction propertyMultExpr
 Expression to multiply all properties.
Public Attributes inherited from oofem::Load
bool reference

Detailed Description

This class implements a boundary load (force, moment,...) that acts directly on a boundary of some finite element (on side, face, ..). A boundary load is usually attribute of one or more elements.

The boundary load describes its intensity as a function of spatial coordinates. Elements can request the order of approximation (for setting up the appropriate integration rule order).

Elements take care, on which boundary the load acts on (side number, ...).

This class is not restricted to structural problems. For example, in thermal analysis, a boundary load load would be a heat source.

Definition at line 64 of file usrdefboundaryload.h.

Constructor & Destructor Documentation

◆ UsrDefBoundaryLoad()

oofem::UsrDefBoundaryLoad::UsrDefBoundaryLoad ( int i,
Domain * d )

Definition at line 49 of file usrdefboundaryload.C.

References oofem::BoundaryLoad::BoundaryLoad().

Member Function Documentation

◆ computeComponentArrayAt()

void oofem::UsrDefBoundaryLoad::computeComponentArrayAt ( FloatArray & answer,
TimeStep * tStep,
ValueModeType mode )
overridevirtual

Returns array of load "vertex" values evaluated at given time.

Parameters
answerLoad "vertex" values.
tStepTime step.
modeDetermines response mode.

Reimplemented from oofem::BoundaryLoad.

Definition at line 53 of file usrdefboundaryload.C.

References OOFEM_ERROR.

◆ computeNArray()

void oofem::UsrDefBoundaryLoad::computeNArray ( FloatArray & answer,
const FloatArray & coords ) const
inlineoverrideprivatevirtual

Abstract function, for computing approximation matrix of receiver at given point. The product of approximation matrix with "vertex" values array attribute will produce load components in given point.

Parameters
answerApproximation vector.
coordsGlobal integration point coordinates.

Implements oofem::BoundaryLoad.

Definition at line 93 of file usrdefboundaryload.h.

References oofem::FloatArray::clear().

◆ computeValueAt()

void oofem::UsrDefBoundaryLoad::computeValueAt ( FloatArray & answer,
TimeStep * tStep,
const FloatArray & coords,
ValueModeType mode )
overridevirtual

Computes components values of load at given point - global coordinates (coordinates given).

Parameters
answerComponent values at given point and time.
tStepTime step representing time.
coordsGlobal (or local) problem coordinates, which are used to evaluate components values.
modeDetermines response mode.

Reimplemented from oofem::BoundaryLoad.

Definition at line 60 of file usrdefboundaryload.C.

References oofem::FEMComponent::domain, oofem::Function::evaluate(), oofem::TimeStep::giveIntrinsicTime(), oofem::TimeStep::giveTargetTime(), oofem::TimeStep::giveTimeIncrement(), intensityFunction, OOFEM_ERROR, and oofem::FloatArray::subtract().

◆ giveApproxOrder()

int oofem::UsrDefBoundaryLoad::giveApproxOrder ( )
inlineoverridevirtual
Returns
Approximation order of load geometry.

Implements oofem::BoundaryLoad.

Definition at line 79 of file usrdefboundaryload.h.

References approxOrder.

◆ giveBCGeoType()

bcGeomType oofem::UsrDefBoundaryLoad::giveBCGeoType ( ) const
inlineoverridevirtual

Returns geometry character of boundary condition. For available values see cltypes.h file. Derived classes should always overload, default implementation returns UnknownLoadGT value.

Reimplemented from oofem::GeneralBoundaryCondition.

Definition at line 83 of file usrdefboundaryload.h.

References myGeomType.

◆ giveClassName()

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

Implements oofem::FEMComponent.

Definition at line 87 of file usrdefboundaryload.h.

◆ giveFormulationType()

FormulationType oofem::UsrDefBoundaryLoad::giveFormulationType ( )
inlineoverridevirtual

Specifies is load should take local or global coordinates.

Reimplemented from oofem::Load.

Definition at line 84 of file usrdefboundaryload.h.

References oofem::Load::FT_Global.

◆ giveInputRecord()

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

Setups the input record string of receiver.

Parameters
inputDynamic input record to be filled by receiver.

Reimplemented from oofem::BoundaryLoad.

Definition at line 103 of file usrdefboundaryload.C.

References _IFT_UsrDefBoundaryLoad_approxorder, _IFT_UsrDefBoundaryLoad_GeomType, _IFT_UsrDefBoundaryLoad_intensityfunction, approxOrder, intensityFunction, myGeomType, and oofem::DynamicInputRecord::setField().

◆ giveInputRecordName()

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

Implements oofem::FEMComponent.

Definition at line 88 of file usrdefboundaryload.h.

References _IFT_UsrDefBoundaryLoad_Name.

◆ initializeFrom()

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

Initializes receiver according to object description stored in input record. Reads number of dofs into nDofs attribute (i.e. the number of dofs, which are on loaded entity), its loadType into loadType attribute and coordinate system type into csType attribute.

Reimplemented from oofem::BoundaryLoad.

Definition at line 90 of file usrdefboundaryload.C.

References _IFT_UsrDefBoundaryLoad_approxorder, _IFT_UsrDefBoundaryLoad_GeomType, _IFT_UsrDefBoundaryLoad_intensityfunction, approxOrder, intensityFunction, IR_GIVE_FIELD, IR_GIVE_OPTIONAL_FIELD, myGeomType, and oofem::SurfaceLoadBGT.

◆ restoreContext()

void oofem::UsrDefBoundaryLoad::restoreContext ( DataStream & stream,
ContextMode mode )
overrideprivatevirtual

Restores the receiver state previously written in stream.

See also
saveContext
Parameters
streamInput stream.
modeDetermines amount of info available in stream (state, definition, ...).
Exceptions
throwsan ContextIOERR exception if error encountered.

Reimplemented from oofem::BoundaryLoad.

Definition at line 132 of file usrdefboundaryload.C.

References approxOrder, oofem::CIO_IOERR, CM_Definition, intensityFunction, myGeomType, oofem::DataStream::read(), and THROW_CIOERR.

◆ saveContext()

void oofem::UsrDefBoundaryLoad::saveContext ( DataStream & stream,
ContextMode mode )
overrideprivatevirtual

Stores receiver state to output stream.

Parameters
streamOutput stream.
modeDetermines amount of info required in stream (state, definition, ...).
Exceptions
throwsan ContextIOERR exception if error encountered.

Reimplemented from oofem::BoundaryLoad.

Definition at line 113 of file usrdefboundaryload.C.

References approxOrder, oofem::CIO_IOERR, CM_Definition, intensityFunction, myGeomType, THROW_CIOERR, and oofem::DataStream::write().

Member Data Documentation

◆ approxOrder

int oofem::UsrDefBoundaryLoad::approxOrder = 0
protected

approximation order to set up the appropriate integration rule

Definition at line 72 of file usrdefboundaryload.h.

Referenced by giveApproxOrder(), giveInputRecord(), initializeFrom(), restoreContext(), and saveContext().

◆ intensityFunction

int oofem::UsrDefBoundaryLoad::intensityFunction
protected

Reference to user defined function that computes the load intensity.

Definition at line 68 of file usrdefboundaryload.h.

Referenced by computeValueAt(), giveInputRecord(), initializeFrom(), restoreContext(), and saveContext().

◆ myGeomType

bcGeomType oofem::UsrDefBoundaryLoad::myGeomType = SurfaceLoadBGT
protected

bcgeotype of the boundary load

Definition at line 70 of file usrdefboundaryload.h.

Referenced by giveBCGeoType(), giveInputRecord(), initializeFrom(), restoreContext(), and saveContext().


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