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 : #include "INSFEFluidIntegratedBCBase.h" 11 : #include "MooseMesh.h" 12 : 13 : InputParameters 14 697 : INSFEFluidIntegratedBCBase::validParams() 15 : { 16 697 : InputParameters params = IntegratedBC::validParams(); 17 : 18 : // Coupled variables 19 1394 : params.addRequiredCoupledVar("u", "velocity in x-coord"); 20 1394 : params.addCoupledVar("v", "velocity in y-coord"); // required in 2D and 3D 21 1394 : params.addCoupledVar("w", "velocity in z-coord"); // required in 3D 22 : 23 1394 : params.addRequiredCoupledVar("pressure", "pressure"); 24 1394 : params.addRequiredCoupledVar("temperature", "temperature"); 25 1394 : params.addCoupledVar("porosity", "porosity"); 26 : 27 1394 : params.addRequiredParam<UserObjectName>("eos", "The name of equation of state object to use."); 28 697 : return params; 29 0 : } 30 : 31 374 : INSFEFluidIntegratedBCBase::INSFEFluidIntegratedBCBase(const InputParameters & parameters) 32 : : IntegratedBC(parameters), 33 : // Coupled variables 34 374 : _u_vel(coupledValue("u")), 35 374 : _v_vel(_mesh.dimension() >= 2 ? coupledValue("v") : _zero), 36 374 : _w_vel(_mesh.dimension() == 3 ? coupledValue("w") : _zero), 37 374 : _pressure(coupledValue("pressure")), 38 374 : _temperature(coupledValue("temperature")), 39 748 : _rho(getMaterialProperty<Real>("rho_fluid")), 40 : // Gradients 41 374 : _grad_u_vel(coupledGradient("u")), 42 374 : _grad_v_vel(_mesh.dimension() >= 2 ? coupledGradient("v") : _grad_zero), 43 374 : _grad_w_vel(_mesh.dimension() == 3 ? coupledGradient("w") : _grad_zero), 44 374 : _grad_pressure(coupledGradient("pressure")), 45 374 : _grad_temperature(coupledGradient("temperature")), 46 : // Variable numberings 47 374 : _u_vel_var_number(coupled("u")), 48 374 : _v_vel_var_number(_mesh.dimension() >= 2 ? coupled("v") : libMesh::invalid_uint), 49 374 : _w_vel_var_number(_mesh.dimension() == 3 ? coupled("w") : libMesh::invalid_uint), 50 374 : _pressure_var_number(coupled("pressure")), 51 374 : _temperature_var_number(coupled("temperature")), 52 : 53 748 : _has_porosity(isParamValid("porosity")), 54 374 : _porosity(_has_porosity ? coupledValue("porosity") : _zero), 55 : 56 748 : _eos(getUserObject<SinglePhaseFluidProperties>("eos")) 57 : { 58 374 : } 59 : 60 : unsigned 61 565248 : INSFEFluidIntegratedBCBase::mapVarNumber(unsigned var) 62 : { 63 : // Convert the Moose numbering to: 64 : // 0 for pressure 65 : // 1 for u 66 : // 2 for v 67 : // 3 for w 68 : // 4 for temperature 69 : // regardless of the problem dimension, etc. 70 : unsigned mapped_var_number = 99; 71 : 72 565248 : if (var == _pressure_var_number) 73 : mapped_var_number = 0; 74 502912 : else if (var == _u_vel_var_number) 75 : mapped_var_number = 1; 76 333312 : else if (var == _v_vel_var_number) 77 : mapped_var_number = 2; 78 137856 : else if (var == _w_vel_var_number) 79 : mapped_var_number = 3; 80 137856 : else if (var == _temperature_var_number) 81 : mapped_var_number = 4; 82 : else 83 : mapped_var_number = 99; 84 : 85 565248 : return mapped_var_number; 86 : }