18.08.2013 Views

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 ...

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!