AlgebraicJulia / AlgebraicJulia/DiagrammaticEquations.jl

Multi-species Klausmeier

Aperta
#63 1 commento 0 reazioni 0 assegnatari Vedi su GitHub
Lingua principale
Julia
Stelle
20
Fork
4
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Descrizione

I worked this out for the Roe PR #62 as an example, but I think it is a nice example for the Klausmeier docs page:

```julia
# See Klausmeier Equation 2.a
Hydrodynamics = @decapode begin
(w, consumption)::DualForm0
dX::Form1
(a,ν)::Constant
∂ₜ(w) == a - w - consumption + ν * L(dX, w)
end

# See Klausmeier Equation 2.b
Phytodynamics = @decapode begin
(n,w)::DualForm0
m::Constant
consumption = w * n^2
∂ₜ(n) == consumption - m*n + Δ(n)
end

Superposition = @decapde begin
total = part1 + part2
end

compose_klausmeier = @relation () begin
phyto(N1, W, consumption1)
phyto(N2, W, consumption2)
superposition(consumption, consumption1, consumption2)
hydro(consumption, W)
end

klausmeier_cospan = oapply(compose_klausmeier,
[Open(Phytodynamics, [:consumption, :w]), Open(Phytodynamics, [:consumption, :w])
Open(Hydrodynamics, [:total, :part1, :part2]),
Open(Hydrodynamics, [:consumption, :w])])
Klausmeier = apex(klausmeier_cospan)
```

Guida per i contributori

Nessuna guida per i contributori indicizzata per questo repository

Valutazione

Questa issue non è ancora stata valutata.

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.