Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,8 @@

#ifdef GMGPOLAR_USE_MUMPS

inline void updateMatrixElement(SparseMatrixCOO<double>& matrix, int ptr, int offset, int row, int col, double val)
static inline void updateMatrixElement(SparseMatrixCOO<double>& matrix, int ptr, int offset, int row, int col,
double val)
{
matrix.row_index(ptr + offset) = row;
matrix.col_index(ptr + offset) = col;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,8 @@

#ifdef GMGPOLAR_USE_MUMPS

inline void updateMatrixElement(SparseMatrixCOO<double>& matrix, int ptr, int offset, int row, int col, double val)
static inline void updateMatrixElement(SparseMatrixCOO<double>& matrix, int ptr, int offset, int row, int col,
double val)
{
matrix.row_index(ptr + offset) = row;
matrix.col_index(ptr + offset) = col;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

#include "../../../include/common/geometry_helper.h"

inline void updateMatrixElement(SparseMatrixCSR<double>& matrix, int offset, int row, int col, double val)
static inline void updateMatrixElement(SparseMatrixCSR<double>& matrix, int offset, int row, int col, double val)
{
matrix.row_nz_index(row, offset) = col;
matrix.row_nz_entry(row, offset) += val;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
#include "../../../include/DirectSolver/DirectSolver-CSR-LU-Take/directSolverTakeCustomLU.h"

inline void updateMatrixElement(SparseMatrixCSR<double>& matrix, int offset, int row, int col, double val)
static inline void updateMatrixElement(SparseMatrixCSR<double>& matrix, int offset, int row, int col, double val)
{
matrix.row_nz_index(row, offset) = col;
matrix.row_nz_entry(row, offset) = val;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,8 @@
#include "../../../include/common/geometry_helper.h"

/* Tridiagonal matrices */
inline void updateTridiagonalElement(SymmetricTridiagonalSolver<double>& matrix, int row, int column, double value)
static inline void updateTridiagonalElement(SymmetricTridiagonalSolver<double>& matrix, int row, int column,
double value)
{
if (row == column)
matrix.main_diagonal(row) += value;
Expand All @@ -14,23 +15,23 @@ inline void updateTridiagonalElement(SymmetricTridiagonalSolver<double>& matrix,
}

/* Diagonal matrices */
inline void updateDiagonalElement(DiagonalSolver<double>& matrix, int row, int column, double value)
static inline void updateDiagonalElement(DiagonalSolver<double>& matrix, int row, int column, double value)
{
matrix.diagonal(row) += value;
}

/* Inner Boundary COO/CSR matrix */
#ifdef GMGPOLAR_USE_MUMPS
inline void updateCOOCSRMatrixElement(SparseMatrixCOO<double>& matrix, int ptr, int offset, int row, int col,
double val)
static inline void updateCOOCSRMatrixElement(SparseMatrixCOO<double>& matrix, int ptr, int offset, int row, int col,
double val)
{
matrix.row_index(ptr + offset) = row;
matrix.col_index(ptr + offset) = col;
matrix.value(ptr + offset) += val;
}
#else
inline void updateCOOCSRMatrixElement(SparseMatrixCSR<double>& matrix, int ptr, int offset, int row, int col,
double val)
static inline void updateCOOCSRMatrixElement(SparseMatrixCSR<double>& matrix, int ptr, int offset, int row, int col,
double val)
{
matrix.row_nz_index(row, offset) = col;
matrix.row_nz_entry(row, offset) += val;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,10 @@

#include "../../../include/common/geometry_helper.h"

inline void nodeApplyAscOrthoCircleGive(int i_r, int i_theta, const PolarGrid& grid, bool DirBC_Interior,
SmootherColor smoother_color, ConstVector<double>& x, ConstVector<double>& rhs,
Vector<double>& result, double arr, double att, double art, double detDF,
double coeff_beta)
static inline void nodeApplyAscOrthoCircleGive(int i_r, int i_theta, const PolarGrid& grid, bool DirBC_Interior,
SmootherColor smoother_color, ConstVector<double>& x,
ConstVector<double>& rhs, Vector<double>& result, double arr, double att,
double art, double detDF, double coeff_beta)
{
assert(i_r >= 0 && i_r <= grid.numberSmootherCircles());

Expand Down Expand Up @@ -394,10 +394,10 @@ inline void nodeApplyAscOrthoCircleGive(int i_r, int i_theta, const PolarGrid& g
}
}

inline void nodeApplyAscOrthoRadialGive(int i_r, int i_theta, const PolarGrid& grid, bool DirBC_Interior,
SmootherColor smoother_color, ConstVector<double>& x, ConstVector<double>& rhs,
Vector<double>& result, double arr, double att, double art, double detDF,
double coeff_beta)
static inline void nodeApplyAscOrthoRadialGive(int i_r, int i_theta, const PolarGrid& grid, bool DirBC_Interior,
SmootherColor smoother_color, ConstVector<double>& x,
ConstVector<double>& rhs, Vector<double>& result, double arr, double att,
double art, double detDF, double coeff_beta)
{
assert(i_r >= grid.numberSmootherCircles() - 1 && i_r < grid.nr());

Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
#include "../../../include/ExtrapolatedSmoother/ExtrapolatedSmootherTake/extrapolatedSmootherTake.h"

/* Tridiagonal matrices */
inline void updateTridiagonalElement(SymmetricTridiagonalSolver<double>& matrix, int row, int column, double value)
static inline void updateTridiagonalElement(SymmetricTridiagonalSolver<double>& matrix, int row, int column,
double value)
{
if (row == column)
matrix.main_diagonal(row) = value;
Expand All @@ -12,23 +13,23 @@ inline void updateTridiagonalElement(SymmetricTridiagonalSolver<double>& matrix,
}

/* Diagonal matrices */
inline void updateDiagonalElement(DiagonalSolver<double>& matrix, int row, int column, double value)
static inline void updateDiagonalElement(DiagonalSolver<double>& matrix, int row, int column, double value)
{
matrix.diagonal(row) = value;
}

/* Inner Boundary COO/CSR matrix */
#ifdef GMGPOLAR_USE_MUMPS
inline void updateCOOCSRMatrixElement(SparseMatrixCOO<double>& matrix, int ptr, int offset, int row, int col,
double val)
static inline void updateCOOCSRMatrixElement(SparseMatrixCOO<double>& matrix, int ptr, int offset, int row, int col,
double val)
{
matrix.row_index(ptr + offset) = row;
matrix.col_index(ptr + offset) = col;
matrix.value(ptr + offset) = val;
}
#else
inline void updateCOOCSRMatrixElement(SparseMatrixCSR<double>& matrix, int ptr, int offset, int row, int col,
double val)
static inline void updateCOOCSRMatrixElement(SparseMatrixCSR<double>& matrix, int ptr, int offset, int row, int col,
double val)
{
matrix.row_nz_index(row, offset) = col;
matrix.row_nz_entry(row, offset) = val;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,10 +1,11 @@
#include "../../../include/ExtrapolatedSmoother/ExtrapolatedSmootherTake/extrapolatedSmootherTake.h"

inline void nodeApplyAscOrthoCircleTake(int i_r, int i_theta, const PolarGrid& grid, bool DirBC_Interior,
SmootherColor smoother_color, ConstVector<double>& x, ConstVector<double>& rhs,
Vector<double>& result, ConstVector<double>& arr, ConstVector<double>& att,
ConstVector<double>& art, ConstVector<double>& detDF,
ConstVector<double>& coeff_beta)
static inline void nodeApplyAscOrthoCircleTake(int i_r, int i_theta, const PolarGrid& grid, bool DirBC_Interior,
SmootherColor smoother_color, ConstVector<double>& x,
ConstVector<double>& rhs, Vector<double>& result,
ConstVector<double>& arr, ConstVector<double>& att,
ConstVector<double>& art, ConstVector<double>& detDF,
ConstVector<double>& coeff_beta)
{
assert(i_r >= 0 && i_r <= grid.numberSmootherCircles());

Expand Down Expand Up @@ -182,11 +183,12 @@ inline void nodeApplyAscOrthoCircleTake(int i_r, int i_theta, const PolarGrid& g
}
}

inline void nodeApplyAscOrthoRadialTake(int i_r, int i_theta, const PolarGrid& grid, bool DirBC_Interior,
SmootherColor smoother_color, ConstVector<double>& x, ConstVector<double>& rhs,
Vector<double>& result, ConstVector<double>& arr,
const ConstVector<double>& att, ConstVector<double>& art,
const ConstVector<double>& detDF, ConstVector<double>& coeff_beta)
static inline void nodeApplyAscOrthoRadialTake(int i_r, int i_theta, const PolarGrid& grid, bool DirBC_Interior,
SmootherColor smoother_color, ConstVector<double>& x,
ConstVector<double>& rhs, Vector<double>& result,
ConstVector<double>& arr, const ConstVector<double>& att,
ConstVector<double>& art, const ConstVector<double>& detDF,
ConstVector<double>& coeff_beta)
{
assert(i_r >= grid.numberSmootherCircles() - 1 && i_r < grid.nr());

Expand Down
6 changes: 3 additions & 3 deletions src/Interpolation/extrapolated_prolongation.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -46,9 +46,9 @@
*
*/

inline void fineNodeExtrapolatedProlongation(int i_r, int i_theta, int i_r_coarse, int i_theta_coarse,
const PolarGrid& coarse_grid, const PolarGrid& fine_grid,
Vector<double>& fine_result, ConstVector<double>& coarse_values)
static inline void fineNodeExtrapolatedProlongation(int i_r, int i_theta, int i_r_coarse, int i_theta_coarse,
const PolarGrid& coarse_grid, const PolarGrid& fine_grid,
Vector<double>& fine_result, ConstVector<double>& coarse_values)
{
if (i_r & 1) {
if (i_theta & 1) { /* (odd, odd) -> node in center of coarse cell */
Expand Down
6 changes: 3 additions & 3 deletions src/Interpolation/extrapolated_restriction.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -21,9 +21,9 @@
* - Radial direction: check domain boundaries
*/

inline void coarseNodeExtrapolatedRestriction(int i_r_coarse, int i_theta_coarse, const PolarGrid& fine_grid,
const PolarGrid& coarse_grid, Vector<double>& coarse_result,
ConstVector<double>& fine_values)
static inline void coarseNodeExtrapolatedRestriction(int i_r_coarse, int i_theta_coarse, const PolarGrid& fine_grid,
const PolarGrid& coarse_grid, Vector<double>& coarse_result,
ConstVector<double>& fine_values)
{
int i_r = i_r_coarse * 2;
int i_theta = i_theta_coarse * 2;
Expand Down
6 changes: 3 additions & 3 deletions src/Interpolation/fmg_interpolation.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -53,9 +53,9 @@
*
*/

inline void fineNodeFMGInterpolation(int i_r, int i_theta, int i_r_coarse, int i_theta_coarse,
const PolarGrid& coarse_grid, const PolarGrid& fine_grid,
Vector<double>& fine_result, ConstVector<double>& coarse_values)
static inline void fineNodeFMGInterpolation(int i_r, int i_theta, int i_r_coarse, int i_theta_coarse,
const PolarGrid& coarse_grid, const PolarGrid& fine_grid,
Vector<double>& fine_result, ConstVector<double>& coarse_values)
{
/* Case 1: On the boundary */
if (i_r == 0 || i_r == fine_grid.nr() - 1) {
Expand Down
6 changes: 3 additions & 3 deletions src/Interpolation/injection.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@

/* Remark: This injection is not scaled. */

inline void coarseNodeInjection(int i_r_coarse, int i_theta_coarse, const PolarGrid& fine_grid,
const PolarGrid& coarse_grid, Vector<double>& coarse_result,
ConstVector<double>& fine_values)
static inline void coarseNodeInjection(int i_r_coarse, int i_theta_coarse, const PolarGrid& fine_grid,
const PolarGrid& coarse_grid, Vector<double>& coarse_result,
ConstVector<double>& fine_values)
{
int i_r = i_r_coarse * 2;
int i_theta = i_theta_coarse * 2;
Expand Down
6 changes: 3 additions & 3 deletions src/Interpolation/prolongation.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -51,9 +51,9 @@
* - k1, k2 in angular direction
*/

inline void fineNodeProlongation(int i_r, int i_theta, int i_r_coarse, int i_theta_coarse, const PolarGrid& coarse_grid,
const PolarGrid& fine_grid, Vector<double>& fine_result,
ConstVector<double>& coarse_values)
static inline void fineNodeProlongation(int i_r, int i_theta, int i_r_coarse, int i_theta_coarse,
const PolarGrid& coarse_grid, const PolarGrid& fine_grid,
Vector<double>& fine_result, ConstVector<double>& coarse_values)
{
if (i_r & 1) {
if (i_theta & 1) { /* (odd, odd) -> fine node in center of coarse cell */
Expand Down
6 changes: 3 additions & 3 deletions src/Interpolation/restriction.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -22,9 +22,9 @@
* - Radial direction: check domain boundaries (inner/outer radius)
*/

inline void coarseNodeRestriction(int i_r_coarse, int i_theta_coarse, const PolarGrid& fine_grid,
const PolarGrid& coarse_grid, Vector<double>& coarse_result,
ConstVector<double>& fine_values)
static inline void coarseNodeRestriction(int i_r_coarse, int i_theta_coarse, const PolarGrid& fine_grid,
const PolarGrid& coarse_grid, Vector<double>& coarse_result,
ConstVector<double>& fine_values)
{
int i_r = i_r_coarse * 2;
int i_theta = i_theta_coarse * 2;
Expand Down
6 changes: 3 additions & 3 deletions src/Residual/ResidualGive/applyAGive.cpp
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
#include "../../../include/Residual/ResidualGive/residualGive.h"

inline void node_apply_a_give(int i_r, int i_theta, double r, double theta, const PolarGrid& grid,
const LevelCache& level_cache, bool DirBC_Interior, Vector<double>& result,
ConstVector<double>& x)
static inline void node_apply_a_give(int i_r, int i_theta, double r, double theta, const PolarGrid& grid,
const LevelCache& level_cache, bool DirBC_Interior, Vector<double>& result,
ConstVector<double>& x)
{
/* ---------------------------------------- */
/* Compute or retrieve stencil coefficients */
Expand Down
9 changes: 5 additions & 4 deletions src/Residual/ResidualTake/applyResidualTake.cpp
Original file line number Diff line number Diff line change
@@ -1,9 +1,10 @@
#include "../../../include/Residual/ResidualTake/residualTake.h"

inline void node_apply_residual_take(int i_r, int i_theta, const PolarGrid& grid, bool DirBC_Interior,
Vector<double>& result, ConstVector<double>& rhs, ConstVector<double>& x,
ConstVector<double>& arr, ConstVector<double>& att, ConstVector<double>& art,
ConstVector<double>& detDF, ConstVector<double>& coeff_beta)
static inline void node_apply_residual_take(int i_r, int i_theta, const PolarGrid& grid, bool DirBC_Interior,
Vector<double>& result, ConstVector<double>& rhs, ConstVector<double>& x,
ConstVector<double>& arr, ConstVector<double>& att,
ConstVector<double>& art, ConstVector<double>& detDF,
ConstVector<double>& coeff_beta)
{
/* -------------------- */
/* Node in the interior */
Expand Down
10 changes: 5 additions & 5 deletions src/Smoother/SmootherGive/buildMatrix.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
#include "../../../include/common/geometry_helper.h"

/* Tridiagonal matrices */
inline void updateMatrixElement(SymmetricTridiagonalSolver<double>& matrix, int row, int column, double value)
static inline void updateMatrixElement(SymmetricTridiagonalSolver<double>& matrix, int row, int column, double value)
{
if (row == column)
matrix.main_diagonal(row) += value;
Expand All @@ -15,16 +15,16 @@ inline void updateMatrixElement(SymmetricTridiagonalSolver<double>& matrix, int

/* Inner Boundary COO/CSR matrix */
#ifdef GMGPOLAR_USE_MUMPS
inline void updateCOOCSRMatrixElement(SparseMatrixCOO<double>& matrix, int ptr, int offset, int row, int col,
double val)
static inline void updateCOOCSRMatrixElement(SparseMatrixCOO<double>& matrix, int ptr, int offset, int row, int col,
double val)
{
matrix.row_index(ptr + offset) = row;
matrix.col_index(ptr + offset) = col;
matrix.value(ptr + offset) += val;
}
#else
inline void updateCOOCSRMatrixElement(SparseMatrixCSR<double>& matrix, int ptr, int offset, int row, int col,
double val)
static inline void updateCOOCSRMatrixElement(SparseMatrixCSR<double>& matrix, int ptr, int offset, int row, int col,
double val)
{
matrix.row_nz_index(row, offset) = col;
matrix.row_nz_entry(row, offset) += val;
Expand Down
16 changes: 8 additions & 8 deletions src/Smoother/SmootherGive/smootherSolver.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,10 @@

#include "../../../include/common/geometry_helper.h"

inline void nodeApplyAscOrthoCircleGive(int i_r, int i_theta, const PolarGrid& grid, bool DirBC_Interior,
SmootherColor smoother_color, ConstVector<double>& x, ConstVector<double>& rhs,
Vector<double>& result, double arr, double att, double art, double detDF,
double coeff_beta)
static inline void nodeApplyAscOrthoCircleGive(int i_r, int i_theta, const PolarGrid& grid, bool DirBC_Interior,
SmootherColor smoother_color, ConstVector<double>& x,
ConstVector<double>& rhs, Vector<double>& result, double arr, double att,
double art, double detDF, double coeff_beta)
{
assert(i_r >= 0 && i_r <= grid.numberSmootherCircles());

Expand Down Expand Up @@ -186,10 +186,10 @@ inline void nodeApplyAscOrthoCircleGive(int i_r, int i_theta, const PolarGrid& g
}
}

inline void nodeApplyAscOrthoRadialGive(int i_r, int i_theta, const PolarGrid& grid, bool DirBC_Interior,
SmootherColor smoother_color, ConstVector<double>& x, ConstVector<double>& rhs,
Vector<double>& result, double arr, double att, double art, double detDF,
double coeff_beta)
static inline void nodeApplyAscOrthoRadialGive(int i_r, int i_theta, const PolarGrid& grid, bool DirBC_Interior,
SmootherColor smoother_color, ConstVector<double>& x,
ConstVector<double>& rhs, Vector<double>& result, double arr, double att,
double art, double detDF, double coeff_beta)
{
assert(i_r >= grid.numberSmootherCircles() - 1 && i_r < grid.nr());

Expand Down
Loading