You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Add vector calculus operators (Laplacian, Divergence, Gradient) to supplement the Differential operator.
This would enable writing equations in generic form, with the geometry then specified later by the domains (also need to consider boundary conditions in this case). Some sample code for Poisson:
@parameters x y
@variablesu(..)
Δ =Laplacian(x,y)
# 2D PDE
eq =Δ(u(x,y)) ~-sin(pi*x)*sin(pi*y)
One possible way to implement this is to have a @rule which replaces the vector calculus operators with the appropriate Differential operators (based on the type of the domains) and then reuse the existing MOLFiniteDifference code.
For non-Cartesian geometries, this requires at least SciML/DiffEqOperators.jl#354 , and probably a bunch of other stuff (e.g. how do you implement finite differences at r=0).
The text was updated successfully, but these errors were encountered:
(Opening a separate issue from SciML/DiffEqOperators.jl#153 SciML/DiffEqOperators.jl#146 which are about the lazy operators)
Add vector calculus operators (
Laplacian
,Divergence
,Gradient
) to supplement theDifferential
operator.This would enable writing equations in generic form, with the geometry then specified later by the domains (also need to consider boundary conditions in this case). Some sample code for Poisson:
One possible way to implement this is to have a
@rule
which replaces the vector calculus operators with the appropriateDifferential
operators (based on the type of the domains) and then reuse the existingMOLFiniteDifference
code.For non-Cartesian geometries, this requires at least SciML/DiffEqOperators.jl#354 , and probably a bunch of other stuff (e.g. how do you implement finite differences at r=0).
The text was updated successfully, but these errors were encountered: