37#ifndef ReducedSteadyNSTurbIntrusive_H
38#define ReducedSteadyNSTurbIntrusive_H
47#include <unsupported/Eigen/NonLinearOptimization>
48#include <unsupported/Eigen/NumericalDiff>
62 int operator()(
const Eigen::VectorXd& x, Eigen::VectorXd& fvec)
const;
63 int df(
const Eigen::VectorXd& x, Eigen::MatrixXd& fjac)
const;
134 void reconstruct(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 SteadyNSTurbIntrusive class.
Class where it is implemented a reduced problem for the steady turbulent Navier-stokes problem.
int nphiNut
Number of viscosity modes.
PtrList< volScalarField > nutRec
Reconstructed eddy viscosity field.
void reconstructLiftAndDrag(SteadyNSTurbIntrusive &problem, fileName folder)
Method to compute the reduced order forces for same number of modes of velocity and pressure.
ReducedSteadyNSTurbIntrusive()
Construct Null.
Eigen::MatrixXd setOnlineVelocity(Eigen::MatrixXd vel)
Sets the online velocity.
newtonSteadyNSTurbIntrusive newtonObject
Newton Object to solve the nonlinear problem.
PtrList< volScalarField > nutModes
List of POD modes for eddy viscosity.
SteadyNSTurbIntrusive * problem
Pointer to the FOM problem.
void reconstruct(fileName folder="./ITHACAOutput/online_rec", int printEvery=1)
Method to reconstruct the solutions from an online solve with a supremizer stabilisation technique.
PtrList< volScalarField > nutFields
List of snapshots for the solution for eddy viscosity.
~ReducedSteadyNSTurbIntrusive()
Implementation of a parametrized full order steady turbulent Navier Stokes problem and preparation ...
Template object created to solve non linear problems using the Eigen library.
virtual void solveOnline()
Virtual Method to perform and online Solve.
Class where it is implemented a reduced problem for the steady Navier-stokes problem.
Structure to implement a newton object for a stationary NS problem.
newtonSteadyNSTurbIntrusive()
newtonSteadyNSTurbIntrusive(int Nx, int Ny, SteadyNSTurbIntrusive &problem)
SteadyNSTurbIntrusive * problem
int operator()(const Eigen::VectorXd &x, Eigen::VectorXd &fvec) const
int df(const Eigen::VectorXd &x, Eigen::MatrixXd &fjac) const