|
OOFEM
2.4
OOFEM.org - Object Oriented Finite Element Solver
|
Particle class being used in PFEM computations. More...
#include <pfemparticle.h>
Inheritance diagram for oofem::PFEMParticle:
Collaboration diagram for oofem::PFEMParticle:Public Member Functions | |
| PFEMParticle (int n, Domain *aDomain) | |
| Constructor. More... | |
| ~PFEMParticle (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 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... | |
| 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::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 | |
| 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... | |
Particle class being used in PFEM computations.
Definition at line 56 of file pfemparticle.h.
| oofem::PFEMParticle::PFEMParticle | ( | 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 50 of file pfemparticle.C.
|
inline |
Destructor.
Definition at line 76 of file pfemparticle.h.
References checkConsistency(), initializeFrom(), and updateYourself().
|
virtual |
Checks internal data consistency in node.
Reimplemented from oofem::Node.
Reimplemented in oofem::InteractionPFEMParticle.
Definition at line 66 of file pfemparticle.C.
References oofem::Node::checkConsistency().
Referenced by oofem::InteractionPFEMParticle::checkConsistency(), and ~PFEMParticle().
|
inlinevirtual |
Sets the activeFlag to false.
Definition at line 96 of file pfemparticle.h.
References printOutputAt().
Referenced by oofem::PFEM::deactivateTooCloseParticles().
|
virtual |
Reimplemented in oofem::InteractionPFEMParticle.
Definition at line 90 of file pfemparticle.C.
References oofem::FEMComponent::domain, oofem::DofManager::findDofWithDofId(), oofem::oofegGraphicContext::getFringeTable(), oofem::Node::giveCoordinate(), oofem::EngngModel::giveCurrentStep(), oofem::Domain::giveEngngModel(), oofem::oofegGraphicContext::giveIntVarType(), and OOFEG_VARPLOT_PATTERN_LAYER.
Referenced by oofem::InteractionPFEMParticle::drawScalar(), and giveInputRecordName().
|
inlinevirtual |
Reimplemented from oofem::Node.
Reimplemented in oofem::InteractionPFEMParticle.
Definition at line 100 of file pfemparticle.h.
|
inlinevirtual |
Reimplemented from oofem::Node.
Reimplemented in oofem::InteractionPFEMParticle.
Definition at line 101 of file pfemparticle.h.
References _IFT_PFEMParticle_Name, drawScalar(), and gc.
|
virtual |
Gets from the source line from the data file all the data of the receiver.
Reimplemented from oofem::Node.
Reimplemented in oofem::InteractionPFEMParticle.
Definition at line 57 of file pfemparticle.C.
References oofem::Node::initializeFrom().
Referenced by oofem::InteractionPFEMParticle::initializeFrom(), and ~PFEMParticle().
|
inlinevirtual |
Returns the activeFlag.
Definition at line 94 of file pfemparticle.h.
References activeFlag.
Referenced by oofem::PFEM::deactivateTooCloseParticles(), oofem::VTKXMLExportModule::doOutput(), oofem::DelaunayTriangulator::generateMesh(), and oofem::PFEM::solveYourselfAt().
|
inlinevirtual |
Returns the free-propery flag.
Definition at line 84 of file pfemparticle.h.
References freeFlag.
Referenced by oofem::PFEM::solveYourselfAt().
|
inlinevirtual |
Returns true if the particle is on alpha shape.
Definition at line 89 of file pfemparticle.h.
References alphaShapeFlag.
|
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::DofManager.
Reimplemented in oofem::InteractionPFEMParticle.
Definition at line 84 of file pfemparticle.C.
References oofem::DofManager::printOutputAt().
Referenced by deactivate(), and oofem::InteractionPFEMParticle::printOutputAt().
|
inlinevirtual |
Sets the free-property flag.
Definition at line 86 of file pfemparticle.h.
Referenced by oofem::PFEM::preInitializeNextStep().
|
inlinevirtual |
Sets the alphaShapeFlag.
Definition at line 91 of file pfemparticle.h.
|
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::Node.
Reimplemented in oofem::InteractionPFEMParticle.
Definition at line 76 of file pfemparticle.C.
References oofem::Node::updateYourself().
Referenced by oofem::InteractionPFEMParticle::updateYourself(), and ~PFEMParticle().
|
protected |
Too close particles can be deactivated, e.g. removed from meshing and computation.
Definition at line 64 of file pfemparticle.h.
Referenced by isActive().
|
protected |
the particle is a part of alpha-shape
Definition at line 62 of file pfemparticle.h.
Referenced by isOnAlphaShape().
|
protected |
The particle does not compose any element, but still a part of solution domain and moves obeying Newton's laws of motion.
Definition at line 60 of file pfemparticle.h.
Referenced by isFree().