20 #ifndef __mast_conduction_gradient_operator_h__ 21 #define __mast_conduction_gradient_operator_h__ 31 namespace Conduction {
32 namespace GradientOperator {
35 template <
typename NodalScalarType,
36 typename VarScalarType,
42 typename Eigen::Matrix<VarScalarType, Dim, 1> &epsilon,
47 const typename FEVarType::fe_shape_deriv_t
48 &fe = fe_var.get_fe_shape_data();
53 "Invalid gradient dimension");
56 "Invalid gradient dimension");
58 Bmat.
n(), fe.n_basis(),
59 "Incompatible Operator size.");
62 for (
uint_t i=0; i<Dim; i++) {
65 epsilon(i) = fe_var.du_dx(qp, 0, i);
75 #endif // __mast_linear_elastic_strain_operator_h__
#define Assert1(cond, v1, msg)
void set_shape_function(uint_t interpolated_var, uint_t discrete_var, const VecType &shape_func)
sets the shape function values for the block corresponding to interpolated_var and discrete_var...
#define Assert2(cond, v1, v2, msg)
void gradient_operator(const FEVarType &fe_var, const uint_t qp, typename Eigen::Matrix< VarScalarType, Dim, 1 > &epsilon, MAST::Numerics::FEMOperatorMatrix< NodalScalarType > &Bmat)