Skip to content
Merged
Changes from all commits
Commits
Show all changes
47 commits
Select commit Hold shift + click to select a range
4fcc4fd
Change file name.
ktbolt Sep 2, 2024
10f74dc
Merge remote-tracking branch 'upstream/main'
ktbolt Sep 3, 2024
289894f
Merge remote-tracking branch 'upstream/main'
ktbolt Sep 25, 2024
3d47500
Merge remote-tracking branch 'upstream/main'
ktbolt Sep 30, 2024
014ca26
Merge remote-tracking branch 'upstream/main'
ktbolt Oct 3, 2024
a05d464
Merge remote-tracking branch 'upstream/main'
ktbolt Oct 4, 2024
4e4f3c5
Merge remote-tracking branch 'upstream/main'
ktbolt Oct 4, 2024
1a7dc17
Merge remote-tracking branch 'upstream/main'
ktbolt Oct 7, 2024
7b46b9e
Merge remote-tracking branch 'upstream/main'
ktbolt Oct 16, 2024
a1c224f
Merge remote-tracking branch 'upstream/main'
ktbolt Nov 7, 2024
9b8ee4f
Merge remote-tracking branch 'upstream/main'
ktbolt Nov 20, 2024
c145165
Merge remote-tracking branch 'upstream/main'
ktbolt Dec 10, 2024
7721941
Merge remote-tracking branch 'upstream/main'
ktbolt Dec 17, 2024
be5200f
Merge remote-tracking branch 'upstream/main'
ktbolt Dec 18, 2024
ac04c94
Merge remote-tracking branch 'upstream/main'
ktbolt Dec 18, 2024
5091344
Merge remote-tracking branch 'upstream/main'
ktbolt Dec 28, 2024
16f1cf6
Merge remote-tracking branch 'upstream/main'
ktbolt Jan 8, 2025
9cba173
Merge remote-tracking branch 'upstream/main'
ktbolt Jan 8, 2025
029f52d
Merge remote-tracking branch 'upstream/main'
ktbolt Jan 9, 2025
66cec26
Merge remote-tracking branch 'upstream/main'
ktbolt Feb 7, 2025
4db5021
Merge remote-tracking branch 'upstream/main'
ktbolt Feb 11, 2025
31f9316
Merge remote-tracking branch 'upstream/main'
ktbolt Feb 12, 2025
bcdf223
Merge remote-tracking branch 'upstream/main'
ktbolt Apr 8, 2025
79b53f0
Merge remote-tracking branch 'upstream/main'
ktbolt May 17, 2025
ce6f824
Merge remote-tracking branch 'upstream/main'
ktbolt May 17, 2025
4d690b9
Merge remote-tracking branch 'upstream/main'
ktbolt May 19, 2025
b6f3ac5
Merge remote-tracking branch 'upstream/main'
ktbolt May 19, 2025
70efdc4
Merge remote-tracking branch 'upstream/main'
ktbolt May 23, 2025
7a24eac
Merge remote-tracking branch 'upstream/main'
ktbolt May 28, 2025
352b73c
Merge remote-tracking branch 'upstream/main'
ktbolt May 28, 2025
6917706
Merge remote-tracking branch 'upstream/main'
ktbolt Jun 4, 2025
a89d94c
Merge remote-tracking branch 'upstream/main'
ktbolt Jun 5, 2025
7f1c0d3
Merge remote-tracking branch 'upstream/main'
ktbolt Jun 6, 2025
0d6a46f
Merge remote-tracking branch 'upstream/main'
ktbolt Jun 6, 2025
9ba8ead
Merge remote-tracking branch 'upstream/main'
ktbolt Jun 11, 2025
a8c4b9b
Merge remote-tracking branch 'upstream/main'
ktbolt Jun 14, 2025
e2fc1be
Merge remote-tracking branch 'upstream/main'
ktbolt Jun 25, 2025
a59cef8
Merge remote-tracking branch 'upstream/main'
ktbolt Jul 17, 2025
cc21e19
Merge remote-tracking branch 'upstream/main'
ktbolt Jul 31, 2025
0273816
Merge remote-tracking branch 'upstream/main'
ktbolt Sep 9, 2025
3508003
Merge remote-tracking branch 'upstream/main'
ktbolt Sep 9, 2025
6ea5b5c
Merge remote-tracking branch 'upstream/main'
ktbolt Sep 12, 2025
9f82cbb
Merge remote-tracking branch 'upstream/main'
ktbolt Sep 26, 2025
1cd96ab
Merge remote-tracking branch 'upstream/main'
ktbolt Sep 26, 2025
d4bf1d7
Merge remote-tracking branch 'upstream/main'
ktbolt Oct 15, 2025
c5c3a58
Add check for gmres zero norm.
ktbolt Oct 15, 2025
d45e83a
Merge branch 'main' into fix-divide-by-zero-in-gmres_423
ktbolt Oct 22, 2025
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
12 changes: 12 additions & 0 deletions Code/Source/liner_solver/gmres.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@
#include "spar_mul.h"

#include "Array3.h"
#include "DebugMsg.h"

#include <math.h>

Expand Down Expand Up @@ -126,6 +127,9 @@ void gmres(fsi_linear_solver::FSILS_lhsType& lhs, fsi_linear_solver::FSILS_subLs
#ifdef debug_gmres
dmsg << "err(1): " << err[0];
#endif
if (err[0] == 0.0) {
throw std::runtime_error("FSILS: A zero matrix norm has been computed. This is probably caused by ill-posed boundary conditions.");
}

if (l == 0) {
eps = err[0];
Expand Down Expand Up @@ -309,6 +313,10 @@ void gmres_s(fsi_linear_solver::FSILS_lhsType& lhs, fsi_linear_solver::FSILS_sub
u.set_col(0, R - u_col);

err[0] = norm::fsi_ls_norms(mynNo, lhs.commu, u.col(0));
if (err[0] == 0.0) {
throw std::runtime_error("FSILS: A zero matrix norm has been computed. This is probably caused by ill-posed boundary conditions.");
}

u_col = u.col(0) / err[0];
u.set_col(0, u_col);
#ifdef debug_gmres_s
Expand Down Expand Up @@ -487,6 +495,10 @@ void gmres_v(fsi_linear_solver::FSILS_lhsType& lhs, fsi_linear_solver::FSILS_sub
}

err[0] = norm::fsi_ls_normv(dof, mynNo, lhs.commu, u.rslice(0));
if (err[0] == 0.0) {
throw std::runtime_error("FSILS: A zero matrix norm has been computed. This is probably caused by ill-posed boundary conditions.");
}

u_slice = u.rslice(0) / err[0];
#ifdef debug_gmres_v
dmsg << "err(1): " << err[0];
Expand Down
Loading