38#ifndef TurbDiffusionHyperreduction_H
39#define TurbDiffusionHyperreduction_H
41#include "UnsteadyNSTurb.H"
42#include "PODTemplate.H"
43#include "PODTemplateH1.H"
44#include "hyperReduction.templates.H"
47template<
typename volF,
typename T,
typename S>
71 label POD_nSnapshot = -1;
72 label POD_startTime = -1;
73 label POD_endTime = -1;
88 PtrList<S> f_spatialModesHR;
91 Eigen::MatrixXd m_temporalModesHR;
94 Eigen::MatrixXd m_temporalModesHRSimulation;
97 Eigen::MatrixXd covMatrixHR;
116 word HRSnapshotsField;
122 bool interpFieldCenteredOrNot;
140 volF*& meanU, PtrList<volF>& spatialModesU);
159 template<
typename volGradF>
Class that contains all parameters of the stochastic POD.
void computeTurbDiffusionHyperreduction()
Compute the hyperreduction by callng other methods.
PtrList< volF > f_spatialModesU
Pointer list of POD Modes of U.
label l_nSnapshotSimulation
Number of Simulation snapshot, also number of time steps.
S template_HRSnapshotsField
Snapshots field template.
autoPtr< UnsteadyNSTurb > ithacaUnsteadyNSTurb
Parameter object to evaluate interpolated functions.
Foam::Time runTime2
Dummy Foam::Time object for mesh and submesh management.
autoPtr< HyperReduction< PtrList< S > > > ithacaHyperreduction
Hyperreduction objects to choose magic points.
word snapshotsFolder
Path to snapshots, number, start and end time indices for each HR POD. If -1, set automatically by th...
label l_startTime
start time of the POD decomposition
~TurbDiffusionHyperreduction()
Class TurbDiffusionHyperreduction Destructor.
bool mgPoints_0_Neighborhoods_1
Boolean to include or not magic points' neighbourhood in the submesh 0 if only magicPoints and 1 if i...
word folder_HR
Export folder for HR operators.
label l_nSnapshot
Number of snapshot, also number of time step.
StoredParameters * m_parameters
Parameter object containing main information.
volF * f_meanU
Pointer of mean of U.
void precomputeTurbDiffusionFunctions(word &fieldToCompute)
Precompute and save non polynomial field.
void common_MeanHRInterpField()
Compute the interpolated field's mean on the magic points submesh.
T template_HRInterpField
Interpolated field template.
TurbDiffusionHyperreduction(Parameters *myParameters, bool mgPoints_0_Neighborhoods_1, T &template_HRInterpField, S &template_HRSnapshotsField, volF *&meanU, PtrList< volF > &spatialModesU)
Class TurbDiffusionHyperreduction Constructor.
void computeDefTensor(volGradF tensorMeanU)
Compute the symmetric tensor of the velocity modes on the magic points submesh.