|
OOFEM 3.0
|
#include <boundarycondition.h>
Public Member Functions | |
| BoundaryCondition (int i, Domain *d) | |
| virtual | ~BoundaryCondition () |
| Destructor. | |
| virtual double | give (Dof *dof, ValueModeType mode, TimeStep *tStep) |
| virtual double | give (Dof *dof, ValueModeType mode, double time) |
| void | setPrescribedValue (double s) |
| bcType | giveType () const override |
| void | initializeFrom (InputRecord &ir) override |
| void | giveInputRecord (DynamicInputRecord &input) override |
| void | scale (double s) override |
| const char * | giveClassName () const override |
| const char * | giveInputRecordName () const override |
| void | saveContext (DataStream &stream, ContextMode mode) override |
| void | restoreContext (DataStream &stream, ContextMode mode) override |
| 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 DofManager * | giveInternalDofManager (int i) |
| Gives an internal dof manager from receiver. | |
| Function * | giveTimeFunction () |
| int | getIsImposedTimeFunctionNumber () const |
| void | setIsImposedTimeFunctionNumber (int funcIndx) |
| virtual bcValType | giveBCValType () const |
| virtual bool | isImposed (TimeStep *tStep) |
| virtual const IntArray & | giveDofIDs () const |
| virtual bcGeomType | giveBCGeoType () const |
| virtual double | giveProperty (int aProperty, TimeStep *tStep) const |
| void | initializeFrom (InputRecord &ir) override |
| void | giveInputRecord (DynamicInputRecord &input) override |
| void | saveContext (DataStream &stream, ContextMode mode) override |
| void | restoreContext (DataStream &stream, ContextMode mode) override |
| virtual void | updateYourself (TimeStep *tStep) |
| Public Member Functions inherited from oofem::FEMComponent | |
| FEMComponent (int n, Domain *d) | |
| virtual | ~FEMComponent ()=default |
| Virtual destructor. | |
| Domain * | giveDomain () 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 Interface * | giveInterface (InterfaceType t) |
| std::string | errorInfo (const char *func) const |
| Returns string for prepending output (used by error reporting macros). | |
Protected Attributes | |
| FloatArray | values |
| Prescribed values for each resp. dof. | |
| 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. | |
| Domain * | domain |
| Link to domain object, useful for communicating with other FEM components. | |
Class implementing Dirichlet boundary condition on DOF (primary boundary condition). This boundary condition is usually attribute of one or more degrees of freedom (DOF).
The type of unknown (physical meaning) is fully determined by corresponding DOF, to which given BC is associated. The previous implementation uses the 'prescribedValueDictionary' to store the unknowns types, but this makes sense, when BC is associated to node, but when associated to BC, the physical meaning of unknown is determined by DOF.
Boundary condition can change its value in time using its inherited TimeFunction. It can also switch itself on or off depending on nonzero value of isImposedTimeFunction load time function. Please note, that previous option must be supported by particular engineering model (because equation renumbering is necessary, and for incremental solution schemes DOFs unknown dictionaries must be used). See particular engineering model documentation for details.
The services provided include
Definition at line 83 of file boundarycondition.h.
|
inline |
Constructor. Creates boundary condition with given number, belonging to given domain.
| i | Boundary condition number. |
| d | Domain to which new object will belongs. |
Definition at line 95 of file boundarycondition.h.
References oofem::GeneralBoundaryCondition::GeneralBoundaryCondition().
Referenced by oofem::InteractionBoundaryCondition::InteractionBoundaryCondition(), oofem::PrescribedDispSlipBCDirichletRC::PrescribedDispSlipBCDirichletRC(), oofem::PrescribedGenStrainShell7::PrescribedGenStrainShell7(), oofem::PrescribedGradient::PrescribedGradient(), oofem::RotatingBoundary::RotatingBoundary(), oofem::TractionPressureBC::TractionPressureBC(), oofem::TransportGradientDirichlet::TransportGradientDirichlet(), and oofem::UserDefDirichletBC::UserDefDirichletBC().
|
inlinevirtual |
Destructor.
Definition at line 98 of file boundarycondition.h.
|
virtual |
Reimplemented in oofem::PrescribedDispSlipBCDirichletRC, oofem::PrescribedGenStrainShell7, oofem::PrescribedGenStrainShell7, oofem::PrescribedGradient, oofem::RotatingBoundary, oofem::TractionPressureBC, oofem::TransportGradientDirichlet, and oofem::UserDefDirichletBC.
Definition at line 58 of file boundarycondition.C.
References oofem::GeneralBoundaryCondition::dofs, oofem::Dof::giveDofID(), oofem::GeneralBoundaryCondition::giveTimeFunction(), OOFEM_ERROR, and values.
Returns the value of a prescribed unknown, respecting requested mode for given time. Its physical meaning is determined by corresponding DOF. This function should only be used if the BC is imposed.
| dof | Determines the dof subjected to receiver BC. |
| mode | Unknown char type (if total or incremental value is returned). |
| tStep | Time step to give value for. |
Reimplemented in oofem::InteractionBoundaryCondition.
Definition at line 48 of file boundarycondition.C.
References give(), oofem::TimeStep::giveIntrinsicTime(), oofem::TimeStep::giveTargetTime(), and oofem::TimeStep::giveTimeIncrement().
Referenced by oofem::PrimaryField::applyBoundaryCondition(), oofem::PrimaryField::applyBoundaryCondition(), give(), and oofem::GnuplotExportModule::outputReactionForces().
|
inlineoverridevirtual |
Implements oofem::FEMComponent.
Reimplemented in oofem::InteractionBoundaryCondition, oofem::PrescribedDispSlipBCDirichletRC, oofem::PrescribedGenStrainShell7, oofem::PrescribedGenStrainShell7, oofem::PrescribedGradient, oofem::RotatingBoundary, oofem::TractionPressureBC, oofem::TransportGradientDirichlet, and oofem::UserDefDirichletBC.
Definition at line 125 of file boundarycondition.h.
|
overridevirtual |
Setups the input record string of receiver.
| input | Dynamic input record to be filled by receiver. |
Reimplemented from oofem::FEMComponent.
Reimplemented in oofem::PrescribedDispSlipBCDirichletRC, oofem::PrescribedGenStrainShell7, oofem::PrescribedGenStrainShell7, oofem::PrescribedGradient, oofem::RotatingBoundary, oofem::TransportGradientDirichlet, and oofem::UserDefDirichletBC.
Definition at line 106 of file boundarycondition.C.
References _IFT_BoundaryCondition_values, oofem::DynamicInputRecord::setField(), and values.
|
inlineoverridevirtual |
Implements oofem::FEMComponent.
Reimplemented in oofem::InteractionBoundaryCondition, oofem::PrescribedDispSlipBCDirichletRC, oofem::PrescribedGenStrainShell7, oofem::PrescribedGenStrainShell7, oofem::PrescribedGradient, oofem::RotatingBoundary, oofem::TractionPressureBC, oofem::TransportGradientDirichlet, and oofem::UserDefDirichletBC.
Definition at line 126 of file boundarycondition.h.
References _IFT_BoundaryCondition_Name.
|
inlineoverridevirtual |
Reimplemented from oofem::GeneralBoundaryCondition.
Reimplemented in oofem::PrescribedGenStrainShell7, oofem::PrescribedGenStrainShell7, oofem::PrescribedGradient, oofem::TransportGradientDirichlet, and oofem::UserDefDirichletBC.
Definition at line 121 of file boundarycondition.h.
References oofem::DirichletBT.
|
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.
| ir | Input record to initialize from. |
| priority | Priority of the input record. This is used to determine the order of initialization |
Reimplemented from oofem::FEMComponent.
Reimplemented in oofem::PrescribedDispSlipBCDirichletRC, oofem::PrescribedGenStrainShell7, oofem::PrescribedGenStrainShell7, oofem::PrescribedGradient, oofem::RotatingBoundary, oofem::TransportGradientDirichlet, and oofem::UserDefDirichletBC.
Definition at line 80 of file boundarycondition.C.
References _IFT_BoundaryCondition_PrescribedValue, _IFT_BoundaryCondition_PrescribedValue_d, _IFT_BoundaryCondition_values, oofem::GeneralBoundaryCondition::dofs, oofem::InputRecord::hasField(), IR_GIVE_FIELD, and values.
|
overridevirtual |
Restores the receiver state previously written in stream.
| stream | Input stream. |
| mode | Determines amount of info available in stream (state, definition, ...). |
| throws | an ContextIOERR exception if error encountered. |
Reimplemented from oofem::FEMComponent.
Definition at line 143 of file boundarycondition.C.
References oofem::CIO_IOERR, oofem::CIO_OK, CM_Definition, THROW_CIOERR, and values.
|
overridevirtual |
Stores receiver state to output stream.
| stream | Output stream. |
| mode | Determines amount of info required in stream (state, definition, ...). |
| throws | an ContextIOERR exception if error encountered. |
Reimplemented from oofem::FEMComponent.
Definition at line 129 of file boundarycondition.C.
References oofem::CIO_IOERR, oofem::CIO_OK, CM_Definition, THROW_CIOERR, and values.
|
overridevirtual |
Scales the receiver according to given value. Typically used in nondimensional analysis to scale down BCs and ICs.
| s | Scale factor. |
Reimplemented from oofem::GeneralBoundaryCondition.
Reimplemented in oofem::PrescribedDispSlipBCDirichletRC, oofem::PrescribedGenStrainShell7, oofem::PrescribedGradient, oofem::RotatingBoundary, oofem::TractionPressureBC, oofem::TransportGradientDirichlet, and oofem::UserDefDirichletBC.
Definition at line 122 of file boundarycondition.C.
References values.
| void oofem::BoundaryCondition::setPrescribedValue | ( | double | s | ) |
Set prescribed value at the input record string of receiver
| s | prescribed value |
Definition at line 114 of file boundarycondition.C.
References values.
Referenced by oofem::SolutionbasedShapeFunction::setBoundaryConditionOnDof().
|
protected |
Prescribed values for each resp. dof.
Definition at line 87 of file boundarycondition.h.
Referenced by give(), giveInputRecord(), initializeFrom(), restoreContext(), saveContext(), scale(), and setPrescribedValue().