Loading...
Searching...
No Matches
laplacianProblem.H
Go to the documentation of this file.
1/*---------------------------------------------------------------------------*\
2 ██╗████████╗██╗ ██╗ █████╗ ██████╗ █████╗ ███████╗██╗ ██╗
3 ██║╚══██╔══╝██║ ██║██╔══██╗██╔════╝██╔══██╗ ██╔════╝██║ ██║
4 ██║ ██║ ███████║███████║██║ ███████║█████╗█████╗ ██║ ██║
5 ██║ ██║ ██╔══██║██╔══██║██║ ██╔══██║╚════╝██╔══╝ ╚██╗ ██╔╝
6 ██║ ██║ ██║ ██║██║ ██║╚██████╗██║ ██║ ██║ ╚████╔╝
7 ╚═╝ ╚═╝ ╚═╝ ╚═╝╚═╝ ╚═╝ ╚═════╝╚═╝ ╚═╝ ╚═╝ ╚═══╝
8
9 * In real Time Highly Advanced Computational Applications for Finite Volumes
10 * Copyright (C) 2017 by the ITHACA-FV authors
11-------------------------------------------------------------------------------
12License
13 This file is part of ITHACA-FV
14 ITHACA-FV is free software: you can redistribute it and/or modify
15 it under the terms of the GNU Lesser General Public License as published by
16 the Free Software Foundation, either version 3 of the License, or
17 (at your option) any later version.
18 ITHACA-FV is distributed in the hope that it will be useful,
19 but WITHOUT ANY WARRANTY; without even the implied warranty of
20 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21 GNU Lesser General Public License for more details.
22 You should have received a copy of the GNU Lesser General Public License
23 along with ITHACA-FV. If not, see <http://www.gnu.org/licenses/>.
24Class
25 laplacianProblem
26Description
27 A general full order implementation of a laplacian problem
28SourceFiles
29 laplacianProblem.C
30\*---------------------------------------------------------------------------*/
31
36
37
38#ifndef laplacianProblem_H
39#define laplacianProblem_H
40#include "fvCFD.H"
41#include "IOmanip.H"
42#include "Time.H"
43#include "reductionProblem.H"
44#include <iostream>
45#include "ITHACAPOD.H"
46#include "ITHACAutilities.H"
47#include "Modes.H"
48
51{
52
53 public:
54 // Constructors
57 laplacianProblem(int argc, char* argv[]);
59
60 // Member Functions
62 PtrList<volScalarField> Tfield;
63
65 PtrList<volScalarField> Tonline;
66
69
71 PtrList<fvScalarMatrix> operator_list;
72
74 List<scalar> theta;
75
77 PtrList<volScalarField> nu_list;
78
80 label NTmodes;
81
82 // Reduced Matrices
84 List<Eigen::MatrixXd> A_matrices;
86 Eigen::MatrixXd source;
87
88 // Dummy variables to transform laplacianFoam into a class
90 autoPtr<volScalarField> _T;
92 autoPtr<volScalarField> _S;
94 autoPtr<volScalarField> _nu;
96 mutable autoPtr<fvMesh> _mesh;
98 autoPtr<Time> _runTime;
99
100 // Functions
101
102 //--------------------------------------------------------------------------
104 void truthSolve(List<scalar> mu_now, word folder = "./ITHACAoutput/Offline/");
105
106 //--------------------------------------------------------------------------
111 void project(label Nmodes);
112};
113
114#endif
Header file of the ITHACAPOD class.
Header file of the ITHACAutilities namespace.
Header file of the Modes class.
Class to implement a full order laplacian parametrized problem.
PtrList< volScalarField > nu_list
Nu (diffusivity)
List< scalar > theta
Theta (coefficients of the affine expansion)
PtrList< volScalarField > Tonline
List of snapshots for the solution.
PtrList< fvScalarMatrix > operator_list
List of operators.
autoPtr< volScalarField > _T
Temperature field.
autoPtr< volScalarField > _nu
Diffusivity.
List< Eigen::MatrixXd > A_matrices
A matrices.
autoPtr< fvMesh > _mesh
Mesh.
volScalarModes Tmodes
List of POD modes.
Eigen::MatrixXd source
Source vector.
autoPtr< volScalarField > _S
Source Term.
PtrList< volScalarField > Tfield
List of snapshots for the solution.
autoPtr< Time > _runTime
Time.
label NTmodes
Number of modes reduced problem.
A general class for the implementation of a full order parametrized problem.
void project()
General projection operation.
void truthSolve()
Perform a TruthSolve.
Header file of the reductionProblem class.