![]() |
PeriDyno 1.0.0
|
#include <CoSemiImplicitHyperelasticitySolver.h>
Public Types | |
typedef TDataType::Real | Real |
typedef TDataType::Coord | Coord |
typedef TDataType::Matrix | Matrix |
typedef ::dyno::TBond< TDataType > | Bond |
![]() | |
typedef TDataType::Real | Real |
typedef TDataType::Coord | Coord |
typedef TDataType::Matrix | Matrix |
typedef ::dyno::TBond< TDataType > | Bond |
![]() | |
typedef std::vector< FBase * > | FieldVector |
typedef std::map< FieldID, FBase * > | FieldMap |
Public Member Functions | |
CoSemiImplicitHyperelasticitySolver () | |
~CoSemiImplicitHyperelasticitySolver () override | |
void | solveElasticity () override |
void | setObjectVolume (Real volume) |
void | setParticleVolume (Real volume) |
void | setContactMaxIte (int ite) |
DEF_VAR_IN (EnergyType, EnergyType, "") | |
DEF_VAR_IN (EnergyModels< Real >, EnergyModels, "") | |
DEF_VAR (bool, NeighborSearchingAdjacent, true, "") | |
DEF_ARRAY_IN (Coord, RestNorm, DeviceType::GPU, "Vertex Rest Normal") | |
DEF_ARRAY_IN (Coord, Norm, DeviceType::GPU, "Vertex Normal") | |
DEF_ARRAY_IN (Coord, OldPosition, DeviceType::GPU, "") | |
DEF_ARRAY_IN (Attribute, Attribute, DeviceType::GPU, "Particle Attribute") | |
DEF_VAR_IN (Real, Unit, "mesh unit") | |
DEF_INSTANCE_IN (TriangleSet< TDataType >, TriangularMesh, "") | |
void | setXi (Real xi_) |
void | setK_bend (Real k) |
void | setSelfContact (bool s_) |
Real | getXi () |
void | setE (Real E_) |
Real | getE () |
void | setS (Real s_) |
Real | getS (Real E, Real nv) |
Real | getS0 (Real E, Real nv) |
Real | getS1 (Real E, Real nv) |
void | setGrad_res_eps (Real r) |
void | setAccelerated (bool acc_) |
std::shared_ptr< ContactRule< TDataType > > | getContactRulePtr () |
![]() | |
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") | |
![]() | |
ConstraintModule () | |
~ConstraintModule () override | |
std::string | getModuleType () override |
![]() | |
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 () |
DEF_VAR (bool, ForceUpdate, false, "") | |
void | setUpdateAlways (bool b) |
Set the update strategy for the module. | |
![]() | |
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 () |
![]() | |
Object () | |
virtual | ~Object () |
ObjectId | objectId () |
Protected Member Functions | |
void | initializeVolume () |
void | enforceHyperelasticity () |
void | resizeAllFields () |
![]() | |
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 () |
![]() | |
void | updateImpl () override |
![]() | |
virtual bool | initializeImpl () |
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 () |
Private Member Functions | |
void | connectContact () |
Additional Inherited Members | |
![]() | |
static bool | registerClass (ClassInfo *ci) |
static Object * | createObject (std::string name) |
static std::map< std::string, ClassInfo * > * | getClassMap () |
static ObjectId | baseId () |
Base Id. | |
![]() | |
DArray< Real > | mBulkStiffness |
DArray< Real > | mWeights |
DArray< Coord > | mDisplacement |
DArray< Coord > | mPosBuf |
DArray< Matrix > | mF |
DArray< Matrix > | mInvK |
![]() | |
std::vector< FBase * > | fields_input |
std::vector< FBase * > | fields_output |
std::vector< FBase * > | fields_param |
Definition at line 15 of file CoSemiImplicitHyperelasticitySolver.h.
typedef ::dyno::TBond<TDataType> dyno::CoSemiImplicitHyperelasticitySolver< TDataType >::Bond |
Definition at line 23 of file CoSemiImplicitHyperelasticitySolver.h.
typedef TDataType::Coord dyno::CoSemiImplicitHyperelasticitySolver< TDataType >::Coord |
Definition at line 21 of file CoSemiImplicitHyperelasticitySolver.h.
typedef TDataType::Matrix dyno::CoSemiImplicitHyperelasticitySolver< TDataType >::Matrix |
Definition at line 22 of file CoSemiImplicitHyperelasticitySolver.h.
typedef TDataType::Real dyno::CoSemiImplicitHyperelasticitySolver< TDataType >::Real |
Definition at line 20 of file CoSemiImplicitHyperelasticitySolver.h.
dyno::CoSemiImplicitHyperelasticitySolver< TDataType >::CoSemiImplicitHyperelasticitySolver | ( | ) |
|
override |
|
private |
dyno::CoSemiImplicitHyperelasticitySolver< TDataType >::DEF_ARRAY_IN | ( | Attribute | , |
Attribute | , | ||
DeviceType::GPU | , | ||
"Particle Attribute" | ) |
dyno::CoSemiImplicitHyperelasticitySolver< TDataType >::DEF_ARRAY_IN | ( | Coord | , |
Norm | , | ||
DeviceType::GPU | , | ||
"Vertex Normal" | ) |
dyno::CoSemiImplicitHyperelasticitySolver< TDataType >::DEF_ARRAY_IN | ( | Coord | , |
OldPosition | , | ||
DeviceType::GPU | , | ||
"" | ) |
dyno::CoSemiImplicitHyperelasticitySolver< TDataType >::DEF_ARRAY_IN | ( | Coord | , |
RestNorm | , | ||
DeviceType::GPU | , | ||
"Vertex Rest Normal" | ) |
dyno::CoSemiImplicitHyperelasticitySolver< TDataType >::DEF_INSTANCE_IN | ( | TriangleSet< TDataType > | , |
TriangularMesh | , | ||
"" | ) |
dyno::CoSemiImplicitHyperelasticitySolver< TDataType >::DEF_VAR | ( | bool | , |
NeighborSearchingAdjacent | , | ||
true | , | ||
"" | ) |
dyno::CoSemiImplicitHyperelasticitySolver< TDataType >::DEF_VAR_IN | ( | EnergyModels< Real > | , |
EnergyModels | , | ||
"" | ) |
dyno::CoSemiImplicitHyperelasticitySolver< TDataType >::DEF_VAR_IN | ( | EnergyType | , |
EnergyType | , | ||
"" | ) |
dyno::CoSemiImplicitHyperelasticitySolver< TDataType >::DEF_VAR_IN | ( | Real | , |
Unit | , | ||
"mesh unit" | ) |
|
protected |
|
inline |
Definition at line 104 of file CoSemiImplicitHyperelasticitySolver.h.
|
inline |
Definition at line 79 of file CoSemiImplicitHyperelasticitySolver.h.
|
inline |
Definition at line 87 of file CoSemiImplicitHyperelasticitySolver.h.
|
inline |
Definition at line 89 of file CoSemiImplicitHyperelasticitySolver.h.
|
inline |
Definition at line 93 of file CoSemiImplicitHyperelasticitySolver.h.
|
inline |
Definition at line 72 of file CoSemiImplicitHyperelasticitySolver.h.
|
protected |
|
protected |
|
inline |
Definition at line 99 of file CoSemiImplicitHyperelasticitySolver.h.
|
inline |
Definition at line 32 of file CoSemiImplicitHyperelasticitySolver.h.
|
inline |
Definition at line 74 of file CoSemiImplicitHyperelasticitySolver.h.
|
inline |
Definition at line 96 of file CoSemiImplicitHyperelasticitySolver.h.
|
inline |
Definition at line 60 of file CoSemiImplicitHyperelasticitySolver.h.
|
inline |
Definition at line 30 of file CoSemiImplicitHyperelasticitySolver.h.
|
inline |
Definition at line 31 of file CoSemiImplicitHyperelasticitySolver.h.
|
inline |
Definition at line 82 of file CoSemiImplicitHyperelasticitySolver.h.
|
inline |
Definition at line 68 of file CoSemiImplicitHyperelasticitySolver.h.
|
inline |
Definition at line 55 of file CoSemiImplicitHyperelasticitySolver.h.
|
overridevirtual |
Reimplemented from dyno::LinearElasticitySolver< TDataType >.
|
private |
Definition at line 160 of file CoSemiImplicitHyperelasticitySolver.h.
|
private |
Definition at line 119 of file CoSemiImplicitHyperelasticitySolver.h.
|
private |
Definition at line 115 of file CoSemiImplicitHyperelasticitySolver.h.
|
private |
Definition at line 120 of file CoSemiImplicitHyperelasticitySolver.h.
|
private |
Definition at line 116 of file CoSemiImplicitHyperelasticitySolver.h.
|
private |
Definition at line 145 of file CoSemiImplicitHyperelasticitySolver.h.
|
private |
Definition at line 124 of file CoSemiImplicitHyperelasticitySolver.h.
|
private |
Definition at line 158 of file CoSemiImplicitHyperelasticitySolver.h.
|
private |
Definition at line 149 of file CoSemiImplicitHyperelasticitySolver.h.
|
private |
Definition at line 128 of file CoSemiImplicitHyperelasticitySolver.h.
|
private |
Definition at line 123 of file CoSemiImplicitHyperelasticitySolver.h.
|
private |
Definition at line 130 of file CoSemiImplicitHyperelasticitySolver.h.
|
private |
Definition at line 150 of file CoSemiImplicitHyperelasticitySolver.h.
|
private |
Definition at line 121 of file CoSemiImplicitHyperelasticitySolver.h.
|
private |
Definition at line 125 of file CoSemiImplicitHyperelasticitySolver.h.
|
private |
Definition at line 143 of file CoSemiImplicitHyperelasticitySolver.h.
|
private |
Definition at line 131 of file CoSemiImplicitHyperelasticitySolver.h.
|
private |
Definition at line 134 of file CoSemiImplicitHyperelasticitySolver.h.
|
private |
Definition at line 137 of file CoSemiImplicitHyperelasticitySolver.h.
|
private |
Definition at line 135 of file CoSemiImplicitHyperelasticitySolver.h.
|
private |
Definition at line 136 of file CoSemiImplicitHyperelasticitySolver.h.
|
private |
Definition at line 153 of file CoSemiImplicitHyperelasticitySolver.h.
|
private |
Definition at line 154 of file CoSemiImplicitHyperelasticitySolver.h.
|
private |
Definition at line 155 of file CoSemiImplicitHyperelasticitySolver.h.
|
private |
Definition at line 156 of file CoSemiImplicitHyperelasticitySolver.h.
|
private |
Definition at line 147 of file CoSemiImplicitHyperelasticitySolver.h.
|
private |
Definition at line 144 of file CoSemiImplicitHyperelasticitySolver.h.
|
private |
Definition at line 133 of file CoSemiImplicitHyperelasticitySolver.h.
|
private |
Definition at line 132 of file CoSemiImplicitHyperelasticitySolver.h.
|
private |
Definition at line 151 of file CoSemiImplicitHyperelasticitySolver.h.
|
private |
Definition at line 157 of file CoSemiImplicitHyperelasticitySolver.h.
|
private |
Definition at line 126 of file CoSemiImplicitHyperelasticitySolver.h.
|
private |
Definition at line 152 of file CoSemiImplicitHyperelasticitySolver.h.
|
private |
Definition at line 117 of file CoSemiImplicitHyperelasticitySolver.h.
|
private |
Definition at line 159 of file CoSemiImplicitHyperelasticitySolver.h.
|
private |
Definition at line 118 of file CoSemiImplicitHyperelasticitySolver.h.
|
private |
Definition at line 138 of file CoSemiImplicitHyperelasticitySolver.h.
|
private |
Definition at line 142 of file CoSemiImplicitHyperelasticitySolver.h.
|
private |
Definition at line 139 of file CoSemiImplicitHyperelasticitySolver.h.
|
private |
Definition at line 140 of file CoSemiImplicitHyperelasticitySolver.h.
|
private |
Definition at line 141 of file CoSemiImplicitHyperelasticitySolver.h.