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 STRESSDIVERGENCEDAMPER_H 16 : #define STRESSDIVERGENCEDAMPER_H 17 : 18 : #include "Kernel.h" 19 : #include "ColumnMajorMatrix.h" 20 : 21 : class StressDivergenceDamper : public Kernel 22 : { 23 : public: 24 : static InputParameters validParams(); 25 : StressDivergenceDamper(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 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 : /// damper forces in global coordinate system 43 : const MaterialProperty<ColumnMajorMatrix> & _Fg; 44 : 45 : /// damper stiffness matrix in global coordinate system 46 : const MaterialProperty<ColumnMajorMatrix> & _Kg; 47 : }; 48 : 49 : #endif // STRESSDIVERGENCEDAMPER_H