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.
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...
Base class for the implementation of a reduced problem.
Class where it is implemented a reduced problem for the steady Navier-stokes problem.
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...