| from torch import nn,tensor | |
| import numpy as np | |
| import seaborn as sns | |
| class PINNd_p(nn.Module): | |
| """ $d \mapsto P$ | |
| """ | |
| def __init__(self): | |
| super(PINNd_p,self).__init__() | |
| weights = tensor([60.,0.5]) | |
| self.weights = nn.Parameter(weights) | |
| def forward(self,x): | |
| c,b = self.weights | |
| x1 = (x[0]/(c*x[1]))**0.5 | |
| return x1 | |
| class PINNhd_ma(nn.Module): | |
| """ $h,d \mapsto m_a $ | |
| """ | |
| def __init__(self): | |
| super(PINNhd_ma,self).__init__() | |
| weights = tensor([0.01]) | |
| self.weights = nn.Parameter(weights) | |
| def forward(self,x): | |
| c, = self.weights | |
| x1 = c*x[0]*x[1] | |
| return x1 | |
| class PINNT_ma(nn.Module): | |
| """$ m_a, U \mapsto T$ | |
| """ | |
| def __init__(self): | |
| super(PINNT_ma,self).__init__() | |
| weights = tensor([0.01]) | |
| self.weights = nn.Parameter(weights) | |
| def forward(self,x): | |
| c, = self.weights | |
| x1 = c*x[0]*x[1]**0.5 | |
| return x1 | |