Line data Source code
1 : //* This file is part of the MOOSE framework 2 : //* https://mooseframework.inl.gov 3 : //* 4 : //* All rights reserved, see COPYRIGHT for full restrictions 5 : //* https://github.com/idaholab/moose/blob/master/COPYRIGHT 6 : //* 7 : //* Licensed under LGPL 2.1, please see LICENSE for details 8 : //* https://www.gnu.org/licenses/lgpl-2.1.html 9 : 10 : #pragma once 11 : 12 : #include "Kernel.h" 13 : 14 : // Forward Declarations 15 : 16 : /** 17 : * This class computes the "Chorin" Corrector equation in fully-discrete 18 : * (both time and space) form. 19 : */ 20 : class INSChorinCorrector : public Kernel 21 : { 22 : public: 23 : static InputParameters validParams(); 24 : 25 : INSChorinCorrector(const InputParameters & parameters); 26 : 27 88 : virtual ~INSChorinCorrector() {} 28 : 29 : protected: 30 : virtual Real computeQpResidual(); 31 : virtual Real computeQpJacobian(); 32 : virtual Real computeQpOffDiagJacobian(unsigned jvar); 33 : 34 : // "Star" velocity components 35 : const VariableValue & _u_vel_star; 36 : const VariableValue & _v_vel_star; 37 : const VariableValue & _w_vel_star; 38 : 39 : // Pressure gradients 40 : const VariableGradient & _grad_p; 41 : 42 : // Variable numberings 43 : unsigned _u_vel_star_var_number; 44 : unsigned _v_vel_star_var_number; 45 : unsigned _w_vel_star_var_number; 46 : unsigned _p_var_number; 47 : 48 : // Parameters 49 : unsigned _component; 50 : 51 : // Material properties 52 : const MaterialProperty<Real> & _rho; 53 : };