Loading...
Searching...
No Matches
ReducedSimpleSteadyNS.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-------------------------------------------------------------------------------
12License
13 This file is part of ITHACA-FV
14 ITHACA-FV is free software: you can redistribute it and/or modify
15 it under the terms of the GNU Lesser General Public License as published by
16 the Free Software Foundation, either version 3 of the License, or
17 (at your option) any later version.
18 ITHACA-FV is distributed in the hope that it will be useful,
19 but WITHOUT ANY WARRANTY; without even the implied warranty of
20 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21 GNU Lesser General Public License for more details.
22 You should have received a copy of the GNU Lesser General Public License
23 along with ITHACA-FV. If not, see <http://www.gnu.org/licenses/>.
24Class
25 reducedSteadyNS
26Description
27 A reduced problem for the stationary NS equations
28SourceFiles
29 reducedSteadyNS.C
30\*---------------------------------------------------------------------------*/
31
36
37#ifndef ReducedSimpleSteadyNS_H
38#define ReducedSimpleSteadyNS_H
39
40#include "fvCFD.H"
41#include "IOmanip.H"
42#include "ReducedProblem.H"
43#include "SteadyNSSimple.H"
44#include "ITHACAutilities.H"
45#include "EigenFunctions.H"
46#include <Eigen/Eigen>
47#include <unsupported/Eigen/NonLinearOptimization>
48#include <unsupported/Eigen/NumericalDiff>
49#include "Modes.H"
50
51
52/*---------------------------------------------------------------------------*\
53 Class reducedProblem Declaration
54\*---------------------------------------------------------------------------*/
55
57
60{
61 private:
62
63 public:
64 // Constructors
67
74
76
77 // Functions
78
91 void solveOnline_Simple(scalar mu_now, int NmodesUproj, int NmodesPproj,
92 int NmodesNut = 0,
93 int NmodesSup = 0,
94 word Folder = "./ITHACAoutput/Reconstruct/");
101 void setOnlineVelocity(Eigen::MatrixXd vel);
102
103 // Variables
104
107
110
112 Eigen::MatrixXd projGradModP;
113
115 Eigen::MatrixXd vel_now;
116
118 int maxIterOn = 1000;
119
121 int counter = 0;
122
125};
126
127// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
128
129
130
131#endif
132
133
134
135
136
Header file of the EigenFunctions class.
Header file of the ITHACAutilities namespace.
Header file of the Modes class.
Modes< vector, fvPatchField, volMesh > volVectorModes
Definition Modes.H:256
Header file of the reducedProblem class.
Header file of the steadyNS class.
Implementation of a parametrized full order steady NS problem and preparation of the the reduced ma...
reducedProblem()
Construct Null.
void solveOnline_Simple(scalar mu_now, int NmodesUproj, int NmodesPproj, int NmodesNut=0, int NmodesSup=0, word Folder="./ITHACAoutput/Reconstruct/")
Method to perform an online solve using a PPE stabilisation method.
int maxIterOn
Maximum iterations number for the online step.
SteadyNSSimple * problem
Full problem.
Eigen::MatrixXd vel_now
Imposed boundary conditions.
reducedSimpleSteadyNS()
Construct Null.
Eigen::MatrixXd projGradModP
Projected gradient of the pressure modes.
volVectorModes ULmodes
Lifted velocity modes.
void setOnlineVelocity(Eigen::MatrixXd vel)
It checks if the number of imposed boundary conditions is correct and set the inlet velocity equal to...