Adding new problems to problem.zoo (#484)
* adding problems * add tests * update doc + formatting --------- Co-authored-by: Dario Coscia <dariocos99@gmail.com>
This commit is contained in:
committed by
Nicola Demo
parent
2ae4a94e49
commit
f67467e5bd
18
tests/test_problem_zoo/test_advection.py
Normal file
18
tests/test_problem_zoo/test_advection.py
Normal file
@@ -0,0 +1,18 @@
|
||||
import pytest
|
||||
from pina.problem.zoo import AdvectionProblem
|
||||
from pina.problem import SpatialProblem, TimeDependentProblem
|
||||
|
||||
|
||||
@pytest.mark.parametrize("c", [1.5, 3])
|
||||
def test_constructor(c):
|
||||
print(f"Testing with c = {c} (type: {type(c)})")
|
||||
problem = AdvectionProblem(c=c)
|
||||
problem.discretise_domain(n=10, mode="random", domains="all")
|
||||
assert problem.are_all_domains_discretised
|
||||
assert isinstance(problem, SpatialProblem)
|
||||
assert isinstance(problem, TimeDependentProblem)
|
||||
assert hasattr(problem, "conditions")
|
||||
assert isinstance(problem.conditions, dict)
|
||||
|
||||
with pytest.raises(ValueError):
|
||||
AdvectionProblem(c="a")
|
||||
12
tests/test_problem_zoo/test_allen_cahn.py
Normal file
12
tests/test_problem_zoo/test_allen_cahn.py
Normal file
@@ -0,0 +1,12 @@
|
||||
from pina.problem.zoo import AllenCahnProblem
|
||||
from pina.problem import SpatialProblem, TimeDependentProblem
|
||||
|
||||
|
||||
def test_constructor():
|
||||
problem = AllenCahnProblem()
|
||||
problem.discretise_domain(n=10, mode="random", domains="all")
|
||||
assert problem.are_all_domains_discretised
|
||||
assert isinstance(problem, SpatialProblem)
|
||||
assert isinstance(problem, TimeDependentProblem)
|
||||
assert hasattr(problem, "conditions")
|
||||
assert isinstance(problem.conditions, dict)
|
||||
12
tests/test_problem_zoo/test_diffusion_reaction.py
Normal file
12
tests/test_problem_zoo/test_diffusion_reaction.py
Normal file
@@ -0,0 +1,12 @@
|
||||
from pina.problem.zoo import DiffusionReactionProblem
|
||||
from pina.problem import TimeDependentProblem, SpatialProblem
|
||||
|
||||
|
||||
def test_constructor():
|
||||
problem = DiffusionReactionProblem()
|
||||
problem.discretise_domain(n=10, mode="random", domains="all")
|
||||
assert problem.are_all_domains_discretised
|
||||
assert isinstance(problem, TimeDependentProblem)
|
||||
assert isinstance(problem, SpatialProblem)
|
||||
assert hasattr(problem, "conditions")
|
||||
assert isinstance(problem.conditions, dict)
|
||||
16
tests/test_problem_zoo/test_helmholtz.py
Normal file
16
tests/test_problem_zoo/test_helmholtz.py
Normal file
@@ -0,0 +1,16 @@
|
||||
import pytest
|
||||
from pina.problem.zoo import HelmholtzProblem
|
||||
from pina.problem import SpatialProblem
|
||||
|
||||
|
||||
@pytest.mark.parametrize("alpha", [1.5, 3])
|
||||
def test_constructor(alpha):
|
||||
problem = HelmholtzProblem(alpha=alpha)
|
||||
problem.discretise_domain(n=10, mode="random", domains="all")
|
||||
assert problem.are_all_domains_discretised
|
||||
assert isinstance(problem, SpatialProblem)
|
||||
assert hasattr(problem, "conditions")
|
||||
assert isinstance(problem.conditions, dict)
|
||||
|
||||
with pytest.raises(ValueError):
|
||||
HelmholtzProblem(alpha="a")
|
||||
12
tests/test_problem_zoo/test_inverse_poisson_2d_square.py
Normal file
12
tests/test_problem_zoo/test_inverse_poisson_2d_square.py
Normal file
@@ -0,0 +1,12 @@
|
||||
from pina.problem.zoo import InversePoisson2DSquareProblem
|
||||
from pina.problem import InverseProblem, SpatialProblem
|
||||
|
||||
|
||||
def test_constructor():
|
||||
problem = InversePoisson2DSquareProblem()
|
||||
problem.discretise_domain(n=10, mode="random", domains="all")
|
||||
assert problem.are_all_domains_discretised
|
||||
assert isinstance(problem, InverseProblem)
|
||||
assert isinstance(problem, SpatialProblem)
|
||||
assert hasattr(problem, "conditions")
|
||||
assert isinstance(problem.conditions, dict)
|
||||
@@ -1,5 +1,11 @@
|
||||
from pina.problem.zoo import Poisson2DSquareProblem
|
||||
from pina.problem import SpatialProblem
|
||||
|
||||
|
||||
def test_constructor():
|
||||
Poisson2DSquareProblem()
|
||||
problem = Poisson2DSquareProblem()
|
||||
problem.discretise_domain(n=10, mode="random", domains="all")
|
||||
assert problem.are_all_domains_discretised
|
||||
assert isinstance(problem, SpatialProblem)
|
||||
assert hasattr(problem, "conditions")
|
||||
assert isinstance(problem.conditions, dict)
|
||||
|
||||
Reference in New Issue
Block a user