PolyFEM
Loading...
Searching...
No Matches
polyfem::assembler::LameParameters Class Reference

#include <MatParams.hpp>

Public Member Functions

 LameParameters ()
 
void add_multimaterial (const int index, const json &params, const bool is_volume, const std::string &stress_unit)
 
void lambda_mu (double px, double py, double pz, double x, double y, double z, double t, int el_id, double &lambda, double &mu) const
 
void lambda_mu (const Eigen::MatrixXd &param, const Eigen::MatrixXd &p, double t, int el_id, double &lambda, double &mu) const
 

Public Attributes

Eigen::MatrixXd lambda_mat_
 
Eigen::MatrixXd mu_mat_
 

Private Member Functions

void set_e_nu (const int index, const json &E, const json &nu, const std::string &stress_unit)
 

Private Attributes

int size_
 
std::vector< utils::ExpressionValuelambda_or_E_
 
std::vector< utils::ExpressionValuemu_or_nu_
 
bool is_lambda_mu_
 

Detailed Description

Definition at line 67 of file MatParams.hpp.

Constructor & Destructor Documentation

◆ LameParameters()

polyfem::assembler::LameParameters::LameParameters ( )

Definition at line 313 of file MatParams.cpp.

References is_lambda_mu_, lambda_or_E_, mu_or_nu_, and size_.

Member Function Documentation

◆ add_multimaterial()

void polyfem::assembler::LameParameters::add_multimaterial ( const int  index,
const json params,
const bool  is_volume,
const std::string &  stress_unit 
)

Definition at line 359 of file MatParams.cpp.

References is_lambda_mu_, lambda_or_E_, mu_or_nu_, set_e_nu(), and size_.

Referenced by polyfem::assembler::FixedCorotational::add_multimaterial(), polyfem::assembler::IncompressibleLinearElasticityDispacement::add_multimaterial(), polyfem::assembler::IncompressibleLinearElasticityPressure::add_multimaterial(), polyfem::assembler::LinearElasticity::add_multimaterial(), polyfem::assembler::NeoHookeanElasticity::add_multimaterial(), and polyfem::assembler::NeoHookeanAutodiff::add_multimaterial().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ lambda_mu() [1/2]

void polyfem::assembler::LameParameters::lambda_mu ( const Eigen::MatrixXd &  param,
const Eigen::MatrixXd &  p,
double  t,
int  el_id,
double &  lambda,
double &  mu 
) const
inline

Definition at line 75 of file MatParams.hpp.

References lambda_mu().

Here is the call graph for this function:

◆ lambda_mu() [2/2]

void polyfem::assembler::LameParameters::lambda_mu ( double  px,
double  py,
double  pz,
double  x,
double  y,
double  z,
double  t,
int  el_id,
double &  lambda,
double &  mu 
) const

Definition at line 324 of file MatParams.cpp.

References polyfem::convert_to_lambda(), polyfem::convert_to_mu(), is_lambda_mu_, lambda_mat_, lambda_or_E_, mu_mat_, mu_or_nu_, size_, x, y, and z.

Referenced by polyfem::assembler::IncompressibleLinearElasticityDispacement::assemble(), polyfem::assembler::IncompressibleLinearElasticityPressure::assemble(), polyfem::assembler::LinearElasticity::assemble(), polyfem::assembler::FixedCorotational::assign_stress_tensor(), polyfem::assembler::IncompressibleLinearElasticityDispacement::assign_stress_tensor(), polyfem::assembler::LinearElasticity::assign_stress_tensor(), polyfem::assembler::NeoHookeanElasticity::assign_stress_tensor(), polyfem::assembler::FixedCorotational::compute_energy_aux(), polyfem::assembler::LinearElasticity::compute_energy_aux(), polyfem::assembler::NeoHookeanElasticity::compute_energy_aux(), polyfem::assembler::FixedCorotational::compute_energy_aux_gradient_fast(), polyfem::assembler::NeoHookeanElasticity::compute_energy_aux_gradient_fast(), polyfem::assembler::FixedCorotational::compute_energy_hessian_aux_fast(), polyfem::assembler::NeoHookeanElasticity::compute_energy_hessian_aux_fast(), polyfem::assembler::LinearElasticity::compute_rhs(), polyfem::assembler::NeoHookeanElasticity::compute_rhs(), polyfem::assembler::LinearElasticity::compute_stiffness_value(), polyfem::assembler::NeoHookeanElasticity::compute_stiffness_value(), polyfem::assembler::FixedCorotational::compute_stress_grad_multiply_mat(), polyfem::assembler::LinearElasticity::compute_stress_grad_multiply_mat(), polyfem::assembler::NeoHookeanElasticity::compute_stress_grad_multiply_mat(), polyfem::assembler::FixedCorotational::compute_stress_grad_multiply_stress(), polyfem::assembler::LinearElasticity::compute_stress_grad_multiply_stress(), polyfem::assembler::NeoHookeanElasticity::compute_stress_grad_multiply_stress(), polyfem::assembler::NeoHookeanElasticity::compute_stress_grad_multiply_vect(), polyfem::assembler::NeoHookeanAutodiff::elastic_energy(), polyfem::assembler::LinearElasticity::kernel(), and lambda_mu().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ set_e_nu()

void polyfem::assembler::LameParameters::set_e_nu ( const int  index,
const json E,
const json nu,
const std::string &  stress_unit 
)
private

Definition at line 390 of file MatParams.cpp.

References is_lambda_mu_, lambda_or_E_, and mu_or_nu_.

Referenced by add_multimaterial().

Here is the caller graph for this function:

Member Data Documentation

◆ is_lambda_mu_

bool polyfem::assembler::LameParameters::is_lambda_mu_
private

Definition at line 93 of file MatParams.hpp.

Referenced by add_multimaterial(), lambda_mu(), LameParameters(), and set_e_nu().

◆ lambda_mat_

◆ lambda_or_E_

std::vector<utils::ExpressionValue> polyfem::assembler::LameParameters::lambda_or_E_
private

Definition at line 92 of file MatParams.hpp.

Referenced by add_multimaterial(), lambda_mu(), LameParameters(), and set_e_nu().

◆ mu_mat_

◆ mu_or_nu_

std::vector<utils::ExpressionValue> polyfem::assembler::LameParameters::mu_or_nu_
private

Definition at line 92 of file MatParams.hpp.

Referenced by add_multimaterial(), lambda_mu(), LameParameters(), and set_e_nu().

◆ size_

int polyfem::assembler::LameParameters::size_
private

Definition at line 91 of file MatParams.hpp.

Referenced by add_multimaterial(), lambda_mu(), and LameParameters().


The documentation for this class was generated from the following files: