span -> CartesianDomain

This commit is contained in:
SpartaKushK
2023-07-25 16:49:17 +02:00
committed by Nicola Demo
parent 625a77c0d5
commit de0c3fca82

View File

@@ -3,8 +3,33 @@ import argparse
from torch.nn import Softplus from torch.nn import Softplus
from pina.model import FeedForward from pina.model import FeedForward
from pina import Plotter, PINN from pina import Condition, CartesianDomain, Plotter, PINN
from problems.first_order_ode import FirstOrderODE
class FirstOrderODE(SpatialProblem):
x_rng = [0, 5]
output_variables = ['y']
spatial_domain = CartesianDomain({'x': x_rng})
def ode(input_, output_):
y = output_
x = input_
return grad(y, x) + y - x
def fixed(input_, output_):
exp_value = 1.
return output_ - exp_value
def solution(self, input_):
x = input_
return x - 1.0 + 2*torch.exp(-x)
conditions = {
'bc': Condition(CartesianDomain({'x': x_rng[0]}), fixed),
'dd': Condition(CartesianDomain({'x': x_rng}), ode),
}
truth_solution = solution
if __name__ == "__main__": if __name__ == "__main__":