Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Expose inter-/histopolation matrices in GlobalProjector, add unit tests #347

Open
wants to merge 29 commits into
base: devel
Choose a base branch
from
Open
Changes from 1 commit
Commits
Show all changes
29 commits
Select commit Hold shift + click to select a range
ba29e90
Expose inter-/histopolation matrices in GlobalProjector, add unit tests
camillo81 Oct 12, 2023
60592c9
Set atol=1e-5 in tests
camillo81 Oct 12, 2023
47d68c6
Merge branch 'devel' into expose-inter-histopolation-matrices
camillo81 Oct 12, 2023
b59195a
Add forgotten atol, set pyccel backend for StencilMatrix
camillo81 Oct 13, 2023
803384a
Remove 3d unit tests (take too long), remove backend option (only 1d …
camillo81 Oct 13, 2023
5fd7f65
Merge branch 'devel' into expose-inter-histopolation-matrices
camillo81 Oct 26, 2023
8f7e477
Address comments
camillo81 Nov 3, 2023
c290867
Merge branch 'devel' into expose-inter-histopolation-matrices
yguclu Nov 21, 2023
489130f
Run the 2d commuting projectors tests in parallel.
camillo81 Dec 14, 2023
39af2a0
Merge branch 'devel' into expose-inter-histopolation-matrices
yguclu Aug 22, 2024
9516a40
Print pytest's detailed summary report
yguclu Aug 26, 2024
a6ce393
Update psydac/feec/tests/test_commuting_projections.py
spossann Sep 13, 2024
214079d
Fixes in `test_3d_commuting_pro_1` (#438)
max-models Sep 18, 2024
245a45e
Updated GlobalProjector so the m>1 is handled correctly
max-models Sep 19, 2024
e66f863
Fixed bug, replaced imat with hmat
max-models Sep 20, 2024
cd8e480
Fixed indexing in stencil2coo_1d_C adn stencil2coo_1d_F for shifts > …
max-models Sep 23, 2024
28e0f89
Improve and test Pyccel compiler flags (#428)
yguclu Sep 6, 2024
dd26dd5
Update calls to `numpy.reshape` to avoid deprecation warnings (#433)
FrederikSchnack Sep 18, 2024
a3df57d
Circumvent `apt-get` download error (#440)
yguclu Sep 19, 2024
188f2d2
Mention C support in near future in README (#441)
yguclu Sep 19, 2024
c617b15
Remove `is_block` property from `VectorFemSpace` (#439)
max-models Sep 25, 2024
6fc53bb
Update `stencil2coo` kernels for shifts > 1 (#442)
max-models Sep 27, 2024
2dc2297
Add `sqrt` option to `diagonal` method of stencil/block matrices (#434)
max-models Sep 27, 2024
08b003d
Merge remote-tracking branch 'origin/devel' into expose-inter-histopo…
max-models Oct 1, 2024
6783d3f
reverted stencil2coo_kernels.py to devel version
max-models Oct 1, 2024
f75a333
Updated the checks in test_commuting_projectors.py.
max-models Oct 9, 2024
549777d
Removed TODO from test_3d_commuting_pro_2
max-models Oct 16, 2024
8c2c79a
Removed TODO from test_3d_commuting_pro_3
max-models Oct 16, 2024
f5930d1
Use the devel version of continuous-integration.yml
max-models Oct 23, 2024
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
Prev Previous commit
Next Next commit
Address comments
  • Loading branch information
camillo81 committed Nov 3, 2023
commit 8f7e477d572b0f1ac1a8aa9523c6af10bb3bdd7f
35 changes: 17 additions & 18 deletions psydac/feec/tests/test_commuting_projections.py
Original file line number Diff line number Diff line change
@@ -8,7 +8,7 @@
from psydac.feec.derivatives import ScalarCurl_2D, VectorCurl_2D, Curl_3D
from psydac.feec.derivatives import Divergence_2D, Divergence_3D
from psydac.ddm.cart import DomainDecomposition
from psydac.linalg.solvers import GMRES as Inverse
from psydac.linalg.solvers import inverse

from mpi4py import MPI
import numpy as np
@@ -81,8 +81,8 @@ def test_3d_commuting_pro_1(Nel, Nq, p, bc):
# build the solver from the LinearOperator
# imat_kronecker_P0 = P0.imat_kronecker
# imat_kronecker_P1 = P1.imat_kronecker
# I0inv = Inverse(imat_kronecker_P0, verbose=True)
# I1inv = Inverse(imat_kronecker_P1, verbose=True)
# I0inv = inverse(imat_kronecker_P0, 'gmres', verbose=True)
# I1inv = inverse(imat_kronecker_P1, 'gmres', verbose=True)

# # build the rhs
# P0.func(fun1)
@@ -179,8 +179,8 @@ def test_3d_commuting_pro_2(Nel, Nq, p, bc):
# build the solver from the LinearOperator
# imat_kronecker_P1 = P1.imat_kronecker
# imat_kronecker_P2 = P2.imat_kronecker
# I1inv = Inverse(imat_kronecker_P1, verbose=True)
# I2inv = Inverse(imat_kronecker_P2, verbose=True)
# I1inv = inverse(imat_kronecker_P1, 'gmres', verbose=True)
# I2inv = inverse(imat_kronecker_P2, 'gmres', verbose=True)

# # build the rhs
# P1.func(fun1, fun2, fun3)
@@ -268,8 +268,8 @@ def test_3d_commuting_pro_3(Nel, Nq, p, bc):
# build the solver from the LinearOperator
# imat_kronecker_P2 = P2.imat_kronecker
# imat_kronecker_P3 = P3.imat_kronecker
# I2inv = Inverse(imat_kronecker_P2, verbose=True)
# I3inv = Inverse(imat_kronecker_P3, verbose=True)
# I2inv = inverse(imat_kronecker_P2, 'gmres', verbose=True)
# I3inv = inverse(imat_kronecker_P3, 'gmres', verbose=True)

# # build the rhs
# P2.func(fun1, fun2, fun3)
@@ -344,8 +344,8 @@ def test_2d_commuting_pro_1(Nel, Nq, p, bc):
# build the solver from the LinearOperator
imat_kronecker_P0 = P0.imat_kronecker
imat_kronecker_P1 = P1.imat_kronecker
I0inv = Inverse(imat_kronecker_P0, verbose=True)
I1inv = Inverse(imat_kronecker_P1, verbose=True)
I0inv = inverse(imat_kronecker_P0, 'gmres', verbose=True)
I1inv = inverse(imat_kronecker_P1, 'gmres', verbose=True)

# build the rhs
P0.func(fun1)
@@ -420,8 +420,8 @@ def test_2d_commuting_pro_2(Nel, Nq, p, bc):
# build the solver from the LinearOperator
imat_kronecker_P0 = P0.imat_kronecker
imat_kronecker_P1 = P1.imat_kronecker
I0inv = Inverse(imat_kronecker_P0, verbose=True)
I1inv = Inverse(imat_kronecker_P1, verbose=True)
I0inv = inverse(imat_kronecker_P0, 'gmres', verbose=True)
I1inv = inverse(imat_kronecker_P1, 'gmres', verbose=True)

# build the rhs
P0.func(fun1)
@@ -503,8 +503,8 @@ def test_2d_commuting_pro_3(Nel, Nq, p, bc):
# build the solver from the LinearOperator
imat_kronecker_P2 = P2.imat_kronecker
imat_kronecker_P3 = P3.imat_kronecker
I2inv = Inverse(imat_kronecker_P2, verbose=True)
I3inv = Inverse(imat_kronecker_P3, verbose=True)
I2inv = inverse(imat_kronecker_P2, 'gmres', verbose=True)
I3inv = inverse(imat_kronecker_P3, 'gmres', verbose=True)

# build the rhs
P2.func(fun1, fun2)
@@ -586,8 +586,8 @@ def test_2d_commuting_pro_4(Nel, Nq, p, bc):
# build the solver from the LinearOperator
imat_kronecker_P1 = P1.imat_kronecker
imat_kronecker_P2 = P2.imat_kronecker
I1inv = Inverse(imat_kronecker_P1, verbose=True)
I2inv = Inverse(imat_kronecker_P2, verbose=True)
I1inv = inverse(imat_kronecker_P1, 'gmres', verbose=True)
I2inv = inverse(imat_kronecker_P2, 'gmres', verbose=True)

# build the rhs
P1.func(fun1, fun2)
@@ -657,8 +657,8 @@ def test_1d_commuting_pro_1(Nel, Nq, p, bc):
# build the solver from the LinearOperator
imat_kronecker_P0 = P0.imat_kronecker
imat_kronecker_P1 = P1.imat_kronecker
I0inv = Inverse(imat_kronecker_P0, verbose=True)
I1inv = Inverse(imat_kronecker_P1, verbose=True)
I0inv = inverse(imat_kronecker_P0, 'gmres', verbose=True)
I1inv = inverse(imat_kronecker_P1, 'gmres', verbose=True)

# build the rhs
P0.func(fun1)
@@ -689,6 +689,5 @@ def test_1d_commuting_pro_1(Nel, Nq, p, bc):
test_3d_commuting_pro_1(Nel, Nq, p, bc)
test_3d_commuting_pro_2(Nel, Nq, p, bc)
test_3d_commuting_pro_3(Nel, Nq, p, bc)
test_2d_commuting_pro_4(Nel, Nq, p, bc)