PolyFEM
Loading...
Searching...
No Matches
polyfem::assembler::detail::ThermoElasticityModelImpl< Elasticity > Class Template Reference
Inheritance diagram for polyfem::assembler::detail::ThermoElasticityModelImpl< Elasticity >:
[legend]
Collaboration diagram for polyfem::assembler::detail::ThermoElasticityModelImpl< Elasticity >:
[legend]

Public Member Functions

 ThermoElasticityModelImpl ()
 
std::string elastic_name () const override
 
std::map< std::string, Assembler::ParamFuncparameters () const override
 
void set_size (const int size) override
 
void add_multimaterial (const int index, const json &params, const Units &units, const std::string &root_path) override
 
double compute_energy (const MixedNonLinearAssemblerData &data) const override
 
Eigen::VectorXd compute_gradient (const MixedNonLinearAssemblerData &data) const override
 
Eigen::MatrixXd compute_hessian (const MixedNonLinearAssemblerData &data) const override
 
- Public Member Functions inherited from polyfem::assembler::detail::ThermoElasticityModel
virtual ~ThermoElasticityModel ()=default
 

Private Member Functions

int size () const
 
int cols () const
 
template<typename T >
compute_energy_aux (const MixedNonLinearAssemblerData &data) const
 
double alpha (const RowVectorNd &uv, const RowVectorNd &p, const double t, const int element_id) const
 
double T0 (const RowVectorNd &uv, const RowVectorNd &p, const double t, const int element_id) const
 

Private Attributes

int size_ = -1
 
Elasticity elastic_
 
GenericMatParam alpha_
 
GenericMatParam T0_
 

Detailed Description

template<typename Elasticity>
class polyfem::assembler::detail::ThermoElasticityModelImpl< Elasticity >

Definition at line 116 of file ThermoElasticity.cpp.

Constructor & Destructor Documentation

◆ ThermoElasticityModelImpl()

template<typename Elasticity >
polyfem::assembler::detail::ThermoElasticityModelImpl< Elasticity >::ThermoElasticityModelImpl ( )

Definition at line 157 of file ThermoElasticity.cpp.

Member Function Documentation

◆ add_multimaterial()

template<typename Elasticity >
void polyfem::assembler::detail::ThermoElasticityModelImpl< Elasticity >::add_multimaterial ( const int  index,
const json params,
const Units units,
const std::string &  root_path 
)
overridevirtual

Implements polyfem::assembler::detail::ThermoElasticityModel.

Definition at line 163 of file ThermoElasticity.cpp.

References polyfem::log_and_throw_error(), polyfem::Units::one_over_temperature(), and polyfem::Units::temperature().

Here is the call graph for this function:

◆ alpha()

template<typename Elasticity >
double polyfem::assembler::detail::ThermoElasticityModelImpl< Elasticity >::alpha ( const RowVectorNd uv,
const RowVectorNd p,
const double  t,
const int  element_id 
) const
private

Definition at line 267 of file ThermoElasticity.cpp.

◆ cols()

template<typename Elasticity >
int polyfem::assembler::detail::ThermoElasticityModelImpl< Elasticity >::cols ( ) const
inlineprivate

Definition at line 133 of file ThermoElasticity.cpp.

◆ compute_energy()

template<typename Elasticity >
double polyfem::assembler::detail::ThermoElasticityModelImpl< Elasticity >::compute_energy ( const MixedNonLinearAssemblerData data) const
overridevirtual

◆ compute_energy_aux()

◆ compute_gradient()

template<typename Elasticity >
Eigen::VectorXd polyfem::assembler::detail::ThermoElasticityModelImpl< Elasticity >::compute_gradient ( const MixedNonLinearAssemblerData data) const
overridevirtual

◆ compute_hessian()

template<typename Elasticity >
Eigen::MatrixXd polyfem::assembler::detail::ThermoElasticityModelImpl< Elasticity >::compute_hessian ( const MixedNonLinearAssemblerData data) const
overridevirtual

◆ elastic_name()

template<typename Elasticity >
std::string polyfem::assembler::detail::ThermoElasticityModelImpl< Elasticity >::elastic_name ( ) const
inlineoverridevirtual

◆ parameters()

template<typename Elasticity >
std::map< std::string, Assembler::ParamFunc > polyfem::assembler::detail::ThermoElasticityModelImpl< Elasticity >::parameters ( ) const
overridevirtual

◆ set_size()

template<typename Elasticity >
void polyfem::assembler::detail::ThermoElasticityModelImpl< Elasticity >::set_size ( const int  size)
overridevirtual

◆ size()

template<typename Elasticity >
int polyfem::assembler::detail::ThermoElasticityModelImpl< Elasticity >::size ( ) const
inlineprivate

◆ T0()

template<typename Elasticity >
double polyfem::assembler::detail::ThermoElasticityModelImpl< Elasticity >::T0 ( const RowVectorNd uv,
const RowVectorNd p,
const double  t,
const int  element_id 
) const
private

Definition at line 273 of file ThermoElasticity.cpp.

Member Data Documentation

◆ alpha_

template<typename Elasticity >
GenericMatParam polyfem::assembler::detail::ThermoElasticityModelImpl< Elasticity >::alpha_
private

Definition at line 143 of file ThermoElasticity.cpp.

◆ elastic_

template<typename Elasticity >
Elasticity polyfem::assembler::detail::ThermoElasticityModelImpl< Elasticity >::elastic_
private

◆ size_

template<typename Elasticity >
int polyfem::assembler::detail::ThermoElasticityModelImpl< Elasticity >::size_ = -1
private

◆ T0_

template<typename Elasticity >
GenericMatParam polyfem::assembler::detail::ThermoElasticityModelImpl< Elasticity >::T0_
private

Definition at line 144 of file ThermoElasticity.cpp.


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