2Info <<
"*********************************************************" << endl;
3Info <<
"Performing test for the parameterized BC inverse solver" << endl;
5word outputFolder =
"./ITHACAoutput/parameterizedBCtest/";
6volScalarField gTrueField = example_paramBC.list2Field(example_paramBC.gTrue);
10List<word> linSys_solvers;
11linSys_solvers.resize(1);
12linSys_solvers[0] =
"fullPivLU";
13Eigen::VectorXd residualNorms;
14residualNorms.resize(linSys_solvers.size());
15auto tO1 = std::chrono::high_resolution_clock::now();
16example_paramBC.set_gParametrized(
"rbf", rbfShapePar);
17example_paramBC.parameterizedBCoffline();
18auto tO2 = std::chrono::high_resolution_clock::now();
19auto duration = std::chrono::duration_cast<std::chrono::microseconds>
20 ( tO2 - tO1 ).count() / 1e6;
21std::cout <<
"Duration offline part = " << duration <<
" seconds" << std::endl;
22forAll(linSys_solvers, solverI)
24 Info <<
"Solver " << linSys_solvers[solverI] << endl;
26 auto t1 = std::chrono::high_resolution_clock::now();
27 example_paramBC.parameterizedBC(linSys_solvers[solverI], 6);
28 auto t2 = std::chrono::high_resolution_clock::now();
29 auto duration = std::chrono::duration_cast<std::chrono::microseconds>
30 ( t2 - t1 ).count() / 1e6;
31 std::cout <<
"Duration online part = " << duration <<
" seconds" << std::endl;
32 volScalarField gParametrizedField = example_paramBC.list2Field(
35 std::to_string(solverI + 1),
38 volScalarField& T(example_paramBC._T());
40 std::to_string(solverI + 1),
43 residualNorms(solverI) = Foam::sqrt(
44 example_paramBC.residual.squaredNorm());
47Eigen::MatrixXd A = example_paramBC.Theta.transpose() * example_paramBC.Theta;
50example_paramBC.postProcess(outputFolder,
"gParametrized");
51Info <<
"*********************************************************" << endl;
void exportSolution(GeometricField< Type, PatchField, GeoMesh > &s, fileName subfolder, fileName folder, word fieldName)
Export a field to file in a certain folder and subfolder.
void exportMatrix(Eigen::Matrix< T, -1, dim > &matrix, word Name, word type, word folder)
Export the reduced matrices in numpy (type=python), matlab (type=matlab) and txt (type=eigen) format ...