NeuralPDE/PINN: System of Equations Substitution and Inequalities

After stumbling across physics-informed neural networks a couple weeks ago, and realizing julia had a framework for solving them, I realized I might have found an open-source method for solving PDEs that was powerful and easy to use.

One question I have concerns equation substitutions: are you able to specify tensor equations to solve, and then substitute in other values? I am interested in solving elasticity problems, and it would be nice if I could start from the equilibrium equation and then substitute in the constitutive relation for the material choice. Right now I am using the displacement formulation of small-strain elasticity so it is relatively simple, but I know it will get more complicated if/when I use more complicated models (finite deformation, plasticity, etc.).

Another question about systems of equations for NeuralPDE/PINN is whether or not I can include an inequality in the problem. In plasticity problems plastic deformation occurs depending on the choice of hardening law, and in contact problems surface pressures need to be positive in regions of contact. How would these be implemented in a PINN?

There are other problems I am interested in using PINNs to solve, as well as some other extensions I would like to see, some of which have been alluded to here (Comparisons between Julia (NeuralPDE.jl and DiffEqFlux.jl) and DeepXDE python package?). I am willing to help out if guidance can be provided, as I am hoping julia will be the last computer language I need to learn.


Not yet. That’s the ConstrainedEquations formulation that one of the students are implementing over the summer.

You should be able to when we have completed array symbolics expressions, which will symbolically allow GitHub - mcabbott/Tullio.jl: ⅀ expressions. Again something we’re targeting to finish by summer.