![]() |
PeriDyno 1.2.1
|
#include <SemiImplicitHyperelasticitySolver.h>


Public Types | |
| typedef TDataType::Real | Real |
| typedef TDataType::Coord | Coord |
| typedef TDataType::Matrix | Matrix |
| typedef ::dyno::TBond< TDataType > | Bond |
Public Types inherited from dyno::LinearElasticitySolver< TDataType > | |
| typedef TDataType::Real | Real |
| typedef TDataType::Coord | Coord |
| typedef TDataType::Matrix | Matrix |
| typedef ::dyno::TBond< TDataType > | Bond |
Public Types inherited from dyno::OBase | |
| typedef std::vector< FBase * > | FieldVector |
| typedef std::map< FieldID, FBase * > | FieldMap |
Public Member Functions | |
| SemiImplicitHyperelasticitySolver () | |
| ~SemiImplicitHyperelasticitySolver () override | |
| void | solveElasticity () override |
| DEF_VAR (Real, StrainLimiting, 0.1, "") | |
| DEF_VAR_IN (EnergyType, EnergyType, "") | |
| DEF_VAR_IN (EnergyModels< Real >, EnergyModels, "") | |
| DEF_VAR (bool, IsAlphaComputed, true, "") | |
| DEF_ARRAY_IN (Attribute, Attribute, DeviceType::GPU, "Particle Attribute") | |
| DEF_ARRAY_IN (Real, Volume, DeviceType::GPU, "Particle volume") | |
| DEF_ARRAYLIST_IN (Real, VolumePair, DeviceType::GPU, "") | |
Public Member Functions inherited from dyno::LinearElasticitySolver< TDataType > | |
| LinearElasticitySolver () | |
| ~LinearElasticitySolver () override | |
| DEF_VAR_IN (Real, Horizon, "") | |
| Horizon A positive number represents the radius of neighborhood for each point. | |
| DEF_VAR_IN (Real, TimeStep, "") | |
| DEF_ARRAY_IN (Coord, X, DeviceType::GPU, "Rest Pos") | |
| Reference position. | |
| DEF_ARRAY_IN (Coord, Y, DeviceType::GPU, "Particle position") | |
| Deformed position. | |
| DEF_ARRAY_IN (Coord, Velocity, DeviceType::GPU, "Particle velocity") | |
| Particle velocity. | |
| DEF_ARRAYLIST_IN (Bond, Bonds, DeviceType::GPU, "Peridynamic bonds") | |
| Neighboring bonds. | |
| DEF_VAR (Real, Mu, 0.001, "Lame parameters: mu") | |
| Lame parameters m_lambda controls the isotropic part while mu controls the deviatoric part. | |
| DEF_VAR (Real, Lambda, 0.01, "Lame parameters: lambda") | |
| DEF_VAR (uint, IterationNumber, 30, "Iteration number") | |
Public Member Functions inherited from dyno::ConstraintModule | |
| ConstraintModule () | |
| ~ConstraintModule () override | |
| std::string | getModuleType () override |
Public Member Functions inherited from dyno::Module | |
| Module (std::string name="default") | |
| ~Module (void) override | |
| bool | initialize () |
| void | update () |
| void | setName (std::string name) |
| std::string | getName () override |
| virtual void | setParentNode (Node *node) |
| Set the parent node. | |
| Node * | getParentNode () |
| SceneGraph * | getSceneGraph () |
| bool | isInitialized () |
| bool | attachField (FBase *field, std::string name, std::string desc, bool autoDestroy=true) override |
| Attach a field to Base. | |
| bool | isInputComplete () |
| Check the completeness of input fields. | |
| bool | isOutputCompete () |
| bool | connect (ModulePort *nPort) |
| bool | disconnect (ModulePort *nPort) |
| virtual bool | allowImported () |
| virtual bool | allowExported () |
| std::vector< ModulePort * > & | getImportModules () |
| std::vector< ModulePort * > & | getExportModules () |
| DEF_VAR (bool, ForceUpdate, false, "") | |
| void | setUpdateAlways (bool b) |
| Set the update strategy for the module. | |
| virtual bool | initializeImpl () |
| MultipleModulePort< Module > * | importModules () |
| Used to ensure modules can be executed in the correct order. | |
Public Member Functions inherited from dyno::OBase | |
| OBase () | |
| ~OBase () override | |
| virtual std::string | caption () |
| Return the caption. | |
| virtual bool | captionVisible () |
| Whether to hide the caption in the GUI. | |
| virtual std::string | description () |
| Return a description for the node or module, override this function to support user-defined description. | |
| bool | addField (FBase *data) |
| Add a field to Base FieldID will be set to the name of Field by default. | |
| bool | addField (FieldID name, FBase *data) |
| Add a field to Base. | |
| bool | addFieldAlias (FieldID name, FBase *data) |
| bool | addFieldAlias (FieldID name, FBase *data, FieldMap &fieldAlias) |
| bool | findField (FBase *data) |
| Find a field by its pointer. | |
| bool | findFieldAlias (const FieldID name) |
| Find a field by its name. | |
| bool | findFieldAlias (const FieldID name, FieldMap &fieldAlias) |
| Find a field in fieldAlias by its name This function is typically called by other functions. | |
| bool | removeField (FBase *data) |
| Remove a field by its pointer. | |
| bool | removeFieldAlias (const FieldID name) |
| Remove a field by its name. | |
| bool | removeFieldAlias (const FieldID name, FieldMap &fieldAlias) |
| FBase * | getField (const FieldID name) |
| Return a field by its name. | |
| std::vector< FBase * > & | getAllFields () |
| template<typename T> | |
| T * | getField (FieldID name) |
| bool | isAllFieldsReady () |
| Check the completeness of all required fields. | |
| std::vector< FieldID > | getFieldAlias (FBase *data) |
| int | getFieldAliasCount (FBase *data) |
| void | setBlockCoord (float x, float y) |
| float | bx () |
| float | by () |
| bool | findInputField (FBase *field) |
| bool | addInputField (FBase *field) |
| bool | removeInputField (FBase *field) |
| std::vector< FBase * > & | getInputFields () |
| bool | findOutputField (FBase *field) |
| bool | addOutputField (FBase *field) |
| bool | addToOutput (FBase *field) |
| bool | removeOutputField (FBase *field) |
| bool | removeFromOutput (FBase *field) |
| std::vector< FBase * > & | getOutputFields () |
| bool | findParameter (FBase *field) |
| bool | addParameter (FBase *field) |
| bool | removeParameter (FBase *field) |
| std::vector< FBase * > & | getParameters () |
Public Member Functions inherited from dyno::Object | |
| Object () | |
| virtual | ~Object () |
| ObjectId | objectId () |
Protected Member Functions | |
| void | enforceHyperelasticity () |
| void | resizeAllFields () |
Protected Member Functions inherited from dyno::LinearElasticitySolver< TDataType > | |
| void | constrain () override |
| void | preprocess () override |
| virtual void | enforceElasticity () |
| Correct the particle position with one iteration Be sure computeInverseK() is called as long as the rest shape is changed. | |
| virtual void | computeMaterialStiffness () |
| void | updateVelocity () |
| void | computeInverseK () |
Protected Member Functions inherited from dyno::ConstraintModule | |
| void | updateImpl () override |
Protected Member Functions inherited from dyno::Module | |
| virtual void | postprocess () |
| virtual bool | validateInputs () |
| virtual bool | validateOutputs () |
| virtual bool | requireUpdate () |
| virtual void | updateStarted () |
| Two functions called at the beginning and end of update() used for debug. | |
| virtual void | updateEnded () |
| bool | appendExportModule (ModulePort *nodePort) |
| bool | removeExportModule (ModulePort *nodePort) |
Private Attributes | |
| DArray< Real > | m_fraction |
| DArray< Real > | m_energy |
| DArray< Real > | m_alpha |
| DArray< Coord > | m_gradient |
| DArray< Coord > | mEnergyGradient |
| DArray< Coord > | m_eigenValues |
| DArray< Matrix > | m_F |
| DArray< Matrix > | m_invF |
| DArray< bool > | m_validOfK |
| DArray< bool > | m_validOfF |
| DArray< Matrix > | m_invK |
| DArray< Matrix > | m_matU |
| DArray< Matrix > | m_matV |
| DArray< Matrix > | m_matR |
| DArray< Coord > | y_current |
| DArray< Coord > | y_next |
| DArray< Coord > | y_pre |
| DArray< Coord > | y_residual |
| DArray< Coord > | y_gradC |
| DArray< Coord > | m_source |
| DArray< Matrix > | m_A |
| Reduction< Real > * | m_reduce |
| bool | m_alphaCompute = true |
Additional Inherited Members | |
Static Public Member Functions inherited from dyno::Object | |
| static bool | registerClass (ClassInfo *ci) |
| static Object * | createObject (std::string name) |
| static std::map< std::string, ClassInfo * > * | getClassMap () |
| static ObjectId | baseId () |
| Base Id. | |
Protected Attributes inherited from dyno::LinearElasticitySolver< TDataType > | |
| DArray< Real > | mBulkStiffness |
| DArray< Real > | mWeights |
| DArray< Coord > | mDisplacement |
| DArray< Coord > | mPosBuf |
| DArray< Matrix > | mF |
| DArray< Matrix > | mInvK |
Protected Attributes inherited from dyno::OBase | |
| std::vector< FBase * > | fields_input |
| std::vector< FBase * > | fields_output |
| std::vector< FBase * > | fields_param |
Definition at line 12 of file SemiImplicitHyperelasticitySolver.h.
| typedef ::dyno::TBond<TDataType> dyno::SemiImplicitHyperelasticitySolver< TDataType >::Bond |
Definition at line 20 of file SemiImplicitHyperelasticitySolver.h.
| typedef TDataType::Coord dyno::SemiImplicitHyperelasticitySolver< TDataType >::Coord |
Definition at line 18 of file SemiImplicitHyperelasticitySolver.h.
| typedef TDataType::Matrix dyno::SemiImplicitHyperelasticitySolver< TDataType >::Matrix |
Definition at line 19 of file SemiImplicitHyperelasticitySolver.h.
| typedef TDataType::Real dyno::SemiImplicitHyperelasticitySolver< TDataType >::Real |
Definition at line 17 of file SemiImplicitHyperelasticitySolver.h.
| dyno::SemiImplicitHyperelasticitySolver< TDataType >::SemiImplicitHyperelasticitySolver | ( | ) |
|
override |
| dyno::SemiImplicitHyperelasticitySolver< TDataType >::DEF_ARRAY_IN | ( | Attribute | , |
| Attribute | , | ||
| DeviceType::GPU | , | ||
| "Particle Attribute" | ) |
| dyno::SemiImplicitHyperelasticitySolver< TDataType >::DEF_ARRAY_IN | ( | Real | , |
| Volume | , | ||
| DeviceType::GPU | , | ||
| "Particle volume" | ) |
| dyno::SemiImplicitHyperelasticitySolver< TDataType >::DEF_ARRAYLIST_IN | ( | Real | , |
| VolumePair | , | ||
| DeviceType::GPU | , | ||
| "" | ) |
| dyno::SemiImplicitHyperelasticitySolver< TDataType >::DEF_VAR | ( | bool | , |
| IsAlphaComputed | , | ||
| true | , | ||
| "" | ) |
| dyno::SemiImplicitHyperelasticitySolver< TDataType >::DEF_VAR | ( | Real | , |
| StrainLimiting | , | ||
| 0. | 1, | ||
| "" | ) |
| dyno::SemiImplicitHyperelasticitySolver< TDataType >::DEF_VAR_IN | ( | EnergyModels< Real > | , |
| EnergyModels | , | ||
| "" | ) |
| dyno::SemiImplicitHyperelasticitySolver< TDataType >::DEF_VAR_IN | ( | EnergyType | , |
| EnergyType | , | ||
| "" | ) |
|
protected |
|
protected |
|
overridevirtual |
Reimplemented from dyno::LinearElasticitySolver< TDataType >.
|
private |
Definition at line 71 of file SemiImplicitHyperelasticitySolver.h.
|
private |
Definition at line 49 of file SemiImplicitHyperelasticitySolver.h.
|
private |
Definition at line 75 of file SemiImplicitHyperelasticitySolver.h.
|
private |
Definition at line 53 of file SemiImplicitHyperelasticitySolver.h.
|
private |
Definition at line 48 of file SemiImplicitHyperelasticitySolver.h.
|
private |
Definition at line 55 of file SemiImplicitHyperelasticitySolver.h.
|
private |
Definition at line 46 of file SemiImplicitHyperelasticitySolver.h.
|
private |
Definition at line 50 of file SemiImplicitHyperelasticitySolver.h.
|
private |
Definition at line 56 of file SemiImplicitHyperelasticitySolver.h.
|
private |
Definition at line 59 of file SemiImplicitHyperelasticitySolver.h.
|
private |
Definition at line 62 of file SemiImplicitHyperelasticitySolver.h.
|
private |
Definition at line 60 of file SemiImplicitHyperelasticitySolver.h.
|
private |
Definition at line 61 of file SemiImplicitHyperelasticitySolver.h.
|
private |
Definition at line 73 of file SemiImplicitHyperelasticitySolver.h.
|
private |
Definition at line 70 of file SemiImplicitHyperelasticitySolver.h.
|
private |
Definition at line 58 of file SemiImplicitHyperelasticitySolver.h.
|
private |
Definition at line 57 of file SemiImplicitHyperelasticitySolver.h.
|
private |
Definition at line 51 of file SemiImplicitHyperelasticitySolver.h.
|
private |
Definition at line 64 of file SemiImplicitHyperelasticitySolver.h.
|
private |
Definition at line 68 of file SemiImplicitHyperelasticitySolver.h.
|
private |
Definition at line 65 of file SemiImplicitHyperelasticitySolver.h.
|
private |
Definition at line 66 of file SemiImplicitHyperelasticitySolver.h.
|
private |
Definition at line 67 of file SemiImplicitHyperelasticitySolver.h.