PredictiveIntelligenceLab / Long-time-Integration-PI-DeepONets

47 stars 11 forks source link

How to choose the inputs and outputs of branch net and trunk net? #2

Open LearnTo168Learn opened 2 years ago

LearnTo168Learn commented 2 years ago

Hi, thank you for your nice work and code! I have a few questions about the code.

  1. In your PI_DeepONet_pendulum.ipynb,the input of branch net is u_train, the input of trunk net is y_train, and the final output is s_train, i am a little confused about how to choose the input and output. It seems that no supervised information about IC or boundary condition is needed!

u_train = random.uniform(key_u, (m,2), minval=-3, maxval=3) y_train = np.zeros((P,)) s_train = u_train

  1. you have solved forword problems with your PI-DeepOnet, then is it possible to solve inverse problem with your framework ,such as paramter identification?
sifanexisted commented 2 years ago

Hi,

Thank you for your kind works. As for your questions,

A1: Yes, in principle physics-informed DeepONet does not require any observational measurements except for the given and initial conditions. For this particular example you mentioned, u_train is the input parameter representing the initial state of the ODE system and the output is the same as u_train since we aim to fit the initial condition at y = 0. You may check our paper for more details.

A2: My answer is YES! You can use physics-informed deeponet to solve inverse problems and we already had some preliminary results.