From b58bb47c9994cf83b1cb4dabff344ad1ec8e5b86 Mon Sep 17 00:00:00 2001 From: Stephane Del Pino <stephane.delpino44@gmail.com> Date: Tue, 19 Nov 2024 21:55:40 +0100 Subject: [PATCH] Fix boundary cell counter (now uses size_t) --- src/scheme/EulerKineticSolver2D.cpp | 6 +++--- src/scheme/EulerKineticSolverMoodFV.cpp | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/scheme/EulerKineticSolver2D.cpp b/src/scheme/EulerKineticSolver2D.cpp index 6cc316eb8..8f7f0af61 100644 --- a/src/scheme/EulerKineticSolver2D.cpp +++ b/src/scheme/EulerKineticSolver2D.cpp @@ -275,8 +275,7 @@ class EulerKineticSolver2D } auto node_boundary = getMeshNodeBoundary(mesh, bc_descriptor->boundaryDescriptor()); - Array<int8_t> is_boundary_cell{p_mesh->numberOfCells()}; - auto is_boundary_node = p_mesh->connectivity().isBoundaryNode(); + Array<size_t> is_boundary_cell{p_mesh->numberOfCells()}; is_boundary_cell.fill(0); @@ -290,7 +289,9 @@ class EulerKineticSolver2D is_boundary_cell[cell_id] = 1; } } + size_t nb_boundary_cells = sum(is_boundary_cell); + Array<CellId> cell_list{nb_boundary_cells}; size_t index = 0; @@ -924,7 +925,6 @@ class EulerKineticSolver2D getInflowBoundaryCells(const BoundaryConditionList& bc_list) { CellValue<bool> is_boundary_cell{p_mesh->connectivity()}; - auto is_boundary_node = p_mesh->connectivity().isBoundaryNode(); is_boundary_cell.fill(false); diff --git a/src/scheme/EulerKineticSolverMoodFV.cpp b/src/scheme/EulerKineticSolverMoodFV.cpp index a6e5cc032..240591b2c 100644 --- a/src/scheme/EulerKineticSolverMoodFV.cpp +++ b/src/scheme/EulerKineticSolverMoodFV.cpp @@ -1094,7 +1094,7 @@ class EulerKineticSolverMoodFV (lambda_vector.size() != Fn_rho_u.size() or (lambda_vector.size() != Fn_rho_u.size()))) { throw NormalError("Incompatible dimensions of lambda vector and Fn"); } - m_inv_dx_table = [=] { + m_inv_dx_table = [=, this] { CellValue<double> inv_dx_table{m_mesh.connectivity()}; parallel_for( m_mesh.numberOfCells(), -- GitLab