Serac  0.1
Serac is an implicit thermal strucural mechanics simulation code.
Public Types | Public Member Functions | Public Attributes | Static Public Attributes | List of all members
serac::LiquidCrystalElastomerBertoldi Struct Reference

Bertoldi's liquid crystal elastomer model Paper: Li, S., Librandi, G., Yao, Y., Richard, A. J., Schneider‐Yamamura, A., Aizenberg, J., & Bertoldi, K. (2021). Controlling Liquid Crystal Orientations for Programmable Anisotropic Transformations in Cellular Microstructures. Advanced Materials, 33(42), 2105024. More...

#include <liquid_crystal_elastomer.hpp>

Public Types

using State = Empty
 this material has no internal variables
 

Public Member Functions

 LiquidCrystalElastomerBertoldi (double rho, double young_modulus, double poisson_ratio, double initial_order_parameter, double beta_parameter)
 Constructor. More...
 
template<typename DispGradType , typename OrderParamType , typename GammaAngleType , typename EtaAngleType >
SERAC_HOST_DEVICE auto operator() (State &, const tensor< DispGradType, dim, dim > &displacement_grad, OrderParamType inst_order_param_tuple, GammaAngleType gamma_tuple, EtaAngleType eta_tuple) const
 Material response. More...
 
template<typename DispGradType , typename orderParamType , typename GammaAngleType , typename EtaAngleType >
auto calculateStrainEnergy (const State &, const tensor< DispGradType, dim, dim > &displacement_grad, orderParamType inst_order_param_tuple, GammaAngleType gamma_tuple, EtaAngleType eta_tuple) const
 Compute the strain energy. More...
 

Public Attributes

double density
 mass density
 
double young_modulus_
 Young's modulus in stress-free configuration.
 
double poisson_ratio_
 poisson's ratio
 
double initial_order_parameter_
 initial value of order parameter
 
double beta_parameter_
 Degree of coupling between elastic and nematic energies.
 

Static Public Attributes

static constexpr int dim = 3
 this model is only intended to be used in 3D
 

Detailed Description

Bertoldi's liquid crystal elastomer model Paper: Li, S., Librandi, G., Yao, Y., Richard, A. J., Schneider‐Yamamura, A., Aizenberg, J., & Bertoldi, K. (2021). Controlling Liquid Crystal Orientations for Programmable Anisotropic Transformations in Cellular Microstructures. Advanced Materials, 33(42), 2105024.

--------------------------------------------------------------------------—


Definition at line 210 of file liquid_crystal_elastomer.hpp.

Constructor & Destructor Documentation

◆ LiquidCrystalElastomerBertoldi()

serac::LiquidCrystalElastomerBertoldi::LiquidCrystalElastomerBertoldi ( double  rho,
double  young_modulus,
double  poisson_ratio,
double  initial_order_parameter,
double  beta_parameter 
)
inline

Constructor.

Parameters
rhomass density of the material (in reference configuration)
young_modulusBulk modulus of the material
poisson_ratioPoisson ratio of the material
initial_order_parameterInitial value of the order parameter
beta_parameterParameter for degree of coupling between elastic and nematic energies

Definition at line 225 of file liquid_crystal_elastomer.hpp.

Member Function Documentation

◆ calculateStrainEnergy()

template<typename DispGradType , typename orderParamType , typename GammaAngleType , typename EtaAngleType >
auto serac::LiquidCrystalElastomerBertoldi::calculateStrainEnergy ( const State ,
const tensor< DispGradType, dim, dim > &  displacement_grad,
orderParamType  inst_order_param_tuple,
GammaAngleType  gamma_tuple,
EtaAngleType  eta_tuple 
) const
inline

Compute the strain energy.


Template Parameters
DispGradTypeType of the displacement gradient
orderParamTypeType of order parameter (level of alignment)
GammaAngleTypeType of the in-plane angle
EtaAngleTypeType of the out-of-plane angle
Parameters
[in]displacement_gradDisplacement gradient
[in]inst_order_param_tupleInstantaneous order parameter
[in]gamma_tupleIn-plane angle of alignment of liquid crystal in elastomer matrix
[in]eta_tupleOut-of-plane angle of alignment of liquid crystal in elastomer matrix
Returns
strain energy

Definition at line 312 of file liquid_crystal_elastomer.hpp.

◆ operator()()

template<typename DispGradType , typename OrderParamType , typename GammaAngleType , typename EtaAngleType >
SERAC_HOST_DEVICE auto serac::LiquidCrystalElastomerBertoldi::operator() ( State ,
const tensor< DispGradType, dim, dim > &  displacement_grad,
OrderParamType  inst_order_param_tuple,
GammaAngleType  gamma_tuple,
EtaAngleType  eta_tuple 
) const
inline

Material response.


Template Parameters
DispGradTypenumber-like type for the displacement gradient tensor
OrderParamTypenumber-like type for the order parameter
GammaAngleTypenumber-like type for the orientation angle gamma
EtaAngleTypenumber-like type for the orientation angle eta
Parameters
[in]displacement_graddisplacement gradient with respect to the reference configuration
[in]inst_order_param_tuplethe current order parameter
[in]gamma_tuplethe first polar angle used to define the liquid crystal orientation vector
[in]eta_tuplethe second polar angle used to define the liquid crystal orientation vector
Returns
The calculated material response (Cauchy stress) for the material

Definition at line 258 of file liquid_crystal_elastomer.hpp.


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