Effacer les filtres
Effacer les filtres

How to find Jacobian of a vector field given as a dataset?

10 vues (au cours des 30 derniers jours)
Mirlan Karimov
Mirlan Karimov le 10 Juin 2020
Modifié(e) : J. Alex Lee le 12 Juin 2020
I have a dataset given in 3x 1 x m x n x l. 3x1 vector at each point of m x n x l 3D tensor holds the velocity vector [u,v,w]. How do I estimate the Jacobian matrix at each point?
  7 commentaires
Mirlan Karimov
Mirlan Karimov le 12 Juin 2020
Alex, the domain is fixed.
Yes, I found that velocity gradient as a term is quite confusing. As you noted, the gradient well suits the situations where there is deformation and we measure at each point how the point moves.
Anyway, my method works correctly as I benchmarked it with a data set generated from an analytical velocity field. I just wanted to know if there is a better way of doing this.
J. Alex Lee
J. Alex Lee le 12 Juin 2020
Modifié(e) : J. Alex Lee le 12 Juin 2020
Great, glad that you have a working method!
Just to note that I don't think "velocity gradient" is confusing at all...I think "deformation gradient" could potentially be confusing.
Back to the actual question at hand:
I think your method is as good as can be unless you want to try to compute with higher accuracy finite differences (TMW's gradient() function uses central differences; docs also state that edge gradients are approximated by one-sided differences, which are only 1st order accurate). Added effort for higher "accuracy" would probably go to waste unless your velocities were computed using similarly accurate FDs (if you method is based on FD).
If you're extracting the nodal solutions from an FEM-based code (I've seen it before on Answers), you might be better off computing the gradients within the FEM framework and exporting it, if you have control over that.

Connectez-vous pour commenter.

Réponses (0)

Tags

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by