SPM_Regularization_Type
regularization type if all boundaries are Neumann-type
The PDEs solved in
MESHFREE for the pressure are of the form \( \Delta p = f\) with the boundary
conditions \( p=A\) (Dirichlet) or \( \frac{\partial p}{\partial n} = B\) (Neumann).
If, for the whole domain, only Neumann-conditions are given, the arising linear sparse system is singular
and has to be regularized.
Default:
SPM_Regularization_Type = 2
Type 1: Instead of solving \( {\bf A } \cdot {\bf x} = {\bf b}\), we solve the perturbed system
\begin{align}
\left( {\bf A } + \epsilon {\bf I} \right) \cdot {\bf x} = {\bf b}
\end{align}
where \( {\bf I}\) is the identity matrix
Type 2: (all linear solvers but SAMG): Instead of solving \( {\bf A } \cdot {\bf x} = {\bf b}\),
we solve the perturbed system
\begin{align}
\left( {\bf A } + \epsilon {\bf J} \right) \cdot {\bf x} = {\bf b}
\end{align}
where \( {\bf J}\) is a matrix that contains 1 in all entries. This amounts to weakly requiring
that the sum of the result vector entries is zero, i.e. \( \sum {\bf x}_i = 0\)
Type 2: (in the case
LINEQN_solver_ScalarSystems is set to SAMG): SAMG aims to solve \( {\bf A } \cdot {\bf x} = {\bf b}\),
subject to the condition
\begin{align}
{\bf x} \cdot {\bf 1} = 0
\end{align}
where \( {\bf 1}\) is a vector that contains 1 in all entries.
This may not work in case of an incompatible right hand side, set
SPM_Regularization_Type = 1 then.
Esilon can be adjusted in
SPM_Regularization_Epsilon.