Skip to content

Commit

Permalink
up cfpdes
Browse files Browse the repository at this point in the history
  • Loading branch information
prudhomm committed Jun 2, 2022
1 parent b3010f2 commit b1761da
Showing 1 changed file with 39 additions and 15 deletions.
54 changes: 39 additions & 15 deletions feelpp-cfpdes.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -2,30 +2,54 @@
[.columns]
== Generic Toolbox :: Coefficient Form PDEs

[%notitle]
[.columns]
=== Coefficient Form PDEs

Many (mono/multi)physics problem can be written into a system of generic PDE, parametrized by some coefficients :

[.column.x-small]
[.column.x-small.left.decentlightbg]
--
Find stem:[u_i,i=1...,N] such that
[latexmath]
[latexmath.xx-small]
++++
d_i \frac{\partial u_i}{\partial t} + \nabla_i \cdot \left( -c \nabla u_i - \alpha u_i + \gamma_i \right) + \beta_i \cdot \nabla u_i + a u_i = f \quad \text{ in } \Omega
\begin{aligned}
d_i \frac{\partial u_i}{\partial t} + \nabla \cdot \left( -c_i \nabla u_i - \alpha u_i + \gamma_i \right)& \\
+ \beta_i \cdot \nabla u_i + a u_i &= f \quad \text{ in } \Omega
\end{aligned}
++++

* Coefficients can depend on the unknowns stem:[u_j,j=1 \ldots N].
* Automatic differentiation built on top of {feelpp} expression handling
* Various schemes based on Newton or Picard
//* Space-time adaptation(coming soon in `develop` branch)
video::P-jOk82f8Ps[youtube, options="autoplay,loop,modest",height=300]
--
[.column]
[.column.small.is-two-thirds]
--
* latexmath:[$d_i$] : damping or mass coefficient
* latexmath:[$c_i$] : diffusion coefficient
* latexmath:[$\alpha_i$] : conservative flux convection coefficient
* latexmath:[$\gamma_i$] : conservative flux source term

* latexmath:[$\beta_i$] : convection coefficient
* latexmath:[$a_i$] : absorption or reaction coefficient
* latexmath:[$f_i$] : source term
.Predator-Prey coupled model link:https://github.com/feelpp/feelpp/tree/develop/toolboxes/coefficientformpdes/cases/predator-prey[[Github]]
[source,json]
----
"Models": {
"cfpdes":{ "equations":["equation1","equation2"] },
"equation1":{
"setup":{
"unknown":{"basis":"Pch1","name":"prey","symbol":"u"},
"coefficients":{
"c":"1", // diffusion
"a":"-( (1-equation1_u) - equation2_v/(equation1_u+thealpha) ):thealpha:equation1_u:equation2_v", // life and death
"d":"1" // time derivative
} } },
"equation2":{
"setup":{
"unknown":{ "basis":"Pch1", "name":"predator", "symbol":"v" },
"coefficients":{
"c":"thedelta:thedelta", // diffusion
"a":"-( (thebeta*equation1_u)/(equation1_u+thealpha) - thegamma ):thebeta:thealpha:thegamma:equation1_u", // life and death
"d":"1"// time derivative
} } } }
...
----

The coefficients can depend on the unknowns stem:[u_j,j=1 \ldots N].

--

Expand Down

0 comments on commit b1761da

Please sign in to comment.