OOFEM
2.4
OOFEM.org - Object Oriented Finite Element Solver
|
Particle class being used in PFEM computations. More...
#include <pfemparticle.h>
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().