Rename nabla -> laplacian

This commit is contained in:
Pasquale Africa
2023-07-20 08:15:13 +00:00
committed by Nicola Demo
parent 92e0e4920b
commit 6c627c70e3
16 changed files with 62 additions and 63 deletions

View File

@@ -4,7 +4,7 @@ import pytest
from pina import LabelTensor, Condition, CartesianDomain, PINN
from pina.problem import SpatialProblem
from pina.model import FeedForward
from pina.operators import nabla
from pina.operators import laplacian
from pina.equation.equation_factory import FixedValue
@@ -37,4 +37,4 @@ def test_init_inputfunc():
with pytest.raises(TypeError):
Condition(input_points=3., equation='example')
with pytest.raises(TypeError):
Condition(input_points=example_domain, equation=example_output_pts)
Condition(input_points=example_domain, equation=example_output_pts)

View File

@@ -1,5 +1,5 @@
from pina.equation import Equation
from pina.operators import grad, nabla
from pina.operators import grad, laplacian
from pina import LabelTensor
import torch
import pytest
@@ -13,8 +13,8 @@ def eq1(input_, output_):
def eq2(input_, output_):
force_term = (torch.sin(input_.extract(['x'])*torch.pi) *
torch.sin(input_.extract(['y'])*torch.pi))
nabla_u = nabla(output_.extract(['u1']), input_)
return nabla_u - force_term
delta_u = laplacian(output_.extract(['u1']), input_)
return delta_u - force_term
def foo():
pass
@@ -40,4 +40,4 @@ def test_residual():
eq_2_res = eq_2.residual(pts, u)
assert eq_1_res.shape == torch.Size([10, 2])
assert eq_2_res.shape == torch.Size([10, 1])
assert eq_2_res.shape == torch.Size([10, 1])

View File

@@ -1,5 +1,5 @@
from pina.equation import SystemEquation
from pina.operators import grad, nabla
from pina.operators import grad, laplacian
from pina import LabelTensor
import torch
import pytest
@@ -13,8 +13,8 @@ def eq1(input_, output_):
def eq2(input_, output_):
force_term = (torch.sin(input_.extract(['x'])*torch.pi) *
torch.sin(input_.extract(['y'])*torch.pi))
nabla_u = nabla(output_.extract(['u1']), input_)
return nabla_u - force_term
delta_u = laplacian(output_.extract(['u1']), input_)
return delta_u - force_term
def foo():
pass
@@ -44,4 +44,4 @@ def test_residual():
eq_1 = SystemEquation([eq1, eq2], reduction='none')
res = eq_1.residual(pts, u)
assert res.shape == torch.Size([10, 3])
assert res.shape == torch.Size([10, 3])

View File

@@ -4,7 +4,7 @@ import pytest
from pina import LabelTensor, Condition, CartesianDomain, PINN
from pina.problem import SpatialProblem
from pina.model import FeedForward
from pina.operators import nabla
from pina.operators import laplacian
@@ -34,4 +34,4 @@ def test_is_inside_fixed_variables():
pt_3 = LabelTensor(torch.tensor([[1.0, 1.5]]), ['x', 'y'])
domain = CartesianDomain({'x': 1, 'y': [0, 1]})
for pt, exp_result in zip([pt_1, pt_2, pt_3], [False, True, False]):
assert domain.is_inside(pt, check_border=False) == exp_result
assert domain.is_inside(pt, check_border=False) == exp_result

View File

@@ -2,7 +2,7 @@ import torch
import pytest
from pina import LabelTensor
from pina.operators import grad, div, nabla
from pina.operators import grad, div, laplacian
def func_vec(x):
return x**2
@@ -41,13 +41,13 @@ def test_div_vector_output():
grad_tensor_v = div(tensor_v, inp, components=['a', 'b'], d=['x', 'mu'])
assert grad_tensor_v.shape == (inp.shape[0], 1)
def test_nabla_scalar_output():
laplace_tensor_v = nabla(tensor_s, inp, components=['a'], d=['x', 'y'])
def test_laplacian_scalar_output():
laplace_tensor_v = laplacian(tensor_s, inp, components=['a'], d=['x', 'y'])
assert laplace_tensor_v.shape == tensor_s.shape
def test_nabla_vector_output():
laplace_tensor_v = nabla(tensor_v, inp)
def test_laplacian_vector_output():
laplace_tensor_v = laplacian(tensor_v, inp)
assert laplace_tensor_v.shape == tensor_v.shape
laplace_tensor_v = nabla(tensor_v, inp, components=['a', 'b'], d=['x', 'y'])
laplace_tensor_v = laplacian(tensor_v, inp, components=['a', 'b'], d=['x', 'y'])
assert laplace_tensor_v.shape == tensor_v.extract(['a', 'b']).shape

View File

@@ -2,7 +2,7 @@ import torch
import pytest
from pina.problem import SpatialProblem
from pina.operators import nabla
from pina.operators import laplacian
from pina import LabelTensor, Condition
from pina.geometry import CartesianDomain
from pina.equation.equation import Equation
@@ -12,8 +12,8 @@ from pina.equation.equation_factory import FixedValue
def laplace_equation(input_, output_):
force_term = (torch.sin(input_.extract(['x'])*torch.pi) *
torch.sin(input_.extract(['y'])*torch.pi))
nabla_u = nabla(output_.extract(['u']), input_)
return nabla_u - force_term
delta_u = laplacian(output_.extract(['u']), input_)
return delta_u - force_term
my_laplace = Equation(laplace_equation)
in_ = LabelTensor(torch.tensor([[0., 1.]], requires_grad=True), ['x', 'y'])
@@ -100,4 +100,4 @@ def test_sampling_few_variables():
# def test_sampling_mixed_args_kwargs():
# n = 10
# with pytest.raises(ValueError):
# poisson_problem.discretise_domain(n, mode='latin', locations=['D'])
# poisson_problem.discretise_domain(n, mode='latin', locations=['D'])

View File

@@ -2,7 +2,7 @@ import torch
import pytest
from pina.problem import SpatialProblem
from pina.operators import nabla
from pina.operators import laplacian
from pina.geometry import CartesianDomain
from pina import Condition, LabelTensor, PINN
from pina.trainer import Trainer
@@ -16,8 +16,8 @@ from pina.loss import LpLoss
def laplace_equation(input_, output_):
force_term = (torch.sin(input_.extract(['x'])*torch.pi) *
torch.sin(input_.extract(['y'])*torch.pi))
nabla_u = nabla(output_.extract(['u']), input_)
return nabla_u - force_term
delta_u = laplacian(output_.extract(['u']), input_)
return delta_u - force_term
my_laplace = Equation(laplace_equation)
in_ = LabelTensor(torch.tensor([[0., 1.]]), ['x', 'y'])