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

#include <MatParams.hpp>

Public Member Functions

void resize (const int size)
 
double operator() (int i, int j) const
 
double & operator() (int i, int j)
 
void set_from_entries (const std::vector< double > &entries, const std::string &stress_unit)
 
void set_from_lambda_mu (const double lambda, const double mu, const std::string &stress_unit)
 
void set_from_young_poisson (const double young, const double poisson, const std::string &stress_unit)
 
void set_orthotropic (double Ex, double Ey, double Ez, double nuYX, double nuZX, double nuZY, double muYZ, double muZX, double muXY, const std::string &stress_unit)
 
void set_orthotropic (double Ex, double Ey, double nuYX, double muXY, const std::string &stress_unit)
 
template<int DIM>
double compute_stress (const std::array< double, DIM > &strain, const int j) const
 

Private Attributes

Eigen::Matrix< double, Eigen::Dynamic, Eigen::Dynamic, 0, 6, 6 > stifness_tensor_
 
int size_
 

Detailed Description

Definition at line 41 of file MatParams.hpp.

Member Function Documentation

◆ compute_stress()

template<int DIM>
template double polyfem::assembler::ElasticityTensor::compute_stress< 6 > ( const std::array< double, DIM > &  strain,
const int  j 
) const

Definition at line 294 of file MatParams.cpp.

Referenced by polyfem::assembler::HookeLinearElasticity::assemble(), and polyfem::assembler::HookeLinearElasticity::assign_stress_tensor().

Here is the caller graph for this function:

◆ operator()() [1/2]

double & polyfem::assembler::ElasticityTensor::operator() ( int  i,
int  j 
)

Definition at line 112 of file MatParams.cpp.

References stifness_tensor_.

◆ operator()() [2/2]

double polyfem::assembler::ElasticityTensor::operator() ( int  i,
int  j 
) const

Definition at line 101 of file MatParams.cpp.

References stifness_tensor_.

◆ resize()

void polyfem::assembler::ElasticityTensor::resize ( const int  size)

Definition at line 89 of file MatParams.cpp.

References size_, and stifness_tensor_.

Referenced by polyfem::autogen::saint_venant_2d_function(), polyfem::assembler::HookeLinearElasticity::set_size(), and polyfem::assembler::SaintVenantElasticity::set_size().

Here is the caller graph for this function:

◆ set_from_entries()

void polyfem::assembler::ElasticityTensor::set_from_entries ( const std::vector< double > &  entries,
const std::string &  stress_unit 
)

Definition at line 123 of file MatParams.cpp.

References entries, set_orthotropic(), and size_.

Referenced by polyfem::assembler::HookeLinearElasticity::add_multimaterial(), and polyfem::assembler::SaintVenantElasticity::add_multimaterial().

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

◆ set_from_lambda_mu()

void polyfem::assembler::ElasticityTensor::set_from_lambda_mu ( const double  lambda,
const double  mu,
const std::string &  stress_unit 
)

Definition at line 197 of file MatParams.cpp.

References size_.

Referenced by polyfem::assembler::HookeLinearElasticity::add_multimaterial(), and polyfem::assembler::SaintVenantElasticity::add_multimaterial().

Here is the caller graph for this function:

◆ set_from_young_poisson()

void polyfem::assembler::ElasticityTensor::set_from_young_poisson ( const double  young,
const double  poisson,
const std::string &  stress_unit 
)

Definition at line 241 of file MatParams.cpp.

References size_, and stifness_tensor_.

Referenced by polyfem::assembler::HookeLinearElasticity::add_multimaterial(), and polyfem::assembler::SaintVenantElasticity::add_multimaterial().

Here is the caller graph for this function:

◆ set_orthotropic() [1/2]

void polyfem::assembler::ElasticityTensor::set_orthotropic ( double  Ex,
double  Ey,
double  Ez,
double  nuYX,
double  nuZX,
double  nuZY,
double  muYZ,
double  muZX,
double  muXY,
const std::string &  stress_unit 
)

Definition at line 264 of file MatParams.cpp.

References size_, and stifness_tensor_.

Referenced by set_from_entries().

Here is the caller graph for this function:

◆ set_orthotropic() [2/2]

void polyfem::assembler::ElasticityTensor::set_orthotropic ( double  Ex,
double  Ey,
double  nuYX,
double  muXY,
const std::string &  stress_unit 
)

Definition at line 282 of file MatParams.cpp.

References size_, and stifness_tensor_.

Member Data Documentation

◆ size_

int polyfem::assembler::ElasticityTensor::size_
private

◆ stifness_tensor_

Eigen::Matrix<double, Eigen::Dynamic, Eigen::Dynamic, 0, 6, 6> polyfem::assembler::ElasticityTensor::stifness_tensor_
private

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