PhysicsBasedAnimationToolkit 0.0.10
Cross-platform C++20 library of algorithms and data structures commonly used in computer graphics research on physically-based simulation.
Loading...
Searching...
No Matches
pbat::sim::algorithm::pd Namespace Reference

Namespace for Projective Dynamics simulation algorithms. More...

Functions

template<common::CArithmetic TScalar>
TScalar ValanisLandelQuasiNewtonStiffness (TScalar mu, TScalar lambda, Eigen::Vector< TScalar, 3 > const &sigma, TScalar sigmalo, TScalar sigmahi, physics::EHyperElasticEnergy energy)
 Computes the element constraint stiffness for the quasi-Newton Projective Dynamics hessian approximation [9] .
 
template<class TDerivedMu, class TDerivedLambda, class TDerivedSigma, class TDerivedSigmaLo, class TDerivedSigmaHi, class TDerivedK>
void ValanisLandelQuasiNewtonStiffness (Eigen::DenseBase< TDerivedMu > const &mu, Eigen::DenseBase< TDerivedLambda > const &lambda, Eigen::DenseBase< TDerivedSigma > const &sigma, Eigen::DenseBase< TDerivedSigmaLo > const &sigmalo, Eigen::DenseBase< TDerivedSigmaHi > const &sigmahi, physics::EHyperElasticEnergy energy, Eigen::DenseBase< TDerivedK > &k)
 Vectorized version of ValanisLandelQuasiNewtonStiffness.
 

Detailed Description

Namespace for Projective Dynamics simulation algorithms.

Function Documentation

◆ ValanisLandelQuasiNewtonStiffness() [1/2]

template<class TDerivedMu, class TDerivedLambda, class TDerivedSigma, class TDerivedSigmaLo, class TDerivedSigmaHi, class TDerivedK>
void pbat::sim::algorithm::pd::ValanisLandelQuasiNewtonStiffness ( Eigen::DenseBase< TDerivedMu > const & mu,
Eigen::DenseBase< TDerivedLambda > const & lambda,
Eigen::DenseBase< TDerivedSigma > const & sigma,
Eigen::DenseBase< TDerivedSigmaLo > const & sigmalo,
Eigen::DenseBase< TDerivedSigmaHi > const & sigmahi,
physics::EHyperElasticEnergy energy,
Eigen::DenseBase< TDerivedK > & k )

Vectorized version of ValanisLandelQuasiNewtonStiffness.

Template Parameters
TDerivedMuMatrix type for mu
TDerivedLambdaMatrix type for lambda
TDerivedSigmaLoMatrix type for sigmalo
TDerivedSigmaHiMatrix type for sigmahi
TDerivedKMatrix type for k
Parameters
mu|# constraints| x 1 matrix of first Lame coefficients
lambda|# constraints| x 1 matrix of second Lame coefficients
sigma|# constraints| x 3 matrix of singular values of deformation gradients
sigmalo|# constraints| x 1 matrix of lowest singular values of deformation gradients
sigmahi|# constraints| x 1 matrix of highest singular values of deformation gradients
energyHyperelastic energy model
k|# constraints| x 1 matrix of constraint stiffnesses

◆ ValanisLandelQuasiNewtonStiffness() [2/2]

template<common::CArithmetic TScalar>
TScalar pbat::sim::algorithm::pd::ValanisLandelQuasiNewtonStiffness ( TScalar mu,
TScalar lambda,
Eigen::Vector< TScalar, 3 > const & sigma,
TScalar sigmalo,
TScalar sigmahi,
physics::EHyperElasticEnergy energy )

Computes the element constraint stiffness for the quasi-Newton Projective Dynamics hessian approximation [9] .

Template Parameters
TScalarScalar type
Parameters
muFirst Lame coefficient
lambdaSecond Lame coefficient
sigmaSingular values of deformation gradient
sigmaloLowest singular value of deformation gradient
sigmahiHighest singular value of deformation gradient
energyHyperelastic energy model
Returns
Quasi-Newton stiffness for Projective Dynamics element constraints