Skip to content

Commit e5bf1b3

Browse files
start PDESystem documentation
1 parent e0bbacc commit e5bf1b3

File tree

1 file changed

+24
-1
lines changed

1 file changed

+24
-1
lines changed

docs/src/systems/PDESystem.md

Lines changed: 24 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,26 @@
11
# PDESystem
22

3-
`PDESystem` is still a work in progress.
3+
#### Note: PDESystem is still experimental and the solver ecosystem is being developed
4+
5+
`PDESystem` is the common symbolic PDE specification for the Julia ecosystem.
6+
It is currently being built as a component of the ModelingToolkit ecosystem,
7+
but it will soon be siphoned off to a PDE.jl which defines and documents the
8+
whole common PDE interface ecosystem. For now, this portion documents the `PDESystem`
9+
which is the core symbolic component of this interface.
10+
11+
## Vision
12+
13+
The vision for the common PDE interface is that a user should only have to specify
14+
their PDE once, mathematically, and have instant access to everything as simple
15+
as a finite difference method with constant grid spacing, to something as complex
16+
as a distributed multi-GPU discrete Galerkin method.
17+
18+
The key to the common PDE interface is a separation of the symbolic handling from
19+
the numerical world. All of the discretizers should not "solve" the PDE, but
20+
instead be a conversion of the mathematical specification to a numerical problem.
21+
These elementary problems, such as solving linear systems `Ax=b`, solving nonlinear
22+
systems `f(x)=0`, ODEs, etc. are all defined by DiffEqBase.jl, which then numerical
23+
solvers can all target these common forms. Thus someone who works on linear solvers
24+
doesn't necessarily need to be working on a DG or finite element library, but
25+
instead "linear solvers that are good for matrices A with properties ..." which
26+
are then accessible by every other discretization method in the common PDE interface.

0 commit comments

Comments
 (0)