sofa::simulation::MechanicalAddMDxVisitor Class Reference

Accumulate the product of the mass matrix by a given vector. More...

#include <MechanicalVisitor.h>

Inheritance diagram for sofa::simulation::MechanicalAddMDxVisitor:

Inheritance graph
[legend]
Collaboration diagram for sofa::simulation::MechanicalAddMDxVisitor:

Collaboration graph
[legend]

Public Member Functions

 MechanicalAddMDxVisitor (VecId res, VecId dx=VecId(), double factor=1.0)
virtual Result fwdMechanicalState (simulation::Node *, core::componentmodel::behavior::BaseMechanicalState *mm)
 Process the BaseMechanicalState if it is not mapped from the parent level.
virtual Result fwdMass (simulation::Node *, core::componentmodel::behavior::BaseMass *mass)
 Process the BaseMass.
virtual Result fwdMechanicalMapping (simulation::Node *, core::componentmodel::behavior::BaseMechanicalMapping *map)
 Process the BaseMechanicalMapping.
virtual Result fwdMappedMechanicalState (simulation::Node *, core::componentmodel::behavior::BaseMechanicalState *mm)
 Process the BaseMechanicalState if it is mapped from the parent level.
virtual void bwdMechanicalMapping (simulation::Node *, core::componentmodel::behavior::BaseMechanicalMapping *map)
 Process the BaseMechanicalMapping.
virtual bool isThreadSafe () const
 Specify whether this action can be parallelized.

Data Fields

VecId res
VecId dx
double factor

Detailed Description

Accumulate the product of the mass matrix by a given vector.

Typically used in implicit integration solved by a Conjugate Gradient algorithm. Note that if a dx vector is given, it is used and propagated by the mappings, Otherwise the current value is used.

Definition at line 376 of file MechanicalVisitor.h.


Constructor & Destructor Documentation

sofa::simulation::MechanicalAddMDxVisitor::MechanicalAddMDxVisitor ( VecId  res,
VecId  dx = VecId(),
double  factor = 1.0 
) [inline]

Definition at line 382 of file MechanicalVisitor.h.


Member Function Documentation

virtual void sofa::simulation::MechanicalAddMDxVisitor::bwdMechanicalMapping ( simulation::Node *  ,
core::componentmodel::behavior::BaseMechanicalMapping *   
) [inline, virtual]

Process the BaseMechanicalMapping.

Reimplemented from sofa::simulation::MechanicalVisitor.

Definition at line 414 of file MechanicalVisitor.h.

References sofa::core::componentmodel::behavior::BaseMechanicalMapping::accumulateForce().

virtual Result sofa::simulation::MechanicalAddMDxVisitor::fwdMappedMechanicalState ( simulation::Node *  ,
core::componentmodel::behavior::BaseMechanicalState *   
) [inline, virtual]

Process the BaseMechanicalState if it is mapped from the parent level.

Reimplemented from sofa::simulation::MechanicalVisitor.

Definition at line 402 of file MechanicalVisitor.h.

References sofa::core::componentmodel::behavior::BaseMechanicalState::resetForce(), and sofa::simulation::Visitor::RESULT_CONTINUE.

Visitor::Result sofa::simulation::MechanicalAddMDxVisitor::fwdMass ( simulation::Node *  ,
core::componentmodel::behavior::BaseMass *   
) [virtual]

virtual Result sofa::simulation::MechanicalAddMDxVisitor::fwdMechanicalMapping ( simulation::Node *  ,
core::componentmodel::behavior::BaseMechanicalMapping *   
) [inline, virtual]

Visitor::Result sofa::simulation::MechanicalAddMDxVisitor::fwdMechanicalState ( simulation::Node *  ,
core::componentmodel::behavior::BaseMechanicalState *   
) [virtual]

virtual bool sofa::simulation::MechanicalAddMDxVisitor::isThreadSafe (  )  const [inline, virtual]

Specify whether this action can be parallelized.

Reimplemented from sofa::simulation::Visitor.

Definition at line 421 of file MechanicalVisitor.h.


Field Documentation

Definition at line 380 of file MechanicalVisitor.h.

Referenced by fwdMechanicalMapping(), and fwdMechanicalState().

Definition at line 381 of file MechanicalVisitor.h.

Referenced by fwdMass().

Definition at line 379 of file MechanicalVisitor.h.

Referenced by fwdMechanicalState().


The documentation for this class was generated from the following files:

Generated on Sun Nov 23 04:24:27 2008 for Sofa by  doxygen 1.5.7.1