From 517cee458caf0870dc1f51d2c7fba087fac3ecf0 Mon Sep 17 00:00:00 2001 From: Paul Dechamps <paulzer@Pauls-MacBook-Pro.local> Date: Tue, 19 Apr 2022 12:01:41 +0200 Subject: [PATCH] Changed eigen matrix initialization --- dart/src/wTimeSolver.cpp | 15 ++++++++------- dart/src/wViscFluxes.cpp | 6 +++--- dart/src/wViscFluxes.h | 6 +++--- 3 files changed, 14 insertions(+), 13 deletions(-) diff --git a/dart/src/wTimeSolver.cpp b/dart/src/wTimeSolver.cpp index ac2f4cd..fcd3078 100644 --- a/dart/src/wTimeSolver.cpp +++ b/dart/src/wTimeSolver.cpp @@ -82,17 +82,18 @@ int TimeSolver::Integration(size_t iPoint, BLRegion *bl) double CFL = CFL0; unsigned int itFrozenJac = itFrozenJac0; double timeStep = SetTimeStep(CFL, dx, bl->invBnd->GetVt(iPoint)); - Matrix<double, 5, 5> IMatrix; - IMatrix = Matrix<double, 5, 5>::Identity() / timeStep; + //MatrixXd IMatrix(5,5); + MatrixXd IMatrix(5,5); + IMatrix = MatrixXd::Identity(5,5) / timeStep; /* Initial system residuals */ - Vector<double, 5> SysRes = SysMatrix->ComputeFluxes(iPoint, bl); + VectorXd SysRes = SysMatrix->ComputeFluxes(iPoint, bl); double normSysRes0 = SysRes.norm(); double normSysRes = normSysRes0; - Matrix<double, 5, 5> JacMatrix; - Vector<double, 5> slnIncr; + MatrixXd JacMatrix(5,5); + VectorXd slnIncr(5); nErrors = 0; // Number of errors encountered unsigned int innerIters = 0; // Inner (non-linear) iterations @@ -127,7 +128,7 @@ int TimeSolver::Integration(size_t iPoint, BLRegion *bl) SysRes = SysMatrix->ComputeFluxes(iPoint, bl); CFL = 1.0; timeStep = SetTimeStep(CFL, dx, bl->invBnd->GetVt(iPoint)); - IMatrix = Matrix<double, 5, 5>::Identity() / timeStep; + IMatrix = MatrixXd::Identity(5,5) / timeStep; normSysRes = (SysRes + slnIncr / timeStep).norm(); itFrozenJac = 1; std::cout << "normSysRes is nan " << std::endl; @@ -143,7 +144,7 @@ int TimeSolver::Integration(size_t iPoint, BLRegion *bl) CFL = std::max(CFL0 * pow(normSysRes0 / normSysRes, 0.7), 0.1); timeStep = SetTimeStep(CFL, dx, bl->invBnd->GetVt(iPoint)); - IMatrix = Matrix<double, 5, 5>::Identity() / timeStep; + IMatrix = MatrixXd::Identity(5,5) / timeStep; innerIters++; } // End while (innerIters < maxIt) diff --git a/dart/src/wViscFluxes.cpp b/dart/src/wViscFluxes.cpp index 5d0e0a1..8626978 100644 --- a/dart/src/wViscFluxes.cpp +++ b/dart/src/wViscFluxes.cpp @@ -23,7 +23,7 @@ ViscFluxes::~ViscFluxes() std::cout << "~ViscFluxes()\n"; } // end ~ViscFluxes -Vector<double, 5> ViscFluxes::ComputeFluxes(size_t iPoint, BLRegion *bl) +VectorXd ViscFluxes::ComputeFluxes(size_t iPoint, BLRegion *bl) { unsigned int nVar = bl->GetnVar(); std::vector<double> u(nVar, 0.); @@ -34,7 +34,7 @@ Vector<double, 5> ViscFluxes::ComputeFluxes(size_t iPoint, BLRegion *bl) return BLlaws(iPoint, bl, u); } -Matrix<double, 5, 5> ViscFluxes::ComputeJacobian(size_t iPoint, BLRegion *bl, Vector<double, 5> &sysRes, double eps) +MatrixXd ViscFluxes::ComputeJacobian(size_t iPoint, BLRegion *bl, VectorXd &sysRes, double eps) { unsigned int nVar = bl->GetnVar(); @@ -58,7 +58,7 @@ Matrix<double, 5, 5> ViscFluxes::ComputeJacobian(size_t iPoint, BLRegion *bl, Ve return JacMatrix; } -Vector<double, 5> ViscFluxes::BLlaws(size_t iPoint, BLRegion *bl, std::vector<double> u) +VectorXd ViscFluxes::BLlaws(size_t iPoint, BLRegion *bl, std::vector<double> u) { unsigned int nVar = bl->GetnVar(); diff --git a/dart/src/wViscFluxes.h b/dart/src/wViscFluxes.h index 1c9867f..e6881f7 100644 --- a/dart/src/wViscFluxes.h +++ b/dart/src/wViscFluxes.h @@ -18,11 +18,11 @@ private: public: ViscFluxes(double _Re); ~ViscFluxes(); - Eigen::Vector<double, 5> ComputeFluxes(size_t iPoint, BLRegion *bl); - Eigen::Matrix<double, 5, 5> ComputeJacobian(size_t iPoint, BLRegion *bl, Eigen::Vector<double, 5> &sysRes, double eps); + Eigen::VectorXd ComputeFluxes(size_t iPoint, BLRegion *bl); + Eigen::MatrixXd ComputeJacobian(size_t iPoint, BLRegion *bl, Eigen::VectorXd &sysRes, double eps); private: - Eigen::Vector<double, 5> BLlaws(size_t iPoint, BLRegion *bl, std::vector<double> u); + Eigen::VectorXd BLlaws(size_t iPoint, BLRegion *bl, std::vector<double> u); double AmplificationRoutine(double hk, double ret, double theta) const; }; } // namespace dart -- GitLab