We reproduced the paper Raissi, M., Perdikaris, P. and Karniadakis, G.E., 2019. Physics-informed neural networks: A deep learning framework for solving forward and inverse problems involving nonlinear partial differential equations. Journal of Computational physics, 378, pp.686-707
graph TD;
A(Understanding PINNs)-->B(Reproduce Burger's Equation using PINN);
B-->C(Parameters Sensitivity Analysis);
C-->D(Used PINNs to solve 1D wave equation)
D-->E(Used PINNs to solve 2D wave equation)
The Burgers' equation is given by:
with initial and boundary conditions:
The neural network approximation for ( u(x, t) ) is given by:
The boundary loss is defined as:
The physics loss is given by:
We used He normal initializer to initialize the weights to the input layer,
Activation function = tanh, L-BFGS-B = optimizer
No of iterations = 5000
GPU version took much less time woith same parameters
The 1D wave equation is given by:
where:
- ( u(x, t) ) is the displacement at position ( x ) and time ( t ),
- ( c ) is the speed of the wave.
The initial and boundary conditions can be specified as:
Initial conditions:
Boundary conditions:
where ( f(x) ) is the initial displacement and ( g(x) ) is the initial velocity.
The Neumann boundary condition specifies the derivative of the function at the boundary rather than the function value itself. For the 1D wave equation:
The Neumann boundary conditions are given by:
where:
- ( \frac{\partial u}{\partial x} ) is the spatial derivative of ( u ) at the boundaries ( x = 0 ) and ( x = L ),
- ( L ) is the length of the domain.
The initial condition can be specified as:
where ( f(x) ) is the initial displacement, and ( g(x) ) is the initial velocity.
The 2D wave equation is given by:
where:
- ( u(x, y, t) ) is the displacement at position ( (x, y) ) and time ( t ),
- ( c ) is the speed of the wave.
The initial and boundary conditions can be specified as:
Initial conditions:
Boundary conditions:
where ( f(x, y) ) is the initial displacement and ( g(x, y) ) is the initial velocity.