|
OOFEM
2.4
OOFEM.org - Object Oriented Finite Element Solver
|
This class represents a fluid particle attached to a node on the structural part of the interface. More...
#include <interactionpfemparticle.h>
Inheritance diagram for oofem::InteractionPFEMParticle:
Collaboration diagram for oofem::InteractionPFEMParticle:Public Member Functions | |
| InteractionPFEMParticle (int n, Domain *aDomain) | |
| Constructor. More... | |
| ~InteractionPFEMParticle (void) | |
| Destructor. More... | |
| virtual IRResultType | initializeFrom (InputRecord *ir) |
| Gets from the source line from the data file all the data of the receiver. More... | |
| virtual int | checkConsistency () |
| Checks internal data consistency in node. More... | |
| virtual void | updateYourself (TimeStep *tStep) |
| Updates receiver at end of time step (i.e. More... | |
| virtual void | givePrescribedUnknownVector (FloatArray &answer, const IntArray &dofMask, ValueModeType mode, TimeStep *stepN) |
| void | giveCoupledVelocities (FloatArray &answer, TimeStep *stepN) |
| virtual void | printOutputAt (FILE *stream, TimeStep *stepN) |
| Prints output of receiver to stream, for given time step. More... | |
| virtual const char * | giveClassName () const |
| virtual const char * | giveInputRecordName () const |
| virtual void | drawScalar (oofegGraphicContext &gc) |
Public Member Functions inherited from oofem::PFEMParticle | |
| PFEMParticle (int n, Domain *aDomain) | |
| Constructor. More... | |
| ~PFEMParticle (void) | |
| Destructor. More... | |
| virtual bool | isFree () |
| Returns the free-propery flag. More... | |
| virtual void | setFree (bool newFlag=true) |
| Sets the free-property flag. More... | |
| virtual bool | isOnAlphaShape () |
| Returns true if the particle is on alpha shape. More... | |
| virtual void | setOnAlphaShape (bool newFlag=true) |
| Sets the alphaShapeFlag. More... | |
| virtual bool | isActive () |
| Returns the activeFlag. More... | |
| virtual void | deactivate () |
| Sets the activeFlag to false. More... | |
Public Member Functions inherited from oofem::Node | |
| Node (int n, Domain *aDomain) | |
| Constructor. More... | |
| virtual | ~Node () |
| Destructor. More... | |
| virtual bool | hasCoordinates () |
| virtual double | giveCoordinate (int i) |
| virtual FloatArray * | giveCoordinates () |
| const FloatArray & | giveNodeCoordinates () const |
| As giveCoordinates, but non-virtual and therefore faster (because it can be inlined). More... | |
| void | setCoordinates (FloatArray coords) |
| Sets node coordinates to given array. More... | |
| virtual double | giveUpdatedCoordinate (int ic, TimeStep *tStep, double scale=1.) |
| Returns updated ic-th coordinate of receiver. More... | |
| virtual void | giveUpdatedCoordinates (FloatArray &answer, TimeStep *tStep, double scale=1.) |
| Returns updated coordinate of receiver. More... | |
| bool | hasLocalCS () |
| Returns nonzero if node has prescribed local coordinate system. More... | |
| FloatMatrix * | giveLocalCoordinateTriplet () |
| Returns pointer to local coordinate triplet in node. More... | |
| bool | hasSameLCS (Node *remote) |
| Returns true, if the local coordinate systems of receiver and given node are the same. More... | |
| virtual bool | computeL2GTransformation (FloatMatrix &answer, const IntArray &dofIDArry) |
| Computes transformation matrix from global c.s. More... | |
| virtual bool | requiresTransformation () |
| Indicates, whether dofManager requires the transformation. More... | |
| virtual void | computeLoadVector (FloatArray &answer, Load *load, CharType type, TimeStep *tStep, ValueModeType mode) |
| Computes the load vector for given load. More... | |
| virtual void | giveInputRecord (DynamicInputRecord &input) |
| Setups the input record string of receiver. More... | |
| virtual void | printYourself () |
| Prints receiver state on stdout. Useful for debugging. More... | |
| virtual bool | isDofTypeCompatible (dofType type) const |
| Returns true if dof of given type is allowed to be associated to receiver. More... | |
| virtual int | giveQcNodeType () |
| 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... | |
| virtual void | drawYourself (oofegGraphicContext &gc, TimeStep *tStep) |
Public Member Functions inherited from oofem::DofManager | |
| std::vector< Dof * >::iterator | begin () |
| std::vector< Dof * >::iterator | end () |
| std::vector< Dof * >::const_iterator | begin () const |
| std::vector< Dof * >::const_iterator | end () const |
| DofManager (int n, Domain *aDomain) | |
| Constructor. More... | |
| virtual | ~DofManager () |
| Destructor. More... | |
| bool | isBoundary () |
| void | setBoundaryFlag (bool isBoundary) |
| Sets the boundary flag. More... | |
| virtual bool | hasAnySlaveDofs () |
| virtual bool | giveMasterDofMans (IntArray &masters) |
| Returns true if the receiver is linked (its slave DOFs depend on master values) to some other dof managers. More... | |
| virtual void | postInitialize () |
| Performs post-initialization such like checking if there are any slave dofs etc. More... | |
| virtual void | updateLocalNumbering (EntityRenumberingFunctor &f) |
| Local renumbering support. More... | |
| void | appendDof (Dof *dof) |
| Adds the given Dof into the receiver. More... | |
| void | removeDof (DofIDItem id) |
| Removes Dof with given id from dofArray. More... | |
| bool | hasDofID (DofIDItem id) const |
| Checks if receiver contains dof with given ID. More... | |
| int | giveGlobalNumber () const |
| int | giveLabel () const |
| void | setGlobalNumber (int newNumber) |
| Sets receiver global number. More... | |
| dofManagerParallelMode | giveParallelMode () const |
| Return dofManagerParallelMode of receiver. More... | |
| void | setParallelMode (dofManagerParallelMode _mode) |
| Sets parallel mode of receiver. More... | |
| const IntArray * | givePartitionList () |
| Returns partition list of receiver. More... | |
| void | setPartitionList (const IntArray *_p) |
| Sets receiver's partition list. More... | |
| void | removePartitionFromList (int _part) |
| Removes given partition from receiver list. More... | |
| void | mergePartitionList (IntArray &_p) |
| Merges receiver partition list with given lists. More... | |
| int | givePartitionsConnectivitySize () |
| Returns number of partitions sharing given receiver (=number of shared partitions + local one). More... | |
| bool | isLocal () |
| Returns true if receiver is locally maintained. More... | |
| bool | isShared () |
| Returns true if receiver is shared. More... | |
| bool | isNull () |
| Returns true if receiver is shared. More... | |
| Dof * | giveDofWithID (int dofID) const |
| Returns DOF with given dofID; issues error if not present. More... | |
| int | giveNumberOfDofs () const |
| void | askNewEquationNumbers (TimeStep *tStep) |
| Renumbers all contained DOFs. More... | |
| int | giveNumberOfPrimaryMasterDofs (const IntArray &dofIDArray) const |
| Returns the number of primary dofs on which receiver dofs (given in dofArray) depend on. More... | |
| void | giveLocationArray (const IntArray &dofIDArry, IntArray &locationArray, const UnknownNumberingScheme &s) const |
| Returns location array (array containing for each requested dof related equation number) for given numbering scheme. More... | |
| void | giveMasterDofIDArray (const IntArray &dofIDArry, IntArray &masterDofIDs) const |
| Returns master dof ID array of receiver. More... | |
| void | giveCompleteLocationArray (IntArray &locationArray, const UnknownNumberingScheme &s) const |
| Returns full location array of receiver containing equation numbers of all dofs of receiver. More... | |
| void | giveCompleteMasterDofIDArray (IntArray &dofIDArray) const |
| Returns the full dof ID array of receiver. More... | |
| std::vector< Dof * >::const_iterator | findDofWithDofId (DofIDItem dofID) const |
| Finds index of DOF with required physical meaning of receiver. More... | |
| void | giveUnknownVector (FloatArray &answer, const IntArray &dofMask, ValueModeType mode, TimeStep *tStep, bool padding=false) |
| Assembles the vector of unknowns in global c.s for given dofs of receiver. More... | |
| void | giveUnknownVector (FloatArray &answer, const IntArray &dofMask, PrimaryField &field, ValueModeType mode, TimeStep *tStep, bool padding=false) |
| Assembles the vector of unknowns of given filed in global c.s for given dofs of receiver. More... | |
| void | giveCompleteUnknownVector (FloatArray &answer, ValueModeType mode, TimeStep *tStep) |
| Assembles the complete unknown vector in node. More... | |
| void | giveUnknownVectorOfType (FloatArray &answer, UnknownType ut, ValueModeType mode, TimeStep *tStep) |
| Constructs the requested vector by assembling e.g. More... | |
| void | givePrescribedUnknownVector (FloatArray &answer, const IntArray &dofMask, ValueModeType mode, TimeStep *tStep) |
| Assembles the vector of prescribed unknowns in nodal c.s for given dofs of receiver. More... | |
| bool | computeM2GTransformation (FloatMatrix &answer, const IntArray &dofIDArry) |
Computes receiver transformation matrix from global CS to dofManager specific coordinate system; . More... | |
| virtual bool | computeM2LTransformation (FloatMatrix &answer, const IntArray &dofIDArry) |
Computes transformation matrix from local DOFs to master DOFs; . More... | |
| IntArray * | giveLoadArray () |
| Returns the array containing applied loadings of the receiver. More... | |
| void | setLoadArray (IntArray &load) |
| Sets the array of applied loadings of the receiver. More... | |
| const IntArray * | giveForcedDofIDs () |
| Returns list of specific dofs that should be included in node. More... | |
| std::map< int, int > * | giveDofTypeMap () |
| Returns map from DofIDItem to dofType. More... | |
| std::map< int, int > * | giveMasterMap () |
| Returns map from DofIDItem to dofType. More... | |
| std::map< int, int > * | giveBcMap () |
| Returns map from DofIDItem to dofType. More... | |
| std::map< int, int > * | giveIcMap () |
| Returns map from DofIDItem to initial condition. More... | |
| void | setNumberOfDofs (int _ndofs) |
| Sets number of dofs of the receiver; Deallocates existing DOFs; Resizes the dofArray accordingly. 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 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... | |
Protected Attributes | |
| int | coupledNode |
Protected Attributes inherited from oofem::PFEMParticle | |
| bool | freeFlag |
| The particle does not compose any element, but still a part of solution domain and moves obeying Newton's laws of motion. More... | |
| bool | alphaShapeFlag |
| the particle is a part of alpha-shape More... | |
| bool | activeFlag |
| Too close particles can be deactivated, e.g. removed from meshing and computation. More... | |
Protected Attributes inherited from oofem::Node | |
| FloatArray | coordinates |
| Array storing nodal coordinates. More... | |
| FloatMatrix * | localCoordinateSystem |
| Triplet defining the local coordinate system in node. More... | |
Protected Attributes inherited from oofem::DofManager | |
| std::vector< Dof * > | dofArray |
| Array of DOFs. More... | |
| IntArray | loadArray |
| List of applied loads. More... | |
| bool | isBoundaryFlag |
| Indicates if dofManager is boundary (true boundary or on boundary between regions) or interior. More... | |
| bool | hasSlaveDofs |
| Flag indicating whether receiver has slave DOFs. More... | |
| int | globalNumber |
| In parallel mode, globalNumber contains globally unique DoFManager number. More... | |
| dofManagerParallelMode | parallel_mode |
| IntArray | partitions |
| List of partition sharing the shared dof manager or remote partition containing remote dofmanager counterpart. More... | |
| IntArray * | dofidmask |
| List of additional dof ids to include. More... | |
| std::map< int, int > * | dofTypemap |
| Map from DofIDItem to dofType. More... | |
| std::map< int, int > * | dofMastermap |
| Map from DofIDItem to master node. More... | |
| std::map< int, int > * | dofBCmap |
| Map from DofIDItem to bc (to be removed). More... | |
| std::map< int, int > * | dofICmap |
| Map from DofIDItem to ic (to be removed). More... | |
| IntArray | mBC |
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... | |
Private Member Functions | |
| StructuralEngngModel * | giveStructuralProblem () |
| FluidStructureProblem * | giveFluidStructureMasterProblem () |
This class represents a fluid particle attached to a node on the structural part of the interface.
The linked structural node is attribute of this class.
Definition at line 58 of file interactionpfemparticle.h.
| oofem::InteractionPFEMParticle::InteractionPFEMParticle | ( | int | n, |
| Domain * | aDomain | ||
| ) |
Constructor.
Creates a particle with number n, belonging to aDomain.
| n | node number in domain aDomain |
| aDomain | domain to which node belongs |
Creates a particle with number n, belonging to aDomain.
Definition at line 52 of file interactionpfemparticle.C.
|
inline |
Destructor.
Definition at line 73 of file interactionpfemparticle.h.
|
virtual |
Checks internal data consistency in node.
Reimplemented from oofem::PFEMParticle.
Definition at line 75 of file interactionpfemparticle.C.
References oofem::PFEMParticle::checkConsistency().
|
virtual |
Reimplemented from oofem::PFEMParticle.
Definition at line 139 of file interactionpfemparticle.C.
References oofem::PFEMParticle::drawScalar().
|
inlinevirtual |
Reimplemented from oofem::PFEMParticle.
Definition at line 87 of file interactionpfemparticle.h.
| void oofem::InteractionPFEMParticle::giveCoupledVelocities | ( | FloatArray & | answer, |
| TimeStep * | stepN | ||
| ) |
Definition at line 123 of file interactionpfemparticle.C.
References coupledNode, oofem::DofManager::giveCompleteUnknownVector(), oofem::Domain::giveDofManager(), oofem::EngngModel::giveDomain(), and giveStructuralProblem().
Referenced by oofem::InteractionBoundaryCondition::give(), and oofem::FluidStructureProblem::solveYourselfAt().
|
private |
Definition at line 160 of file interactionpfemparticle.C.
References oofem::FEMComponent::domain, oofem::Domain::giveEngngModel(), and oofem::EngngModel::giveMasterEngngModel().
Referenced by givePrescribedUnknownVector(), and giveStructuralProblem().
|
inlinevirtual |
Reimplemented from oofem::PFEMParticle.
Definition at line 88 of file interactionpfemparticle.h.
References _IFT_InteractionPFEMParticle_Name, and gc.
|
virtual |
Definition at line 87 of file interactionpfemparticle.C.
References oofem::FloatArray::at(), oofem::Node::computeL2GTransformation(), coupledNode, oofem::Dof::giveBcValue(), oofem::DofManager::giveCompleteUnknownVector(), oofem::Domain::giveDofManager(), oofem::DofManager::giveDofWithID(), oofem::EngngModel::giveDomain(), giveFluidStructureMasterProblem(), oofem::FluidStructureProblem::giveIterationNumber(), oofem::IntArray::giveSize(), giveStructuralProblem(), oofem::FloatArray::resize(), and oofem::FloatArray::rotatedWith().
|
private |
Definition at line 146 of file interactionpfemparticle.C.
References giveFluidStructureMasterProblem(), oofem::FluidStructureProblem::giveNumberOfSlaveProblems(), and oofem::StaggeredProblem::giveSlaveProblem().
Referenced by giveCoupledVelocities(), and givePrescribedUnknownVector().
|
virtual |
Gets from the source line from the data file all the data of the receiver.
Reimplemented from oofem::PFEMParticle.
Definition at line 60 of file interactionpfemparticle.C.
References _IFT_InteractionPFEMParticle_CoupledNode, coupledNode, oofem::PFEMParticle::initializeFrom(), IR_GIVE_OPTIONAL_FIELD, and oofem::IRRT_OK.
|
virtual |
Prints output of receiver to stream, for given time step.
This is used for output into the standard output file.
| file | File pointer to print to. |
| tStep | Time step to write for. |
Reimplemented from oofem::PFEMParticle.
Definition at line 133 of file interactionpfemparticle.C.
References oofem::PFEMParticle::printOutputAt().
|
virtual |
Updates receiver at end of time step (i.e.
after equilibrium has been reached). If EngngModel formulation ( see giveFormulation() member function) returns actualized Lagrange mode, receiver updates its coordinates according to solution.
| tStep | Time step for which to update. |
Reimplemented from oofem::PFEMParticle.
Definition at line 81 of file interactionpfemparticle.C.
References oofem::PFEMParticle::updateYourself().
|
protected |
Definition at line 61 of file interactionpfemparticle.h.
Referenced by giveCoupledVelocities(), givePrescribedUnknownVector(), and initializeFrom().