45#ifndef ReducedUnsteadyNSTTurb_H
46#define ReducedUnsteadyNSTTurb_H
54#include <unsupported/Eigen/NonLinearOptimization>
55#include <unsupported/Eigen/NumericalDiff>
71 int operator()(
const Eigen::VectorXd& x, Eigen::VectorXd& fvec)
const;
72 int df(
const Eigen::VectorXd& x, Eigen::MatrixXd& fjac)
const;
85 std::vector<SPLINTER::RBFSpline*>
SPLINES;
100 int operator()(
const Eigen::VectorXd& x, Eigen::VectorXd& fvec)
const;
101 int df(
const Eigen::VectorXd& x, Eigen::MatrixXd& fjac)
const;
210 void reconstructSup(fileName folder =
"./ITHACAOutput/online_rec",
Header file of the reducedSteadyNS class.
Header file of the reducedUnsteadyNST class.
Header file of the unsteadyNSTTurb class.
Class where it is implemented a reduced problem for the unsteady Navier-stokes weakly coupled with t...
ReducedUnsteadyNSTTurb()
Construct Null.
void solveOnlineSup(Eigen::MatrixXd &vel_now, Eigen::MatrixXd &temp_now, int startSnap=0)
Method to perform an online solve using a supremizer stabilisation method.
double time
Scalar to store the current time.
newton_unsteadyNSTTurb_sup_t newton_object_sup_t
Functor object to call the non linear solver sup. approach for temperature field.
double dt
Scalar to store the time increment.
newton_unsteadyNSTTurb_sup newton_object_sup
Functor object to call the non linear solver sup. approach.
scalar Prt
Scalar to store the turbulent Prandtl number.
~ReducedUnsteadyNSTTurb()
PtrList< volScalarField > nutFields
List of snapshots for the solution for eddy viscosity.
PtrList< volScalarField > nuTmodes
List of POD modes for eddy viscosity.
int Nphi_nut
Number of nut field modes.
UnsteadyNSTTurb * problem
Pointer to the FOM problem.
void reconstructSup(fileName folder="./ITHACAOutput/online_rec", int printevery=1)
Method to reconstruct a solution for velocity and pressure from an online solve with a supremizer sta...
PtrList< volScalarField > nutREC
Reconstructed eddy viscosity field.
double finalTime
Scalar to store the final time if the online simulation.
void reconstructSupt(fileName folder="./ITHACAOutput/online_rec", int printevery=1)
Method to reconstruct a solution for temperature from an online solve with a supremizer stabilisation...
scalar Pr
Scalar to store the Prandtl number.
double tstart
Scalar to store the final time if the online simulation.
Implementation of a parametrized full order unsteady NST problem weakly coupled with the energy equa...
Template object created to solve non linear problems using the Eigen library.
Eigen::MatrixXd vel_now
Online inlet velocity vector.
Class where it is implemented a reduced problem for the unsteady Navier-stokes weakly coupled with t...
int operator()(const Eigen::VectorXd &x, Eigen::VectorXd &fvec) const
UnsteadyNSTTurb * problem
newton_unsteadyNSTTurb_sup_t()
int df(const Eigen::VectorXd &x, Eigen::MatrixXd &fjac) const
Eigen::MatrixXd MT_matrix
std::vector< SPLINTER::RBFSpline * > SPLINES
newton_unsteadyNSTTurb_sup_t(int Nx, int Ny, UnsteadyNSTTurb &problem)
int df(const Eigen::VectorXd &x, Eigen::MatrixXd &fjac) const
newton_unsteadyNSTTurb_sup(int Nx, int Ny, UnsteadyNSTTurb &problem)
UnsteadyNSTTurb * problem
int operator()(const Eigen::VectorXd &x, Eigen::VectorXd &fvec) const
std::vector< SPLINTER::RBFSpline * > SPLINES
newton_unsteadyNSTTurb_sup()