Loading...
Searching...
No Matches
usmsrProblem.H
Go to the documentation of this file.
1/*---------------------------------------------------------------------------*\
2 ██╗████████╗██╗ ██╗ █████╗ ██████╗ █████╗ ███████╗██╗ ██╗
3 ██║╚══██╔══╝██║ ██║██╔══██╗██╔════╝██╔══██╗ ██╔════╝██║ ██║
4 ██║ ██║ ███████║███████║██║ ███████║█████╗█████╗ ██║ ██║
5 ██║ ██║ ██╔══██║██╔══██║██║ ██╔══██║╚════╝██╔══╝ ╚██╗ ██╔╝
6 ██║ ██║ ██║ ██║██║ ██║╚██████╗██║ ██║ ██║ ╚████╔╝
7 ╚═╝ ╚═╝ ╚═╝ ╚═╝╚═╝ ╚═╝ ╚═════╝╚═╝ ╚═╝ ╚═╝ ╚═══╝
8
9 * In real Time Highly Advanced Computational Applications for Finite Volumes
10 * Copyright (C) 2017 by the ITHACA-FV authors
11-------------------------------------------------------------------------------
12
13 License
14 This file is part of ITHACA-FV
15
16 ITHACA-FV is free software: you can redistribute it and/or modify
17 it under the terms of the GNU Lesser General Public License as published by
18 the Free Software Foundation, either version 3 of the License, or
19 (at your option) any later version.
20
21 ITHACA-FV is distributed in the hope that it will be useful,
22 but WITHOUT ANY WARRANTY; without even the implied warranty of
23 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
24 GNU Lesser General Public License for more details.
25
26 You should have received a copy of the GNU Lesser General Public License
27 along with ITHACA-FV. If not, see <http://www.gnu.org/licenses/>.
28
29\*---------------------------------------------------------------------------*/
30
31#ifndef usmsrProblem_H
32#define usmsrProblem_H
33#include "fvCFD.H"
34#include "singlePhaseTransportModel.H"
35#include "turbulentTransportModel.H"
36#include "pimpleControl.H"
37#include "fvOptions.H"
38#include "IOporosityModelList.H"
39#include "IOMRFZoneList.H"
40#include "fixedFluxPressureFvPatchScalarField.H"
42#include "UnsteadyProblem.H"
43#include <iostream>
44
45// us stands for unsteady
47{
48 public:
49 // Constructors
52
54 usmsrProblem(int argc, char* argv[]);
55
56 // Specific variable for the unstationary case
57 autoPtr<dimensionedScalar> _tau;
58
59 // Dummy variables to transform pimplefoam into a class
61 autoPtr<pimpleControl> _pimple;
62 autoPtr<pimpleControl> _npimple;
63
65 autoPtr<incompressible::turbulenceModel> turbulence;
66
69
71 scalar maxCo;
72
74 scalar maxDeltaT;
75
76
77
78 //Methods:
79 //--------------------------------------------------------------------------
86 bool checkWrite(Time& timeObject);
87
88 //--------------------------------------------------------------------------
94 void truthSolve(List<scalar> mu_now);
95 //--------------------------------------------------------------------------
100 void truthSolve(List<scalar> mu_now, std::string folder);
101
102 protected:
103
106 void changePrecsBC();
107 //---------------------------------------------------------------
108
114 void computePrecsBC(label call);
115 //---------------------------------------------------------------
116
121 void assignPrecsBC(label call, label Ntau);
122 //---------------------------------------------------------------
123
127
128};
129
130#endif
131
132
133
Class to implement Molten Salt Reactor multiphysics problem.
Definition msrProblem.H:36
void truthSolve()
Perform a TruthSolve.
scalar maxCo
maxCourant
bool checkWrite(Time &timeObject)
Function to check if the solution must be exported.
scalar maxDeltaT
maxDeltaT
autoPtr< pimpleControl > _pimple
pimpleControl
autoPtr< dimensionedScalar > _tau
usmsrProblem()
Construct Null.
void assignPrecsBC(label call, label Ntau)
Method to assign the inlet BC to all precursors it assigns prec_i(x=inlet,t)=prec_i(x=outlet,...
bool adjustTimeStep
adjustTimeStep
void changePrecsBC()
Method to change the precursors' "precinIndex" (i.e.
void computePrecsBC(label call)
Method to compute the precursors inlet bc as: prec_i(x=outlet,t)exp(-lam_i*tau) where prec_i(x=outlet...
autoPtr< pimpleControl > _npimple
autoPtr< incompressible::turbulenceModel > turbulence
Turbulence model.