Nowadays, if we want to simulate something, we usually have two options:
We can use commercial software which works like a black-box; we only need to understand the generic ideas like pre-processing and post-processing.
We can use open-access libraries to set up the simulation. In this way, we need to work out the math (the abstract stage) on paper, and then to employ functionalities of the libraries accordingly.
We aim to provide a third option which is featured as explained below.
The most obvious features of phyem are
Port based multi-physics representation; enable setting up LEGO-like simulation.
Equation, weak formulation, and discretization (the abstract stage) handling at a program level.
Differential forms based mathematical representation.
This means we can work with phyem from the problem setting up stage.
The skeleton of a phyem simulation is illustrated in the figure below.
Currently, to startup a simulation, we ideally need to input a
PDE, which is made of ingredients
forms are elements of
spaces which are built upon a
mesh. And the
mesh is an object over the domain,
Once we have a
PDE instance, we can follow the standard finite element process and obtain the
PDE. Then particular temporal and spacial discretization schemes can be applied to the
The fully discrete
weak formulation eventually can be reformatted into an algebraic formation, i.e., the
algebraic proxy which is ready to be sent to a particular
With in the
implementation, we can config the domain, i.e., the
manifold, to be an exact one, and config the
mesh to be a real mesh. This enables us to interpolate the
algebraic proxy as real algebraic systems which then
can be solved.
↩️ Back to Welcome.