37#ifndef ReducedSteadyNSTurb_H
38#define ReducedSteadyNSTurb_H
47#include <unsupported/Eigen/NonLinearOptimization>
48#include <unsupported/Eigen/NumericalDiff>
54 newtonSteadyNSTurbSUP() {}
56 newtonSteadyNSTurbSUP(
int Nx,
int Ny,
59 Nphi_u(problem.NUmodes + problem.liftfield.size() + problem.NSUPmodes),
60 nphiNut(problem.nNutModes),
61 Nphi_p(problem.NPmodes),
62 N_BC(problem.inletIndex.rows()),
63 gNut(problem.nNutModes)
66 int operator()(
const Eigen::VectorXd& x, Eigen::VectorXd& fvec)
const;
67 int df(
const Eigen::VectorXd& x, Eigen::MatrixXd& fjac)
const;
78 std::vector<SPLINTER::RBFSpline*> SPLINES;
84 newtonSteadyNSTurbPPE() {}
86 newtonSteadyNSTurbPPE(
int Nx,
int Ny,
89 Nphi_u(problem.NUmodes + problem.liftfield.size()),
90 nphiNut(problem.nNutModes),
91 Nphi_p(problem.NPmodes),
92 N_BC(problem.inletIndex.rows()),
93 gNut(problem.nNutModes)
96 int operator()(
const Eigen::VectorXd& x, Eigen::VectorXd& fvec)
const;
97 int df(
const Eigen::VectorXd& x, Eigen::MatrixXd& fjac)
const;
104 Eigen::VectorXd gNut;
106 Eigen::MatrixXd tauU;
108 std::vector<SPLINTER::RBFSpline*> SPLINES;
189 fileName folder =
"./ITHACAoutput/online_rec",
Header file of the ITHACAutilities namespace.
Header file of the reducedProblem class.
Header file of the reducedSteadyNS class.
Header file of the SteadyNSTurb class.
PtrList< volScalarField > nutRecFields
Reconstructed eddy viscosity fields list.
newtonSteadyNSTurbSUP newtonObjectSUP
Newton Object to solve the nonlinear problem sup approach.
newtonSteadyNSTurbPPE newtonObjectPPE
Newton Object to solve the nonlinear problem PPE approach.
void solveOnlinePPE(Eigen::MatrixXd velNow)
Method to perform an online solve using a PPE stabilisation method.
ReducedSteadyNSTurb()
Construct Null.
int nphiNut
Number of viscosity modes.
Eigen::MatrixXd rbfCoeffMat
The matrix of the eddy viscosity RBF interoplated coefficients.
void solveOnlineSUP(Eigen::MatrixXd velNow)
Method to perform an online solve using a supremizer stabilisation method.
PtrList< volScalarField > nutFields
List of snapshots for the solution for eddy viscosity.
SteadyNSTurb * problem
Pointer to the FOM problem.
void reconstruct(bool exportFields=false, fileName folder="./ITHACAoutput/online_rec", int printevery=1)
Method to reconstruct the solutions from an online solve.
Eigen::VectorXd rbfCoeff
Vector of eddy viscosity RBF interoplated coefficients.
PtrList< volScalarField > nutModes
List of POD modes for eddy viscosity.
Eigen::MatrixXd setOnlineVelocity(Eigen::MatrixXd vel)
Sets the online velocity.
Implementation of a parametrized full order steady turbulent Navier Stokes problem and preparation ...
reducedSteadyNS()
Construct Null.
Structure to implement a newton object for a stationary NS problem.