# from a vecor field to get a gradient of scalar

 Register Blogs Members List Search Today's Posts Mark Forums Read

 March 30, 2007, 02:37 from a vecor field to get a gradient of scalar #1 dusky.he Guest   Posts: n/a I got a problem. How can I get a scalar field so that the gradient of scalar equals a vector field, locally. thanks

 March 30, 2007, 03:26 Re: from a vecor field to get a gradient of scalar #2 Praveen. C Guest   Posts: n/a First of all, this is possible if and only if the vector field is irrotational. Assuming this is so in your case, I can suggest two ways, but there may be many details you will have to work out. If v = grad(s) then Use a line integral of the vector field. s2 - s1 = line integral of v from 1 to 2 Solve a Poisson equation for s with appropriate boundary conditions laplace(s) = div(v)

 March 30, 2007, 03:42 Re: from a vecor field to get a gradient of scalar #3 dusky.he Guest   Posts: n/a Thank you for your prompt reply. Actually, I used the second method say solving Poissonn equation. However, althogh Laplace(s)= div(v). locally, gradient(s) not equal V in some region. so they are not balanced I do not know whether it is because of the order of scheme I used to discretize.

 March 30, 2007, 09:06 Re: from a vecor field to get a gradient of scalar #4 rt Guest   Posts: n/a Hi dusky.he, >>this is possible if and only if the vector field is irrotational i am not agree the second approach proposed by Praveen is good idea but is incomplete. Based on Hodge decomposition theory any vector field, V, can be decomposed into a divergence-free component, Vd, and a curl-free component, Vc,so Vc is equal to gradient of some scalar, S. V = Vd + Vc and Vc = grad(S), div(Vd)=0, Curl(Vc)=0. so the proposed solution is work only if your vector field is divergence free. BC consistency is also essential. If your vector field is not divergence-free, i don't think that your problem has any solution or unique solution. But in certain condition you can find the best solution by solving the following least square problem: find S so, minimize 1/2 || grad(S) - V || with the aid of suitable regularization you can get sequence of minimizing solution.

 March 30, 2007, 09:08 Re: from a vecor field to get a gradient of scalar #5 Jonas Holdeman Guest   Posts: n/a Actually, there are more ways. The first might be to project out the rotational part. This is the analog of projecting out the irrotational part to get a (weakly) divergence-free field. Another way is to do a least-squares fit of a field that is really the gradient of a scalar to your given field. This is a finite element approach. Set up a rectangular grid over your problem domain. The we use Hermite scalar functions in which the gradient components are actual degrees of freedom. For example, you might use the Melosh element (see O. C. Zienkiewicz, "The Finite Element Method in Engineering Science," (1971), p179 - also in later editions but I only have the old one). This element has the scalar potential and components of the gradient as degrees-of-freedom. Or, you can use the classical bicubic element, which has an additional second cross-derivative DOF. You then construct a vector element by taking the gradient of the scalar functions/elements. Now do a least-squares fit to get the components/DOFs at the mesh points. Then use your irrotational vector elements to interpolate these. This will be pointwise irrotational. If you have data on a rectangular grid that must be fit exactly, you could fix the gradient components and do least-squares with the potential component only. However, if you force a fit this way, the resulting field may not be as smooth as you would like or expect. In three dimensions, there is a 3D analog of the Melosh element and, of course, the tri-cubic element/function.

 Thread Tools Display Modes Linear Mode

 Posting Rules You may not post new threads You may not post replies You may not post attachments You may not edit your posts BB code is On Smilies are On [IMG] code is On HTML code is OffTrackbacks are On Pingbacks are On Refbacks are On Forum Rules

 Similar Threads Thread Thread Starter Forum Replies Last Post vivek070176 OpenFOAM Programming & Development 10 December 24, 2014 00:48 ayoros OpenFOAM Post-Processing 14 January 15, 2013 11:56 adona058 OpenFOAM Running, Solving & CFD 0 September 26, 2007 15:23 james T Phoenics 0 March 28, 2007 07:12 tseo FLUENT 6 August 5, 2005 23:15

All times are GMT -4. The time now is 19:45.