template<class DataTypes>
class sofa::component::mechanicalload::TaitSurfacePressureForceField< DataTypes >
This component computes the volume enclosed by a surface mesh and apply a pressure force following Tait's equation: $P = P_0 - B((V/V_0)^\gamma - 1)$. This ForceField can be used to apply :
- a constant pressure (set $B=0$ and use $P_0$)
- an ideal gas pressure (set $\gamma=1$ and use $B$)
- a pressure from water (set $\gamma=7$ and use $B$) 
|  | 
| Data< Real > | d_p0 | 
|  | IN: Rest pressure when V = V0.  More... 
 | 
|  | 
| Data< Real > | d_B | 
|  | IN: Bulk modulus (resistance to uniform compression)  More... 
 | 
|  | 
| Data< Real > | d_gamma | 
|  | IN: Bulk modulus (resistance to uniform compression)  More... 
 | 
|  | 
| Data< Real > | d_injectedVolume | 
|  | IN: Injected (or extracted) volume since the start of the simulation.  More... 
 | 
|  | 
| Data< Real > | d_maxInjectionRate | 
|  | IN: Maximum injection rate (volume per second)  More... 
 | 
|  | 
| Data< Real > | d_initialVolume | 
|  | OUT: Initial volume, as computed from the surface rest position.  More... 
 | 
|  | 
| Data< Real > | d_currentInjectedVolume | 
|  | OUT: Current injected (or extracted) volume (taking into account maxInjectionRate)  More... 
 | 
|  | 
| Data< Real > | d_v0 | 
|  | OUT: Rest volume (as computed from initialVolume + injectedVolume)  More... 
 | 
|  | 
| Data< Real > | d_currentVolume | 
|  | OUT: Current volume, as computed from the last surface position.  More... 
 | 
|  | 
| Data< Real > | d_currentPressure | 
|  | OUT: Current pressure, as computed from the last surface position.  More... 
 | 
|  | 
| Data< Real > | d_currentStiffness | 
|  | OUT: dP/dV at current volume and pressure.  More... 
 | 
|  | 
| Data< SeqTriangles > | d_pressureTriangles | 
|  | OUT: list of triangles where a pressure is applied (mesh triangles + tessellated quads)  More... 
 | 
|  | 
| Data< Real > | d_initialSurfaceArea | 
|  | OUT: Initial surface area, as computed from the surface rest position.  More... 
 | 
|  | 
| Data< Real > | d_currentSurfaceArea | 
|  | OUT: Current surface area, as computed from the last surface position.  More... 
 | 
|  | 
| Data< Real > | d_drawForceScale | 
|  | DEBUG: scale used to render force vectors.  More... 
 | 
|  | 
| Data< sofa::type::RGBAColor > | d_drawForceColor | 
|  | DEBUG: color used to render force vectors.  More... 
 | 
|  | 
| Data< Real > | d_volumeAfterTC | 
|  | OUT: Volume after a topology change.  More... 
 | 
|  | 
| Data< Real > | d_surfaceAreaAfterTC | 
|  | OUT: Surface area after a topology change.  More... 
 | 
|  | 
| SingleLink< TaitSurfacePressureForceField< DataTypes >, sofa::core::topology::BaseMeshTopology, BaseLink::FLAG_STOREPATH|BaseLink::FLAG_STRONGLINK > | l_topology | 
|  | Link to be set to the topology container in the component graph.  More... 
 | 
|  | 
| Data< SReal > | rayleighStiffness | 
|  | Rayleigh Damping stiffness matrix coefficient.  More... 
 | 
|  | 
| objectmodel::lifecycle::RemovedData | isCompliance | 
|  | Considered as compliance, else considered as stiffness (default to false)  More... 
 | 
|  | 
| Data< bool > | f_listening | 
|  | if true, handle the events, otherwise ignore the events  More... 
 | 
|  | 
| std::vector< lifecycle::DeprecatedData * > | m_oldAttributes | 
|  | 
| Data< int > | d_messageLogCount | 
|  | 
| Data< std::string > | name | 
|  | Name of the object.  More... 
 | 
|  | 
| Data< bool > | f_printLog | 
|  | if true, emits extra messages at runtime.  More... 
 | 
|  | 
| Data< sofa::core::objectmodel::TagSet > | f_tags | 
|  | list of the subsets the object belongs to  More... 
 | 
|  | 
| Data< sofa::type::BoundingBox > | f_bbox | 
|  | this object bounding box  More... 
 | 
|  | 
| Data< sofa::core::objectmodel::ComponentState > | d_componentState | 
|  | The state of the component among (Dirty, Valid, Undefined, Loading, Invalid).  More... 
 | 
|  | 
| std::string | m_definitionSourceFileName {""} | 
|  | 
| int | m_definitionSourceFilePos {-1} | 
|  | 
| std::string | m_instanciationSourceFileName {""} | 
|  | 
| int | m_instanciationSourceFilePos {-1} | 
|  | 
|  | 
|  | SOFA_CLASS (SOFA_TEMPLATE(TaitSurfacePressureForceField, DataTypes), SOFA_TEMPLATE(core::behavior::ForceField, DataTypes)) | 
|  | 
| void | init () override | 
|  | Initialization method called at graph creation and modification, during top-down traversal.  More... 
 | 
|  | 
| void | storeResetState () override | 
|  | Save the initial state for later uses in reset()  More... 
 | 
|  | 
| void | reset () override | 
|  | Reset to initial state.  More... 
 | 
|  | 
| void | handleEvent (core::objectmodel::Event *event) override | 
|  | Handle an event.  More... 
 | 
|  | 
| void | addForce (const core::MechanicalParams *mparams, DataVecDeriv &d_f, const DataVecCoord &d_x, const DataVecDeriv &d_v) override | 
|  | 
| void | addDForce (const core::MechanicalParams *mparams, DataVecDeriv &d_df, const DataVecDeriv &d_dx) override | 
|  | 
| void | addKToMatrix (const core::MechanicalParams *mparams, const sofa::core::behavior::MultiMatrixAccessor *matrix) override | 
|  | Compute the system matrix corresponding to  .  More... 
 | 
|  | 
| SReal | getPotentialEnergy (const core::MechanicalParams *, const DataVecCoord &) const override | 
|  | 
| template<class MatrixWriter > | 
| void | addKToMatrixT (const core::MechanicalParams *mparams, MatrixWriter mwriter) | 
|  | 
| void | buildStiffnessMatrix (sofa::core::behavior::StiffnessMatrix *matrix) override | 
|  | 
| void | buildDampingMatrix (core::behavior::DampingMatrix *) final | 
|  | 
| void | draw (const core::visual::VisualParams *vparams) override | 
|  | Render internal data of this object, for debugging purposes.  More... 
 | 
|  | 
|  | SOFA_CLASS2 (SOFA_TEMPLATE(ForceField, DataTypes), BaseForceField, SOFA_TEMPLATE(SingleStateAccessor, DataTypes)) | 
|  | 
| void | addForce (const MechanicalParams *mparams, MultiVecDerivId fId) override | 
|  | 
| void | addDForce (const MechanicalParams *mparams, MultiVecDerivId dfId) override | 
|  | 
| virtual void | addClambda (const MechanicalParams *mparams, DataVecDeriv &df, const DataVecDeriv &lambda, SReal cFactor)=delete | 
|  | 
| virtual void | addClambda (const MechanicalParams *, MultiVecDerivId, MultiVecDerivId, SReal)=delete | 
|  | Accumulate the contribution of the C compliant matrix multiplied by the given Lagrange multipliers lambda vector with the given cFactor coefficient.  More... 
 | 
|  | 
| SReal | getPotentialEnergy (const MechanicalParams *mparams) const override | 
|  | 
| void | addKToMatrix (const MechanicalParams *mparams, const sofa::core::behavior::MultiMatrixAccessor *matrix) override | 
|  | Compute the system matrix corresponding to  .  More... 
 | 
|  | 
| virtual void | addKToMatrix (sofa::linearalgebra::BaseMatrix *matrix, SReal kFact, unsigned int &offset) | 
|  | 
| void | addBToMatrix (const MechanicalParams *mparams, const sofa::core::behavior::MultiMatrixAccessor *matrix) override | 
|  | Compute the system matrix corresponding to  .  More... 
 | 
|  | 
| virtual void | addBToMatrix (sofa::linearalgebra::BaseMatrix *matrix, SReal bFact, unsigned int &offset) | 
|  | 
| void | addToMatrix (sofa::linearalgebra::BaseMatrix *bm, unsigned offset, const IndexArray &nodeIndex, const ElementMat &em, SReal scale) | 
|  | 
|  | SOFA_ABSTRACT_CLASS (BaseForceField, StateAccessor) | 
|  | 
| bool | insertInNode (objectmodel::BaseNode *node) override | 
|  | 
| bool | removeInNode (objectmodel::BaseNode *node) override | 
|  | 
| virtual void | addMBKdx (const MechanicalParams *mparams, MultiVecDerivId dfId) | 
|  | Accumulate the contribution of M, B, and/or K matrices multiplied by the dx vector with the given coefficients.  More... 
 | 
|  | 
| virtual void | addMBKToMatrix (const MechanicalParams *mparams, const sofa::core::behavior::MultiMatrixAccessor *matrix) | 
|  | Compute the system matrix corresponding to  .  More... 
 | 
|  | 
| virtual const sofa::linearalgebra::BaseMatrix * | getComplianceMatrix (const MechanicalParams *)=delete | 
|  | 
| virtual void | addClambda (const MechanicalParams *, MultiVecDerivId, MultiVecDerivId, SReal)=delete | 
|  | Accumulate the contribution of the C compliant matrix multiplied by the given Lagrange multipliers lambda vector with the given cFactor coefficient.  More... 
 | 
|  | 
|  | SOFA_ABSTRACT_CLASS (StateAccessor, objectmodel::BaseObject) | 
|  | 
| virtual const MultiLink< StateAccessor, BaseMechanicalState, BaseLink::FLAG_DUPLICATE >::Container & | getMechanicalStates () const | 
|  | Return a list of mechanical states to which this component is associated.  More... 
 | 
|  | 
| void | computeBBox (const core::ExecParams *params, bool onlyVisible=false) override | 
|  | 
|  | SOFA_CLASS (BaseObject, Base) | 
|  | 
| void | setSrc (const std::string &v, std::vector< std::string > *attributeList=nullptr) | 
|  | Sets a source Object and parses it to collect dependent Data.  More... 
 | 
|  | 
| void | setSrc (const std::string &v, const BaseObject *loader, std::vector< std::string > *attributeList=nullptr) | 
|  | 
| Base * | findLinkDestClass (const BaseClass *destType, const std::string &path, const BaseLink *link) override | 
|  | 
| virtual std::string | getPathName () const override | 
|  | Return the full path name of this object.  More... 
 | 
|  | 
| SReal | getTime () const | 
|  | Current time.  More... 
 | 
|  | 
| const BaseContext * | getContext () const | 
|  | 
| BaseContext * | getContext () | 
|  | 
| const BaseObject * | getMaster () const | 
|  | 
| BaseObject * | getMaster () | 
|  | 
| const VecSlaves & | getSlaves () const | 
|  | 
| BaseObject * | getSlave (const std::string &name) const | 
|  | 
| virtual void | addSlave (BaseObject::SPtr s) | 
|  | 
| virtual void | removeSlave (BaseObject::SPtr s) | 
|  | 
| virtual void | handleTopologyChange () | 
|  | 
| virtual void | handleTopologyChange (core::topology::Topology *t) | 
|  | 
| void | parse (BaseObjectDescription *arg) override | 
|  | Parse the given description to assign values to this object's fields and potentially other parameters.  More... 
 | 
|  | 
| virtual void | bwdInit () | 
|  | Initialization method called at graph creation and modification, during bottom-up traversal.  More... 
 | 
|  | 
| virtual void | reinit () | 
|  | Update method called when variables used in precomputation are modified.  More... 
 | 
|  | 
| void | updateInternal () | 
|  | Update method called when variables (used to compute other internal variables) are modified.  More... 
 | 
|  | 
| virtual void | cleanup () | 
|  | 
| virtual const BaseClass * | getClass () const | 
|  | 
| void | addDeprecatedAttribute (lifecycle::DeprecatedData *attribute) | 
|  | 
| void | addUpdateCallback (const std::string &name, std::initializer_list< BaseData * > inputs, std::function< sofa::core::objectmodel::ComponentState(const DataTracker &)> function, std::initializer_list< BaseData * > outputs) | 
|  | 
| void | addOutputsToCallback (const std::string &name, std::initializer_list< BaseData * > outputs) | 
|  | 
| const std::string & | getName () const | 
|  | Accessor to the object name.  More... 
 | 
|  | 
| void | setName (const std::string &n) | 
|  | Set the name of this object.  More... 
 | 
|  | 
| void | setName (const std::string &n, int counter) | 
|  | Set the name of this object, adding an integer counter.  More... 
 | 
|  | 
| std::string | getTypeName () const | 
|  | Get the type name of this object (i.e. class and template types)  More... 
 | 
|  | 
| virtual std::string | getClassName () const | 
|  | Get the class name of this object.  More... 
 | 
|  | 
| virtual std::string | getTemplateName () const final | 
|  | Get the template type names (if any) used to instantiate this object.  More... 
 | 
|  | 
| std::string | getNameSpaceName () const | 
|  | Get the template type names (if any) used to instantiate this object.  More... 
 | 
|  | 
| void | setDefinitionSourceFileName (const std::string &sourceFileName) | 
|  | Set the source filename (where the component is implemented)  More... 
 | 
|  | 
| const std::string & | getDefinitionSourceFileName () const | 
|  | Get the source filename (where the component is implemented)  More... 
 | 
|  | 
| void | setDefinitionSourceFilePos (const int) | 
|  | Set the source location (where the component is implemented)  More... 
 | 
|  | 
| int | getDefinitionSourceFilePos () const | 
|  | Get the source location (where the component is implemented)  More... 
 | 
|  | 
| void | setInstanciationSourceFileName (const std::string &sourceFileName) | 
|  | 
| const std::string & | getInstanciationSourceFileName () const | 
|  | 
| void | setInstanciationSourceFilePos (const int) | 
|  | 
| int | getInstanciationSourceFilePos () const | 
|  | 
| void | addMessage (const sofa::helper::logging::Message &m) const | 
|  | 
| size_t | countLoggedMessages (sofa::helper::logging::Message::TypeSet t=sofa::helper::logging::Message::AnyTypes) const | 
|  | 
| const std::deque< sofa::helper::logging::Message > & | getLoggedMessages () const | 
|  | 
| const std::string | getLoggedMessagesAsString (sofa::helper::logging::Message::TypeSet t=sofa::helper::logging::Message::AnyTypes) const | 
|  | 
| void | clearLoggedMessages () const | 
|  | 
| bool | notMuted () const | 
|  | 
| const sofa::core::objectmodel::TagSet & | getTags () const | 
|  | Represents the subsets the object belongs to.  More... 
 | 
|  | 
| bool | hasTag (Tag t) const | 
|  | Return true if the object belong to the given subset.  More... 
 | 
|  | 
| void | addTag (Tag t) | 
|  | Add a subset qualification to the object.  More... 
 | 
|  | 
| void | removeTag (Tag t) | 
|  | Remove a subset qualification to the object.  More... 
 | 
|  | 
| ComponentState | getComponentState () const | 
|  | 
| bool | isComponentStateValid () const | 
|  | 
| bool | isComponentStateInvalid () const | 
|  | 
|  | SOFA_ATTRIBUTE_DEPRECATED__TOBASECONSTRAINT () virtual const behavior | 
|  | 
| virtual bool | parseField (const std::string &attribute, const std::string &value) | 
|  | Assign one field value (Data or Link)  More... 
 | 
|  | 
| virtual bool | hasField (const std::string &attribute) const | 
|  | Check if a given Data field or Link exists.  More... 
 | 
|  | 
| void | parseFields (const std::list< std::string > &str) | 
|  | Assign the field values stored in the given list of name + value pairs of strings.  More... 
 | 
|  | 
| virtual void | parseFields (const std::map< std::string, std::string * > &str) | 
|  | Assign the field values stored in the given map of name -> value pairs.  More... 
 | 
|  | 
| void | writeDatas (std::map< std::string, std::string * > &str)=delete | 
|  | Write the current field values to the given map of name -> value pairs.  More... 
 | 
|  | 
| void | writeDatas (std::ostream &out, const std::string &separator=" ") | 
|  | 
| BaseData * | findData (const std::string &name) const | 
|  | 
| std::vector< BaseData * > | findGlobalField (const std::string &name) const | 
|  | Find data fields given a name: several can be found as we look into the alias map.  More... 
 | 
|  | 
| BaseLink * | findLink (const std::string &name) const | 
|  | 
| std::vector< BaseLink * > | findLinks (const std::string &name) const | 
|  | Find link fields given a name: several can be found as we look into the alias map.  More... 
 | 
|  | 
| virtual void | updateLinks (bool logErrors=true) | 
|  | Update pointers in case the pointed-to objects have appeared.  More... 
 | 
|  | 
| template<class T > | 
| BaseData::BaseInitData | initData (::sofa::core::objectmodel::Data< T > *field, const char *name, const char *help, ::sofa::core::objectmodel::BaseData::DataFlags dataflags) | 
|  | Helper method used to initialize a data field containing a value of type T.  More... 
 | 
|  | 
| template<class T > | 
| BaseData::BaseInitData | initData (Data< T > *field, const char *name, const char *help, bool isDisplayed=true, bool isReadOnly=false) | 
|  | Helper method used to initialize a data field containing a value of type T.  More... 
 | 
|  | 
| template<class T > | 
| Data< T >::InitData | initData (Data< T > *field, const T &value, const char *name, const char *help, bool isDisplayed=true, bool isReadOnly=false) | 
|  | Helper method used to initialize a data field containing a value of type T.  More... 
 | 
|  | 
| void | addData (BaseData *f, const std::string &name) | 
|  | 
| void | addData (BaseData *f) | 
|  | 
| void | removeData (BaseData *f) | 
|  | Remove a data field.  More... 
 | 
|  | 
| void | addAlias (BaseData *field, const char *alias) | 
|  | Add an alias to a Data.  More... 
 | 
|  | 
| void | addLink (BaseLink *l) | 
|  | Add a link.  More... 
 | 
|  | 
| void | addAlias (BaseLink *link, const char *alias) | 
|  | Add an alias to a Link.  More... 
 | 
|  | 
| const VecData & | getDataFields () const | 
|  | Accessor to the vector containing all the fields of this object.  More... 
 | 
|  | 
| const MapData & | getDataAliases () const | 
|  | Accessor to the map containing all the aliases of this object.  More... 
 | 
|  | 
| const VecLink & | getLinks () const | 
|  | Accessor to the vector containing all the fields of this object.  More... 
 | 
|  | 
| const MapLink & | getLinkAliases () const | 
|  | Accessor to the map containing all the aliases of this object.  More... 
 | 
|  | 
| virtual bool | findDataLinkDest (BaseData *&ptr, const std::string &path, const BaseLink *link) | 
|  | 
| template<class T > | 
| bool | findLinkDest (T *&ptr, const std::string &path, const BaseLink *link) | 
|  | 
|  | SOFA_ABSTRACT_CLASS (SOFA_TEMPLATE(SingleStateAccessor, DataTypes), StateAccessor) | 
|  | 
| void | init () override | 
|  | Initialization method called at graph creation and modification, during top-down traversal.  More... 
 | 
|  | 
| MechanicalState< DataTypes > * | getMState () | 
|  | 
| const MechanicalState< DataTypes > * | getMState () const | 
|  |