27 namespace IsotropicMaterialProperty {
39 virtual void operator() (
const libMesh::Point& p,
44 const libMesh::Point& p,
65 virtual void operator() (
const libMesh::Point& p,
70 const libMesh::Point& p,
92 virtual void operator() (
const libMesh::Point& p,
97 const libMesh::Point& p,
117 virtual void operator() (
const libMesh::Point& p,
122 const libMesh::Point& p,
141 virtual void operator() (
const libMesh::Point& p,
146 const libMesh::Point& p,
172 virtual void operator() (
const libMesh::Point& p,
177 const libMesh::Point& p,
206 virtual void operator() (
const libMesh::Point& p,
211 const libMesh::Point& p,
243 virtual void operator() (
const libMesh::Point& p,
248 const libMesh::Point& p,
286 m = RealMatrixX::Zero(2,2);
288 _E(p, t, E);
_nu(p, t, nu);
298 const libMesh::Point &p,
304 m = RealMatrixX::Zero(2,2); dm = RealMatrixX::Zero(2,2);
305 Real E, nu, dEdf, dnudf;
311 dm(1,1) = 1./2./(1.+nu);
317 dm(1,1) = -E/2./pow(1.+nu,2);
344 m = RealMatrixX::Zero(2,2);
345 Real E, nu, kappa, G;
357 const libMesh::Point& p,
361 m = RealMatrixX::Zero(2,2); dm = RealMatrixX::Zero(2, 2);
362 Real E, nu, kappa, dEdf, dnudf, dkappadf, G;
370 dm(0,0) = 1./2./(1.+nu)*kappa;
376 dm(0,0) = -E/2./pow(1.+nu,2)*kappa;
382 dm(0,0) = G; dm(1,1) = G;
396 _plane_stress(plane_stress) {
411 m = RealMatrixX::Zero(3,3);
413 _E(p, t, E);
_nu(p, t, nu);
414 for (
unsigned int i=0; i<2; i++) {
415 for (
unsigned int j=0; j<2; j++)
417 m(i,i) = E/(1.-nu*nu);
419 m(i,j) = E*nu/(1.-nu*nu);
421 m(2,2) = E/2./(1.+nu);
430 const libMesh::Point& p,
435 m = RealMatrixX::Zero(3,3); dm = RealMatrixX::Zero(3, 3);
436 Real E, nu, dEdf, dnudf;
441 for (
unsigned int i=0; i<2; i++) {
442 for (
unsigned int j=0; j<2; j++)
444 dm(i,i) = 1./(1.-nu*nu);
446 dm(i,j) = 1.*nu/(1.-nu*nu);
448 dm(2,2) = 1./2./(1.+nu);
452 for (
unsigned int i=0; i<2; i++) {
453 for (
unsigned int j=0; j<2; j++)
455 dm(i,i) = E/pow(1.-nu*nu, 2)*2.*nu;
457 dm(i,j) = E/(1.-nu*nu) + E*nu/pow(1.-nu*nu,2)*2.*nu;
459 dm(2,2) = -E/2./pow(1.+nu,2);
485 m = RealMatrixX::Zero(6,6);
487 _E(p, t, E);
_nu(p, t, nu);
488 for (
unsigned int i=0; i<3; i++) {
489 for (
unsigned int j=0; j<3; j++)
491 m(i,i) = E*(1.-nu)/(1.-nu-2.*nu*nu);
493 m(i,j) = E*nu/(1.-nu-2.*nu*nu);
494 m(i+3,i+3) = E/2./(1.+nu);
504 const libMesh::Point& p,
508 m = RealMatrixX::Zero(6,6); dm = RealMatrixX::Zero(6,6);
509 Real E, nu, dEdf, dnudf;
514 for (
unsigned int i=0; i<3; i++) {
515 for (
unsigned int j=0; j<3; j++)
517 dm(i,i) = (1.-nu)/(1.-nu-2.*nu*nu);
519 dm(i,j) = nu/(1.-nu-2.*nu*nu);
520 dm(i+3,i+3) = 1./2./(1.+nu);
526 for (
unsigned int i=0; i<3; i++) {
527 for (
unsigned int j=0; j<3; j++)
529 dm(i,i) = -E/(1.-nu-2.*nu*nu) + E*(1.-nu)/pow(1.-nu-2.*nu*nu,2)*(1.+4.*nu);
531 dm(i,j) = E/(1.-nu-2.*nu*nu) + E*nu/pow(1.-nu-2.*nu*nu,2)*(1.+4.*nu);
532 dm(i+3,i+3) = -E/2./pow(1.+nu,2);
553 m = RealMatrixX::Zero(3,3);
566 const libMesh::Point &p,
571 m = RealMatrixX::Zero(3,3);
591 m = RealMatrixX::Zero(2,1);
595 m = RealMatrixX::Zero(3,1);
599 m = RealMatrixX::Zero(6,1);
603 for (
unsigned int i=0; i<_dim; i++)
614 const libMesh::Point& p,
620 _alpha.derivative( f, p, t, alpha);
623 m = RealMatrixX::Zero(2,1);
627 m = RealMatrixX::Zero(3,1);
631 m = RealMatrixX::Zero(6,1);
635 for (
unsigned int i=0; i<_dim; i++)
666 const libMesh::Point& p,
671 Real cp, dcp, rho, drho;
672 _cp (p, t, cp); _cp.derivative( f, p, t, dcp);
677 m(0,0) = dcp*rho + cp*drho;
692 m.setIdentity(_dim, _dim);
704 const libMesh::Point& p,
710 _k.derivative( f, p, t, k);
712 m.setIdentity(_dim, _dim);
723 _stiff_mat_1d (nullptr),
724 _stiff_mat_2d (nullptr),
725 _stiff_mat_3d (nullptr),
727 _inertia_mat_3d (nullptr),
728 _thermal_exp_mat_1d (nullptr),
729 _thermal_exp_mat_2d (nullptr),
730 _thermal_exp_mat_3d (nullptr),
731 _transverse_shear_mat (nullptr),
732 _thermal_capacitance_mat_1d (nullptr),
733 _thermal_capacitance_mat_2d (nullptr),
734 _thermal_capacitance_mat_3d (nullptr),
735 _thermal_conductance_mat_1d (nullptr),
736 _thermal_conductance_mat_2d (nullptr),
737 _thermal_conductance_mat_3d (nullptr)
767 const bool plane_stress) {
818 libmesh_assert(
false);
const MAST::FieldFunction< Real > & _rho
MAST::FieldFunction< RealMatrixX > * _thermal_conductance_mat_3d
const MAST::FieldFunction< Real > & _nu
virtual ~StiffnessMatrix1D()
virtual ~InertiaMatrix3D()
virtual ~ThermalExpansionMatrix()
virtual void derivative(const MAST::FunctionBase &f, const libMesh::Point &p, const Real t, RealMatrixX &m) const
calculates the value of the derivative of function with respect to the function f at the specified po...
virtual const MAST::FieldFunction< RealMatrixX > & inertia_matrix(const unsigned int dim)
virtual void operator()(const libMesh::Point &p, const Real t, RealMatrixX &m) const
calculates the value of the function at the specified point, p, and time, t, and returns it in v...
virtual void operator()(const libMesh::Point &p, const Real t, RealMatrixX &m) const
calculates the value of the function at the specified point, p, and time, t, and returns it in v...
const MAST::FieldFunction< Real > & _E
virtual void operator()(const libMesh::Point &p, const Real t, RealMatrixX &m) const
calculates the value of the function at the specified point, p, and time, t, and returns it in v...
virtual void operator()(const libMesh::Point &p, const Real t, RealMatrixX &m) const
calculates the value of the function at the specified point, p, and time, t, and returns it in v...
StiffnessMatrix3D(const MAST::FieldFunction< Real > &E, const MAST::FieldFunction< Real > &nu)
virtual ~TransverseShearStiffnessMatrix()
virtual void derivative(const MAST::FunctionBase &f, const libMesh::Point &p, const Real t, RealMatrixX &m) const
calculates the value of the derivative of function with respect to the function f at the specified po...
const MAST::FieldFunction< Real > & _E
virtual void derivative(const MAST::FunctionBase &f, const libMesh::Point &p, const Real t, RealMatrixX &m) const
calculates the value of the derivative of function with respect to the function f at the specified po...
MAST::FieldFunction< RealMatrixX > * _thermal_exp_mat_3d
virtual const MAST::FieldFunction< RealMatrixX > & thermal_expansion_matrix(const unsigned int dim)
ThermalCapacitanceMatrix(unsigned int dim, const MAST::FieldFunction< Real > &rho, const MAST::FieldFunction< Real > &cp)
virtual void operator()(const libMesh::Point &p, const Real t, RealMatrixX &m) const
calculates the value of the function at the specified point, p, and time, t, and returns it in v...
virtual ~IsotropicMaterialPropertyCard()
std::set< const MAST::FunctionBase * > _functions
set of functions that this function depends on
const MAST::FieldFunction< Real > & _kappa
StiffnessMatrix1D(const MAST::FieldFunction< Real > &E, const MAST::FieldFunction< Real > &nu)
virtual void derivative(const MAST::FunctionBase &f, const libMesh::Point &p, const Real t, RealMatrixX &m) const
calculates the value of the derivative of function with respect to the function f at the specified po...
const MAST::FieldFunction< Real > & _cp
const MAST::FieldFunction< Real > & _k
TransverseShearStiffnessMatrix(const MAST::FieldFunction< Real > &E, const MAST::FieldFunction< Real > &nu, const MAST::FieldFunction< Real > &kappa)
ThermalConductanceMatrix(unsigned int dim, MAST::FieldFunction< Real > &k)
const MAST::FieldFunction< Real > & _E
virtual void derivative(const MAST::FunctionBase &f, const libMesh::Point &p, const Real t, RealMatrixX &m) const
calculates the value of the derivative of function with respect to the function f at the specified po...
MAST::FieldFunction< RealMatrixX > * _inertia_mat_3d
virtual void derivative(const MAST::FunctionBase &f, ValType &v) const
calculates the value of the function derivative and returns it in v.
const MAST::FieldFunction< Real > & _nu
MAST::FieldFunction< RealMatrixX > * _damp_mat
Matrix< Real, Dynamic, Dynamic > RealMatrixX
virtual void operator()(const libMesh::Point &p, const Real t, RealMatrixX &m) const
calculates the value of the function at the specified point, p, and time, t, and returns it in v...
MAST::FieldFunction< RealMatrixX > * _transverse_shear_mat
This creates the base class for functions that have a saptial and temporal dependence, and provide sensitivity operations with respect to the functions and parameters.
const MAST::FieldFunction< Real > & _rho
virtual ~ThermalConductanceMatrix()
StiffnessMatrix2D(const MAST::FieldFunction< Real > &E, const MAST::FieldFunction< Real > &nu, bool plane_stress)
virtual const MAST::FieldFunction< RealMatrixX > & damping_matrix(const unsigned int dim)
virtual const MAST::FieldFunction< RealMatrixX > & conductance_matrix(const unsigned int dim)
const MAST::FieldFunction< Real > & _nu
virtual ~ThermalCapacitanceMatrix()
virtual const MAST::FieldFunction< RealMatrixX > & capacitance_matrix(const unsigned int dim)
InertiaMatrix3D(const MAST::FieldFunction< Real > &rho)
const MAST::FieldFunction< Real > & _alpha
MAST::FieldFunction< RealMatrixX > * _thermal_exp_mat_1d
virtual const MAST::FieldFunction< RealMatrixX > & stiffness_matrix(const unsigned int dim, const bool plane_stress=true)
MAST::FieldFunction< RealMatrixX > * _stiff_mat_2d
const MAST::FieldFunction< Real > & _nu
virtual ~StiffnessMatrix3D()
const MAST::FieldFunction< Real > & _E
virtual void derivative(const MAST::FunctionBase &f, const libMesh::Point &p, const Real t, RealMatrixX &m) const
calculates the value of the derivative of function with respect to the function f at the specified po...
MAST::FieldFunction< RealMatrixX > * _thermal_capacitance_mat_3d
IsotropicMaterialPropertyCard()
virtual ~StiffnessMatrix2D()
MAST::FieldFunction< RealMatrixX > * _stiff_mat_3d
virtual void derivative(const MAST::FunctionBase &f, const libMesh::Point &p, const Real t, RealMatrixX &m) const
calculates the value of the derivative of function with respect to the function f at the specified po...
MAST::FieldFunction< RealMatrixX > * _thermal_conductance_mat_1d
ThermalExpansionMatrix(unsigned int dim, const MAST::FieldFunction< Real > &alpha)
virtual const MAST::FieldFunction< RealMatrixX > & transverse_shear_stiffness_matrix()
MAST::FieldFunction< RealMatrixX > * _thermal_exp_mat_2d
MAST::FieldFunction< RealMatrixX > * _thermal_capacitance_mat_1d
MAST::FieldFunction< RealMatrixX > * _thermal_capacitance_mat_2d
MAST::FieldFunction< RealMatrixX > * _thermal_conductance_mat_2d
MAST::FieldFunction< RealMatrixX > * _stiff_mat_1d
virtual void operator()(const libMesh::Point &p, const Real t, RealMatrixX &m) const
calculates the value of the function at the specified point, p, and time, t, and returns it in v...
virtual void derivative(const MAST::FunctionBase &f, const libMesh::Point &p, const Real t, RealMatrixX &m) const
calculates the value of the derivative of function with respect to the function f at the specified po...
virtual void operator()(const libMesh::Point &p, const Real t, RealMatrixX &m) const
calculates the value of the function at the specified point, p, and time, t, and returns it in v...