Open saidctb opened 4 years ago
The following identities should be implemented:
grad(dot(F,G)) == convect(F, G) + convect(G, F) + cross(F, curl(G)) - cross(curl(F), G)
div(cross(F,G)) == -dot(F, curl(G)) + dot(G, curl(F))
curl(cross(F,G)) == F*div(G) - G*div(F) - convect(F, G) + convect(G, F)
curl(f*F) == f*curl(F) + cross(grad(f), F)
laplace(f*g) == f*laplace(g) + g*laplace(f) + 2*dot(grad(f), grad(g))
div(f*F) == f*div(F) + dot(F, grad(f))
div(cross(grad(f), grad(g))) == 0
curl(curl(F)) == grad(div(F)) - laplace(F)
curl(f*grad(g)) == cross(grad(f), grad(g))
These used to be automatically verified because SymPDE was expanding all expressions by default. After PR #71 this is not the case anymore, so we'll need to find an explicit procedure to verify these identities.
Hast this issue been claimed already? I'm down to put some work into this issue!
The following identities should be implemented:
grad(dot(F,G)) == convect(F, G) + convect(G, F) + cross(F, curl(G)) - cross(curl(F), G)
div(cross(F,G)) == -dot(F, curl(G)) + dot(G, curl(F))
curl(cross(F,G)) == F*div(G) - G*div(F) - convect(F, G) + convect(G, F)
curl(f*F) == f*curl(F) + cross(grad(f), F)
laplace(f*g) == f*laplace(g) + g*laplace(f) + 2*dot(grad(f), grad(g))
div(cross(F,G)) == -dot(F, curl(G)) + dot(G, curl(F))
div(f*F) == f*div(F) + dot(F, grad(f))
div(cross(grad(f), grad(g))) == 0
curl(curl(F)) == grad(div(F)) - laplace(F)
curl(f*grad(g)) == cross(grad(f), grad(g))
These used to be automatically verified because SymPDE was expanding all expressions by default. After PR #71 this is not the case anymore, so we'll need to find an explicit procedure to verify these identities.