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

#include <MatParams.hpp>

Public Member Functions

 FiberDirection ()
 
virtual ~FiberDirection ()=default
 
void resize (const int size)
 
void add_multimaterial (const int index, const json &params, const std::string &unit)
 
Eigen::Matrix< double, Eigen::Dynamic, Eigen::Dynamic, 1, 3, 3 > operator() (double px, double py, double pz, double x, double y, double z, double t, int el_id) const
 
Eigen::Matrix< double, Eigen::Dynamic, Eigen::Dynamic, 1, 3, 3 > operator() (const Eigen::MatrixXd &param, const Eigen::MatrixXd &p, double t, int el_id) const
 
Eigen::Matrix< double, Eigen::Dynamic, Eigen::Dynamic, 1, 6, 6 > stiffness_rotation_voigt (double px, double py, double pz, double x, double y, double z, double t, int el_id) const
 
Eigen::Matrix< double, Eigen::Dynamic, Eigen::Dynamic, 1, 6, 6 > stiffness_rotation_voigt (const Eigen::MatrixXd &param, const Eigen::MatrixXd &p, double t, int el_id) const
 
bool has_rotation () const
 

Private Attributes

std::vector< Eigen::Matrix< utils::ExpressionValue, Eigen::Dynamic, Eigen::Dynamic, 1, 3, 3 > > dir_
 
int size_
 
bool has_rotation_
 

Detailed Description

Definition at line 144 of file MatParams.hpp.

Constructor & Destructor Documentation

◆ FiberDirection()

polyfem::assembler::FiberDirection::FiberDirection ( )

Definition at line 482 of file MatParams.cpp.

◆ ~FiberDirection()

virtual polyfem::assembler::FiberDirection::~FiberDirection ( )
virtualdefault

Member Function Documentation

◆ add_multimaterial()

void polyfem::assembler::FiberDirection::add_multimaterial ( const int  index,
const json params,
const std::string &  unit 
)

Definition at line 555 of file MatParams.cpp.

References dir_, has_rotation_, polyfem::log_and_throw_error(), 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:

◆ has_rotation()

bool polyfem::assembler::FiberDirection::has_rotation ( ) const
inline

Definition at line 176 of file MatParams.hpp.

References has_rotation_.

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

Here is the caller graph for this function:

◆ operator()() [1/2]

Eigen::Matrix< double, Eigen::Dynamic, Eigen::Dynamic, 1, 3, 3 > polyfem::assembler::FiberDirection::operator() ( const Eigen::MatrixXd &  param,
const Eigen::MatrixXd &  p,
double  t,
int  el_id 
) const
inline

Definition at line 156 of file MatParams.hpp.

◆ operator()() [2/2]

Eigen::Matrix< double, Eigen::Dynamic, Eigen::Dynamic, 1, 3, 3 > polyfem::assembler::FiberDirection::operator() ( double  px,
double  py,
double  pz,
double  x,
double  y,
double  z,
double  t,
int  el_id 
) const

Definition at line 499 of file MatParams.cpp.

References dir_, x, y, and z.

◆ resize()

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

Definition at line 486 of file MatParams.cpp.

References dir_, and size_.

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

Here is the caller graph for this function:

◆ stiffness_rotation_voigt() [1/2]

Eigen::Matrix< double, Eigen::Dynamic, Eigen::Dynamic, 1, 6, 6 > polyfem::assembler::FiberDirection::stiffness_rotation_voigt ( const Eigen::MatrixXd &  param,
const Eigen::MatrixXd &  p,
double  t,
int  el_id 
) const
inline

Definition at line 167 of file MatParams.hpp.

References stiffness_rotation_voigt().

Here is the call graph for this function:

◆ stiffness_rotation_voigt() [2/2]

Eigen::Matrix< double, Eigen::Dynamic, Eigen::Dynamic, 1, 6, 6 > polyfem::assembler::FiberDirection::stiffness_rotation_voigt ( double  px,
double  py,
double  pz,
double  x,
double  y,
double  z,
double  t,
int  el_id 
) const

Definition at line 519 of file MatParams.cpp.

References x, y, and z.

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

Here is the caller graph for this function:

Member Data Documentation

◆ dir_

std::vector<Eigen::Matrix<utils::ExpressionValue, Eigen::Dynamic, Eigen::Dynamic, 1, 3, 3> > polyfem::assembler::FiberDirection::dir_
private

Definition at line 179 of file MatParams.hpp.

Referenced by add_multimaterial(), operator()(), and resize().

◆ has_rotation_

bool polyfem::assembler::FiberDirection::has_rotation_
private

Definition at line 181 of file MatParams.hpp.

Referenced by add_multimaterial(), and has_rotation().

◆ size_

int polyfem::assembler::FiberDirection::size_
private

Definition at line 180 of file MatParams.hpp.

Referenced by add_multimaterial(), and resize().


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