Line data Source code
1 : /*************************************************/ 2 : /* DO NOT MODIFY THIS HEADER */ 3 : /* */ 4 : /* MASTODON */ 5 : /* */ 6 : /* (c) 2015 Battelle Energy Alliance, LLC */ 7 : /* ALL RIGHTS RESERVED */ 8 : /* */ 9 : /* Prepared by Battelle Energy Alliance, LLC */ 10 : /* With the U. S. Department of Energy */ 11 : /* */ 12 : /* See COPYRIGHT for full restrictions */ 13 : /*************************************************/ 14 : 15 : #ifndef STRESSDIVERGENCEISOLATOR_H 16 : #define STRESSDIVERGENCEISOLATOR_H 17 : 18 : #include "Kernel.h" 19 : #include "ColumnMajorMatrix.h" 20 : 21 : class StressDivergenceIsolator : public Kernel 22 : { 23 : public: 24 : static InputParameters validParams(); 25 : StressDivergenceIsolator(const InputParameters & parameters); 26 : virtual void computeResidual() override; 27 : virtual void computeJacobian() override; 28 : virtual void computeOffDiagJacobian(unsigned int jvar) override; 29 : 30 : protected: 31 0 : virtual Real computeQpResidual() override { return 0.0; } 32 : 33 : /// Direction along which force/moment is calculated 34 : const unsigned int _component; 35 : 36 : /// Number of coupled displacement variables 37 : unsigned int _ndisp; 38 : 39 : /// Variable numbers corresponding to displacement variables 40 : std::vector<unsigned int> _disp_var; 41 : 42 : /// Number of coupled rotational variables 43 : unsigned int _nrot; 44 : 45 : /// Variable numbers corresponding to rotational variables 46 : std::vector<unsigned int> _rot_var; 47 : 48 : /// Global isolator forces 49 : const MaterialProperty<ColumnMajorMatrix> & _Fg; 50 : 51 : /// GLobal stiffness matrix 52 : const MaterialProperty<ColumnMajorMatrix> & _Kg; 53 : 54 : /// Stiffness proportional Rayleigh damping parameter 55 : const Real & _zeta; 56 : 57 : /// HHT time integration parameter 58 : const Real & _alpha; 59 : 60 : /// Boolean flag to turn on Rayleigh damping or numerical damping due to HHT time integration 61 : const bool _isDamped; 62 : 63 : /// Old global isolator forces 64 : const MaterialProperty<ColumnMajorMatrix> * _Fg_old; 65 : 66 : /// Older global isolator forces 67 : const MaterialProperty<ColumnMajorMatrix> * _Fg_older; 68 : 69 : /// Static initialization 70 : const bool _static_initialization; 71 : }; 72 : 73 : #endif // STRESSDIVERGENCEISOLATOR_H