Vega FEM Library (v1.1) User's Manual - University of Southern ...
Vega FEM Library (v1.1) User's Manual - University of Southern ...
Vega FEM Library (v1.1) User's Manual - University of Southern ...
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
void ComputeForceAndStiffnessMatrix(double * vertexDisplacements,<br />
double * internalForces, SparseMatrix * stiffnessMatrix, int warp=1)<br />
Computes the internal forces and stiffness matrix given a vector vertexDisplacements <strong>of</strong> the displacements<br />
for the vertices <strong>of</strong> the tetrahedral mesh. If either internalForces or stiffnessMatrix is NULL, the<br />
function does not calculate or return the corresponding information. The warp parameter controls whether<br />
the simulation “warps” stiffnesses and therefore supports large deformations. When warping is enabled<br />
(warp=1 or warp=2), the implementation supports large deformations. The default is warp=1, in which<br />
case the simulation uses the approximate tangent stiffness matrix as described in [MG04]. For warp=2,<br />
the class computes the exact tangent stiffness matrix; our implementation is described in [Bar12]. Such<br />
an exact matrix has better simulation properties; however, it requires approximately 1.5x the computation<br />
time <strong>of</strong> the approximate matrix. If warping is disabled (warp=0), one obtains the standard linear <strong>FEM</strong><br />
simulation [Sha90]. Such simulation runs faster than the warped simulations because it timesteps the linear<br />
equation Mü + D ˙u + Ku = f. It is only accurate under small displacements.<br />
2.4 elasticForceModel<br />
Provides implementation <strong>of</strong> the ForceModel base class for the deformable models supported by <strong>Vega</strong>. This<br />
makes it possible to use these deformable models with the integrators in <strong>Vega</strong> (integrator library).<br />
class CorotationalLinear<strong>FEM</strong>ForceModel : public ForceModel Exposes the internal force- and<br />
stiffness matrix-calculating functionality <strong>of</strong> the CorotationalLinear<strong>FEM</strong> material using the common interface<br />
<strong>of</strong> ForceModel.<br />
CorotationalLinear<strong>FEM</strong>ForceModel(CorotationalLinear<strong>FEM</strong> *<br />
corotationalLinear<strong>FEM</strong>, int warp=1)<br />
Sets the CorotationalLinear<strong>FEM</strong> object for force and stiffness calculations. The parameter warp has<br />
the same meaning as in the CorotationalLinear<strong>FEM</strong> class.<br />
void SetWarp(int warp)<br />
Sets the warp parameter. This makes it possible to change the warp parameter at runtime.<br />
class MassSpringSystemForceModel : public ForceModel Exposes the internal force- and stiffness<br />
matrix-calculating functionality <strong>of</strong> the mass-spring material using the common interface <strong>of</strong> ForceModel.<br />
MassSpringSystemForceModel(MassSpringSystem * massSpringSystem)<br />
Sets the MassSpringSystem object used for force and stiffness calculations.<br />
class StVKForceModel : public ForceModel Exposes the internal force- and stiffness matrix-calculating<br />
functionality <strong>of</strong> the StVK material using the common interface <strong>of</strong> ForceModel.<br />
StVKForceModel(StVKInternalForces * stVKInternalForces,<br />
StVKStiffnessMatrix * stVKStiffnessMatrix = NULL)<br />
Sets the StVK objects used for internal forces and stiffness calculations. If no StVKStiffnessMatrix is<br />
provided, one is constructed based upon stVKInternalForces.<br />
class IsotropicHyperelastic<strong>FEM</strong>ForceModel : public ForceModel Exposes the internal force- and<br />
stiffness matrix-calculating functionality <strong>of</strong> the invertible <strong>FEM</strong> materials using the common interface <strong>of</strong><br />
ForceModel.<br />
IsotropicHyperelastic<strong>FEM</strong>ForceModel(<br />
IsotropicHyperelastic<strong>FEM</strong> * isotropicHyperelastic<strong>FEM</strong>)<br />
Sets the invertible-elements object used for internal forces and stiffness matrix calculations.<br />
10