37#ifndef ReducedUnsteadyBB_H
38#define ReducedUnsteadyBB_H
45#include <unsupported/Eigen/NonLinearOptimization>
46#include <unsupported/Eigen/NumericalDiff>
63 int operator()(
const Eigen::VectorXd& x, Eigen::VectorXd& fvec)
const;
64 int df(
const Eigen::VectorXd& x, Eigen::MatrixXd& fjac)
const;
96 int operator()(
const Eigen::VectorXd& x, Eigen::VectorXd& fvec)
const;
97 int df(
const Eigen::VectorXd& x, Eigen::MatrixXd& fjac)
const;
191 Eigen::MatrixXd& vel_now_BC,
int NParaSet = 0,
int startSnap = 0);
207 Eigen::MatrixXd& vel_now_BC,
int NParaSet = 0,
Header file of the reducedUnsteadyNS class.
Header file of the UnsteadyBB class.
Class where it is implemented a reduced problem for the unsteady Navier-stokes problem.
int Nphi_t
Number of temperature modes.
int N_BC_t
Number of parametrized boundary conditions related to temperature field.
PtrList< volScalarField > PREC
void reconstruct_sup(fileName folder="./ITHACAOutput/online_rec", int printevery=1)
Method to reconstruct a solution from an online solve with a supremizer stabilisation technique.
newton_unsteadyBB_PPE newton_object_PPE
Function object to call the non linear solver PPE approach.
scalar Pr
DimensionedScalar Pr;.
PtrList< volVectorField > LUmodes
List of pointers to store the modes for velocity including lift field modes.
Eigen::MatrixXd online_solutiont
List of Eigen matrices to store current online solution for temperature equation.
Eigen::MatrixXd solveOnline_sup(Eigen::MatrixXd &temp_now_BC, Eigen::MatrixXd &vel_now_BC, int NParaSet=0, int startSnap=0)
Method to perform an online solve using a supremizer stabilisation method.
PtrList< volScalarField > LTmodes
List of pointers to store the modes for temperature including lift field modes.
int Nphi_prgh
Number of shifted pressure modes.
PtrList< volScalarField > TREC
Reconstructed temperature field.
Eigen::MatrixXd solveOnline_PPE(Eigen::MatrixXd &temp_now_BC, Eigen::MatrixXd &vel_now_BC, int NParaSet=0, int startSnap=0)
Method to perform an online solve using a PPE stabilisation method.
newton_unsteadyBB_sup newton_object_sup
Function object to call the non linear solver sup approach.
ReducedUnsteadyBB()
Construct Null.
UnsteadyBB * problem
Pointer to the FOM problem.
Implementation of a parametrized full order unsteady Boussinesq problem and preparation of the the ...
Template object created to solve non linear problems using the Eigen library.
Class where it is implemented a reduced problem for the unsteady Navier-stokes problem.
int df(const Eigen::VectorXd &x, Eigen::MatrixXd &fjac) const
int operator()(const Eigen::VectorXd &x, Eigen::VectorXd &fvec) const
newton_unsteadyBB_PPE(int Nx, int Ny, UnsteadyBB &problem)
Newton object for the resolution of the reduced problem using a supremizer approach.
int operator()(const Eigen::VectorXd &x, Eigen::VectorXd &fvec) const
newton_unsteadyBB_sup(int Nx, int Ny, UnsteadyBB &problem)
int df(const Eigen::VectorXd &x, Eigen::MatrixXd &fjac) const