Update Condition notation & domains import in tutorials
This commit is contained in:
23
tutorials/tutorial2/tutorial.ipynb
vendored
23
tutorials/tutorial2/tutorial.ipynb
vendored
@@ -39,7 +39,7 @@
|
||||
"from pina.solvers import PINN\n",
|
||||
"from pina.trainer import Trainer\n",
|
||||
"from pina.plotter import Plotter\n",
|
||||
"from pina.geometry import CartesianDomain\n",
|
||||
"from pina.domain import CartesianDomain\n",
|
||||
"from pina.equation import Equation, FixedValue\n",
|
||||
"from pina import Condition, LabelTensor\n",
|
||||
"from pina.callbacks import MetricTracker"
|
||||
@@ -90,11 +90,11 @@
|
||||
"\n",
|
||||
" # here we write the problem conditions\n",
|
||||
" conditions = {\n",
|
||||
" 'gamma1': Condition(location=CartesianDomain({'x': [0, 1], 'y': 1}), equation=FixedValue(0.)),\n",
|
||||
" 'gamma2': Condition(location=CartesianDomain({'x': [0, 1], 'y': 0}), equation=FixedValue(0.)),\n",
|
||||
" 'gamma3': Condition(location=CartesianDomain({'x': 1, 'y': [0, 1]}), equation=FixedValue(0.)),\n",
|
||||
" 'gamma4': Condition(location=CartesianDomain({'x': 0, 'y': [0, 1]}), equation=FixedValue(0.)),\n",
|
||||
" 'D': Condition(location=CartesianDomain({'x': [0, 1], 'y': [0, 1]}), equation=Equation(laplace_equation)),\n",
|
||||
" 'bound_cond1': Condition(domain=CartesianDomain({'x': [0, 1], 'y': 1}), equation=FixedValue(0.)),\n",
|
||||
" 'bound_cond2': Condition(domain=CartesianDomain({'x': [0, 1], 'y': 0}), equation=FixedValue(0.)),\n",
|
||||
" 'bound_cond3': Condition(domain=CartesianDomain({'x': 1, 'y': [0, 1]}), equation=FixedValue(0.)),\n",
|
||||
" 'bound_cond4': Condition(domain=CartesianDomain({'x': 0, 'y': [0, 1]}), equation=FixedValue(0.)),\n",
|
||||
" 'phys_cond': Condition(domain=CartesianDomain({'x': [0, 1], 'y': [0, 1]}), equation=Equation(laplace_equation)),\n",
|
||||
" }\n",
|
||||
"\n",
|
||||
" def poisson_sol(self, pts):\n",
|
||||
@@ -108,8 +108,8 @@
|
||||
"problem = Poisson()\n",
|
||||
"\n",
|
||||
"# let's discretise the domain\n",
|
||||
"problem.discretise_domain(25, 'grid', locations=['D'])\n",
|
||||
"problem.discretise_domain(25, 'grid', locations=['gamma1', 'gamma2', 'gamma3', 'gamma4'])"
|
||||
"problem.discretise_domain(25, 'grid', domains=['phys_cond'])\n",
|
||||
"problem.discretise_domain(25, 'grid', domains=['bound_cond1', 'bound_cond2', 'bound_cond3', 'bound_cond4'])"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -585,11 +585,8 @@
|
||||
}
|
||||
],
|
||||
"metadata": {
|
||||
"interpreter": {
|
||||
"hash": "56be7540488f3dc66429ddf54a0fa9de50124d45fcfccfaf04c4c3886d735a3a"
|
||||
},
|
||||
"kernelspec": {
|
||||
"display_name": "Python 3 (ipykernel)",
|
||||
"display_name": "Python 3",
|
||||
"language": "python",
|
||||
"name": "python3"
|
||||
},
|
||||
@@ -603,7 +600,7 @@
|
||||
"name": "python",
|
||||
"nbconvert_exporter": "python",
|
||||
"pygments_lexer": "ipython3",
|
||||
"version": "3.9.16"
|
||||
"version": "3.12.3"
|
||||
}
|
||||
},
|
||||
"nbformat": 4,
|
||||
|
||||
14
tutorials/tutorial2/tutorial.py
vendored
14
tutorials/tutorial2/tutorial.py
vendored
@@ -65,11 +65,11 @@ class Poisson(SpatialProblem):
|
||||
|
||||
# here we write the problem conditions
|
||||
conditions = {
|
||||
'gamma1': Condition(location=CartesianDomain({'x': [0, 1], 'y': 1}), equation=FixedValue(0.)),
|
||||
'gamma2': Condition(location=CartesianDomain({'x': [0, 1], 'y': 0}), equation=FixedValue(0.)),
|
||||
'gamma3': Condition(location=CartesianDomain({'x': 1, 'y': [0, 1]}), equation=FixedValue(0.)),
|
||||
'gamma4': Condition(location=CartesianDomain({'x': 0, 'y': [0, 1]}), equation=FixedValue(0.)),
|
||||
'D': Condition(location=CartesianDomain({'x': [0, 1], 'y': [0, 1]}), equation=Equation(laplace_equation)),
|
||||
'bound_cond1': Condition(domain=CartesianDomain({'x': [0, 1], 'y': 1}), equation=FixedValue(0.)),
|
||||
'bound_cond2': Condition(domain=CartesianDomain({'x': [0, 1], 'y': 0}), equation=FixedValue(0.)),
|
||||
'bound_cond3': Condition(domain=CartesianDomain({'x': 1, 'y': [0, 1]}), equation=FixedValue(0.)),
|
||||
'bound_cond4': Condition(domain=CartesianDomain({'x': 0, 'y': [0, 1]}), equation=FixedValue(0.)),
|
||||
'phys_cond': Condition(domain=CartesianDomain({'x': [0, 1], 'y': [0, 1]}), equation=Equation(laplace_equation)),
|
||||
}
|
||||
|
||||
def poisson_sol(self, pts):
|
||||
@@ -83,8 +83,8 @@ class Poisson(SpatialProblem):
|
||||
problem = Poisson()
|
||||
|
||||
# let's discretise the domain
|
||||
problem.discretise_domain(25, 'grid', locations=['D'])
|
||||
problem.discretise_domain(25, 'grid', locations=['gamma1', 'gamma2', 'gamma3', 'gamma4'])
|
||||
problem.discretise_domain(25, 'grid', locations=['phys_cond'])
|
||||
problem.discretise_domain(25, 'grid', locations=['bound_cond1', 'bound_cond2', 'bound_cond3', 'bound_cond4'])
|
||||
|
||||
|
||||
# ## Solving the problem with standard PINNs
|
||||
|
||||
Reference in New Issue
Block a user