37#ifndef ReducedUnsteadyNSTurbIntrusive_H
38#define ReducedUnsteadyNSTurbIntrusive_H
46#include <unsupported/Eigen/NonLinearOptimization>
47#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;
89 int operator()(
const Eigen::VectorXd& x, Eigen::VectorXd& fvec)
const;
90 int df(
const Eigen::VectorXd& x, Eigen::MatrixXd& fjac)
const;
172 fileName folder =
"./online_rec");
181 fileName folder =
"./online_rec");
Header file of the reducedSteadyNS class.
Header file of the reducedUnsteadyNS class.
Header file of the UnsteadyNSTurbIntrusive class.
void reconstructLiftAndDrag(UnsteadyNSTurbIntrusive &problem, fileName folder)
Method to compute the reduced order forces for same number of modes of velocity and pressure.
ReducedUnsteadyNSTurbIntrusive()
Construct Null.
Eigen::MatrixXd initCond
Tha matrix containing the initial conditions for the reduced variables, in case of PPE approach it mu...
PtrList< volScalarField > nutRecFields
Reconstructed eddy viscosity fields list.
~ReducedUnsteadyNSTurbIntrusive()
newtonUnsteadyNSTurbIntrusive newtonObject
Function object to call the non linear solver sup approach.
PtrList< volScalarField > nutModes
List of pointers to store the modes for the eddy viscosity.
UnsteadyNSTurbIntrusive * problem
Pointer to the FOM problem.
Eigen::MatrixXd setOnlineVelocity(Eigen::MatrixXd vel)
Sets the online velocity.
void solveOnlinePPE(Eigen::MatrixXd vel)
Method to perform an online solve using an intrusive approach with the usage of PPE.
void reconstructPPE(bool exportFields=false, fileName folder="./online_rec")
Method to reconstruct the solutions from an online solve with a PPE semi-uniform approach.
void reconstruct(bool exportFields=false, fileName folder="./online_rec")
Method to reconstruct the solutions from an online solve with a fully uniform approach.
newtonUnsteadyNSTurbIntrusivePPE newtonObjectPPE
Function object to call the non linear solver sup approach.
Implementation of a parametrized full order unsteady NS problem and preparation of the the reduced ...
virtual void solveOnline()
Virtual Method to perform and online Solve.
reducedUnsteadyNS()
Construct Null.
UnsteadyNSTurbIntrusive * problem
newtonUnsteadyNSTurbIntrusivePPE()
int df(const Eigen::VectorXd &x, Eigen::MatrixXd &fjac) const
newtonUnsteadyNSTurbIntrusivePPE(int Nx, int Ny, UnsteadyNSTurbIntrusive &problem)
int operator()(const Eigen::VectorXd &x, Eigen::VectorXd &fvec) const
int df(const Eigen::VectorXd &x, Eigen::MatrixXd &fjac) const
UnsteadyNSTurbIntrusive * problem
newtonUnsteadyNSTurbIntrusive(int Nx, int Ny, UnsteadyNSTurbIntrusive &problem)
newtonUnsteadyNSTurbIntrusive()
int operator()(const Eigen::VectorXd &x, Eigen::VectorXd &fvec) const