OOFEM
2.4
OOFEM.org - Object Oriented Finite Element Solver
|
#include <neumannmomentload.h>
Public Member Functions | |
NeumannMomentLoad (int i, Domain *d) | |
virtual void | computeValueAt (FloatArray &answer, TimeStep *tStep, const FloatArray &coords, ValueModeType mode) |
Computes components values of load at given point - global coordinates (coordinates given). More... | |
virtual int | giveApproxOrder () |
FormulationType | giveFormulationType () |
Specifies is load should take local or global coordinates. More... | |
virtual void | computeValueAtBoundary (FloatArray &answer, TimeStep *tStep, const FloatArray &coords, ValueModeType mode, Element *e, int boundary) |
void | updateLoad (const FloatArray &newValue) |
Sets a new load vector. More... | |
virtual IRResultType | initializeFrom (InputRecord *ir) |
Initializes receiver according to object description stored in input record. More... | |
virtual bcGeomType | giveBCGeoType () const |
Returns geometry character of boundary condition. More... | |
virtual const char * | giveClassName () const |
virtual const char * | giveInputRecordName () const |
Public Member Functions inherited from oofem::SurfaceLoad | |
SurfaceLoad (int i, Domain *d) | |
Constructor. More... | |
Public Member Functions inherited from oofem::BoundaryLoad | |
BoundaryLoad (int i, Domain *d) | |
Constructor. More... | |
virtual CoordSystType | giveCoordSystMode () |
Returns receiver's coordinate system. More... | |
virtual void | giveInputRecord (DynamicInputRecord &input) |
Setups the input record string of receiver. More... | |
virtual bcType | giveType () const |
Returns receiver load type. More... | |
virtual double | giveProperty (int aProperty, TimeStep *tStep, const std::map< std::string, FunctionArgument > &valDict) |
virtual double | giveProperty (int aProperty, TimeStep *tStep) |
Returns the value of a property 'aProperty'. More... | |
virtual double | giveTemperOffset (void) |
Return temperature offset. More... | |
Public Member Functions inherited from oofem::Load | |
Load (int n, Domain *d) | |
Constructor. More... | |
virtual | ~Load () |
Destructor. More... | |
virtual void | computeValues (FloatArray &answer, TimeStep *tStep, const FloatArray &coords, const IntArray &dofids, ValueModeType mode) |
Computes components values for specified dof ids. More... | |
int | isDofExcluded (int index) |
Returns the value of dofExcludeMask corresponding to given index. More... | |
virtual void | scale (double s) |
Scales the receiver according to given value. More... | |
const FloatArray & | giveComponentArray () const |
void | setComponentArray (FloatArray &arry) |
Public Member Functions inherited from oofem::GeneralBoundaryCondition | |
GeneralBoundaryCondition (int n, Domain *d) | |
Constructor. More... | |
virtual | ~GeneralBoundaryCondition () |
Destructor. More... | |
int | giveSetNumber () |
Gives the set number which boundary condition is applied to. More... | |
virtual int | giveNumberOfInternalDofManagers () |
Gives the number of internal dof managers. More... | |
virtual DofManager * | giveInternalDofManager (int i) |
Gives an internal dof manager from receiver. More... | |
Function * | giveTimeFunction () |
virtual bcValType | giveBCValType () const |
Returns receiver load type. More... | |
virtual bool | isImposed (TimeStep *tStep) |
Returns nonzero if receiver representing BC is imposed at given time, otherwise returns zero. More... | |
virtual const IntArray & | giveDofIDs () const |
Array with default dofs which b.c. More... | |
virtual void | postInitialize () |
Performs post initialization steps. More... | |
virtual contextIOResultType | saveContext (DataStream &stream, ContextMode mode, void *obj=NULL) |
Stores receiver state to output stream. More... | |
virtual contextIOResultType | restoreContext (DataStream &stream, ContextMode mode, void *obj=NULL) |
Restores the receiver state previously written in stream. More... | |
Public Member Functions inherited from oofem::FEMComponent | |
FEMComponent (int n, Domain *d) | |
Regular constructor, creates component with given number and belonging to given domain. More... | |
virtual | ~FEMComponent () |
Virtual destructor. More... | |
Domain * | giveDomain () const |
virtual void | setDomain (Domain *d) |
Sets associated Domain. More... | |
int | giveNumber () const |
void | setNumber (int num) |
Sets number of receiver. More... | |
virtual void | updateLocalNumbering (EntityRenumberingFunctor &f) |
Local renumbering support. More... | |
virtual int | checkConsistency () |
Allows programmer to test some internal data, before computation begins. More... | |
virtual void | printOutputAt (FILE *file, TimeStep *tStep) |
Prints output of receiver to stream, for given time step. More... | |
virtual void | printYourself () |
Prints receiver state on stdout. Useful for debugging. More... | |
virtual Interface * | giveInterface (InterfaceType t) |
Interface requesting service. More... | |
std::string | errorInfo (const char *func) const |
Returns string for prepending output (used by error reporting macros). More... | |
Private Member Functions | |
void | computeXbar () |
Compute centre of mass for set cset. More... | |
void | computeNormal (FloatArray &answer, Element *e, int side) |
Compute normal at center of element. More... | |
virtual void | computeNArray (FloatArray &answer, const FloatArray &coords) const |
Abstract function, for computing approximation matrix of receiver at given point. More... | |
Private Attributes | |
FloatArray | xbar |
Center of structure. More... | |
int | cset |
Set containing elements used to calculate xbar. More... | |
IntArray | celements |
Array containing elements elements in set cset. More... | |
FloatArray | g |
Gradient. More... | |
double | p |
Constant. More... | |
Additional Inherited Members | |
Public Types inherited from oofem::BoundaryLoad | |
enum | BL_CoordSystType { BL_GlobalMode, BL_LocalMode, BL_UpdatedGlobalMode } |
Load coordinate system type. More... | |
Public Types inherited from oofem::Load | |
enum | CoordSystType { CST_Global, CST_Local, CST_UpdatedGlobal } |
Load coordinate system type. More... | |
enum | FormulationType { FT_Entity, FT_Global } |
Type determining the type of formulation (entity local or global one). More... | |
Public Attributes inherited from oofem::BoundaryLoad | |
CoordSystType | CST_UpdatedGlobal |
ScalarFunction | propertyMultExpr |
Expression to multiply all properties. More... | |
Public Attributes inherited from oofem::Load | |
bool | reference |
Protected Member Functions inherited from oofem::BoundaryLoad | |
virtual void | computeComponentArrayAt (FloatArray &answer, TimeStep *tStep, ValueModeType mode) |
Returns array of load "vertex" values evaluated at given time. More... | |
Protected Attributes inherited from oofem::BoundaryLoad | |
bcType | lType |
Load type (its physical meaning). More... | |
CoordSystType | coordSystemType |
Load coordinate system. More... | |
Dictionary | propertyDictionary |
Additional b.c properties. More... | |
Dictionary | propertyTimeFunctDictionary |
Optional time-functions for properties. More... | |
double | temperOffset |
Temperature offset with regards to Kelvin. Default is 273.15. More... | |
Protected Attributes inherited from oofem::Load | |
FloatArray | componentArray |
Components of boundary condition. More... | |
IntArray | dofExcludeMask |
The load is specified for all dofs of object to which is associated. More... | |
Protected Attributes inherited from oofem::GeneralBoundaryCondition | |
int | timeFunction |
Associated load time function. More... | |
bcValType | valType |
Physical meaning of BC value. More... | |
IntArray | dofs |
Dofs that b.c. is applied to (relevant for Dirichlet type b.c.s). More... | |
int | isImposedTimeFunction |
Zero by default - the BC is than always imposed. More... | |
int | set |
Set number for boundary condition to be applied to. More... | |
Protected Attributes inherited from oofem::FEMComponent | |
int | number |
Component number. More... | |
Domain * | domain |
Link to domain object, useful for communicating with other FEM components. More... | |
Definition at line 53 of file neumannmomentload.h.
|
inline |
Definition at line 73 of file neumannmomentload.h.
|
inlineprivatevirtual |
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.
answer | Approximation vector. |
coords | Global integration point coordinates. |
Implements oofem::BoundaryLoad.
Definition at line 95 of file neumannmomentload.h.
References oofem::FloatArray::clear().
|
private |
Compute normal at center of element.
Definition at line 129 of file neumannmomentload.C.
References oofem::FEInterpolation::boundaryEvalNormal(), oofem::FEMComponent::domain, oofem::Element::giveInterpolation(), oofem::Domain::giveNumberOfSpatialDimensions(), and oofem::FloatArray::resize().
|
virtual |
Computes components values of load at given point - global coordinates (coordinates given).
answer | Component values at given point and time. |
tStep | Time step representing time. |
coords | Global (or local) problem coordinates, which are used to evaluate components values. |
mode | Determines response mode. |
Reimplemented from oofem::BoundaryLoad.
Definition at line 108 of file neumannmomentload.C.
References oofem::Load::componentArray, computeXbar(), oofem::Function::evaluate(), oofem::GeneralBoundaryCondition::giveTimeFunction(), OOFEM_ERROR, and oofem::FloatArray::times().
|
virtual |
Definition at line 149 of file neumannmomentload.C.
References oofem::FEInterpolation::boundaryEvalNormal(), computeXbar(), oofem::FloatArray::dotProduct(), oofem::Function::evaluate(), g, oofem::Element::giveInterpolation(), oofem::GeneralBoundaryCondition::giveTimeFunction(), oofem::FEInterpolation::global2local(), p, and xbar.
Referenced by oofem::tet21ghostsolid::computeBoundarySurfaceLoadVector().
|
private |
Compute centre of mass for set cset.
Definition at line 69 of file neumannmomentload.C.
References oofem::FloatArray::add(), celements, cset, oofem::FEMComponent::giveDomain(), oofem::Domain::giveElement(), oofem::Set::giveElementList(), oofem::FEInterpolation::giveIntegrationRule(), oofem::Element::giveInterpolation(), oofem::Domain::giveSet(), oofem::FEInterpolation::giveTransformationJacobian(), oofem::FEInterpolation::local2global(), oofem::FloatArray::resize(), oofem::FloatArray::times(), xbar, and oofem::FloatArray::zero().
Referenced by computeValueAt(), and computeValueAtBoundary().
|
inlinevirtual |
Implements oofem::BoundaryLoad.
Definition at line 77 of file neumannmomentload.h.
|
inlinevirtual |
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 89 of file neumannmomentload.h.
References oofem::SurfaceLoadBGT.
|
inlinevirtual |
Implements oofem::FEMComponent.
Definition at line 91 of file neumannmomentload.h.
|
inlinevirtual |
Specifies is load should take local or global coordinates.
Reimplemented from oofem::Load.
Definition at line 79 of file neumannmomentload.h.
|
inlinevirtual |
Implements oofem::FEMComponent.
Definition at line 92 of file neumannmomentload.h.
References _IFT_NeumannMomentLoad_Name.
|
virtual |
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 52 of file neumannmomentload.C.
References _IFT_NeumannMomentLoad_CenterSet, _IFT_NeumannMomentLoad_Constant, _IFT_NeumannMomentLoad_Gradient, cset, g, oofem::BoundaryLoad::initializeFrom(), IR_GIVE_FIELD, IR_GIVE_OPTIONAL_FIELD, p, oofem::FloatArray::resize(), and xbar.
|
inline |
Sets a new load vector.
newValue | New load. |
Definition at line 86 of file neumannmomentload.h.
|
private |
Array containing elements elements in set cset.
Definition at line 61 of file neumannmomentload.h.
Referenced by computeXbar().
|
private |
Set containing elements used to calculate xbar.
Definition at line 59 of file neumannmomentload.h.
Referenced by computeXbar(), and initializeFrom().
|
private |
Gradient.
Definition at line 63 of file neumannmomentload.h.
Referenced by computeValueAtBoundary(), and initializeFrom().
|
private |
Constant.
Definition at line 65 of file neumannmomentload.h.
Referenced by computeValueAtBoundary(), and initializeFrom().
|
private |
Center of structure.
Definition at line 57 of file neumannmomentload.h.
Referenced by computeValueAtBoundary(), computeXbar(), and initializeFrom().