waves
Basic FE playground
StressComputation.h File Reference
#include "wHex8.h"
#include "wSfHex8.h"
#include "wGaussHex8.h"
#include "wCacheHex8.h"
#include "wTetra4.h"
#include "wSfTetra4.h"
#include "wGaussTetra4.h"
#include "wCacheTetra4.h"
Include dependency graph for StressComputation.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Functions

void strain_at_gp (size_t n_n, tbox::Element &el, tbox::Cache &cache, size_t a, const Eigen::MatrixXd &u_e, Eigen::MatrixXd &Strain)
 Those functions compute the stress and strain at nodes and in average per element. They are currently implemented using Eigen data structure but should be refactored using Kokkos:view such that it will be possible to use parallel for in the future. More...
 
void compute_stress (size_t n_n, const Eigen::MatrixXd &Strain, Eigen::MatrixXd &Stress, const Eigen::MatrixXd &H, const Eigen::MatrixXd &D, const std::vector< double > &T, bool thermal)
 
void strain_stress_x_y_z (tbox::Element *elem, Eigen::MatrixXd &Strain, Eigen::MatrixXd &Stress, const Eigen::MatrixXd &H, const Eigen::MatrixXd &D, const std::vector< double > &x, const std::vector< double > &y, const std::vector< double > &z, const std::vector< double > &T, bool thermal=false)
 
void strain_stress_x_y_z_at_node (tbox::Element *elem, std::vector< Eigen::MatrixXd > &Strain_at_node, std::vector< Eigen::MatrixXd > &Stress_at_node, const Eigen::MatrixXd &H, const Eigen::MatrixXd &D, const std::vector< double > &x, const std::vector< double > &y, const std::vector< double > &z, const std::vector< double > &T, bool thermal=false)
 

Function Documentation

◆ compute_stress()

void compute_stress ( size_t  n_n,
const Eigen::MatrixXd &  Strain,
Eigen::MatrixXd &  Stress,
const Eigen::MatrixXd &  H,
const Eigen::MatrixXd &  D,
const std::vector< double > &  T,
bool  thermal 
)

◆ strain_at_gp()

void strain_at_gp ( size_t  n_n,
tbox::Element &  el,
tbox::Cache &  cache,
size_t  a,
const Eigen::MatrixXd &  u_e,
Eigen::MatrixXd &  Strain 
)

Those functions compute the stress and strain at nodes and in average per element. They are currently implemented using Eigen data structure but should be refactored using Kokkos:view such that it will be possible to use parallel for in the future.

◆ strain_stress_x_y_z()

void strain_stress_x_y_z ( tbox::Element *  elem,
Eigen::MatrixXd &  Strain,
Eigen::MatrixXd &  Stress,
const Eigen::MatrixXd &  H,
const Eigen::MatrixXd &  D,
const std::vector< double > &  x,
const std::vector< double > &  y,
const std::vector< double > &  z,
const std::vector< double > &  T,
bool  thermal = false 
)

◆ strain_stress_x_y_z_at_node()

void strain_stress_x_y_z_at_node ( tbox::Element *  elem,
std::vector< Eigen::MatrixXd > &  Strain_at_node,
std::vector< Eigen::MatrixXd > &  Stress_at_node,
const Eigen::MatrixXd &  H,
const Eigen::MatrixXd &  D,
const std::vector< double > &  x,
const std::vector< double > &  y,
const std::vector< double > &  z,
const std::vector< double > &  T,
bool  thermal = false 
)