[Paraview] Velocity field analysis - lambda2

Tim Gallagher tim.gallagher at gatech.edu
Tue Dec 8 06:45:17 EST 2015


David, 

If you are using the filter called Calculator, there is no gradient nor transpose functions in it. The only functions you can use are the ones you can click on the little buttons in the GUI (you can type them instead of clicking, but those are the only ones available). So you must use the ComputeDerivative filter before the Calculator because you won't get the gradient any other way. 

Additionally, keep in mind that velocity is a vector and so the vector gradient of velocity will be a tensor output. It will have variable names like VectorGradient_0 through VectorGradient_8 when used inside the calculator. Only the scalar components are available, it doesn't work like a matrix in the Calculator filter. 

If you want to compute the strain (what I think your S is), you should use the ComputeDerivatives filter and set the "Vectors" to your velocity vector, set the "Output Tensor Type" to "Strain" and since you are after lambda_2, you should set the "Output Vector Type" to "Vorticity". 

Once this is done, you will have cell-data fields for strain and for vorticity. You probably want to do a CellDataToPointData filter to get this back to node-centered data (which is required if you want iso-surfaces). Once that is done, in your Calculator filter, you now have access to scalars called Strain_0 through Strain_8 and Vorticity_X, Vorticity_Y and Vorticity_Z. 

Strain_0 is S_xx, Strain_1 is S_xy, Strain_2 is S_xz, Strain_3 is S_yx... through to Strain_8 = S_zz. 

With all of those individual components, your Calculator filter for Lambda_2 will just be a bunch of products and sums of those terms. 

Tim 

----- Original Message -----

From: "David Larsson" <david.larsson at sth.kth.se> 
To: "Tim Gallagher" <tim.gallagher at gatech.edu> 
Cc: paraview at paraview.org 
Sent: Tuesday, December 8, 2015 6:30:28 AM 
Subject: SV: [Paraview] Velocity field analysis - lambda2 


Hi Tim, 


thanks for your answer. Your method sound straight-forward. The only issue I have now is that I'm simply not sure how to control the Calculator of paraview. Following your steps, I want to set e.g.: 


'Result Array Name': S_squared 


and then compute using the calculator something like 


(gradient(velocity) + transpose(gradient(velocity)))^2/2 


but this gives me a calculator error ('Syntax Error: expecting a variable name'). So I assume I'm simply using the calculator the wrong way (giving input in an incorrect manor). 


Could you specify how you give input to the calculator following your outlined steps? Also, do you know the difference between the 'ComputeDerivative' and 'Gradient' is? 


Thanks again for the help, 


/David 









Från: Tim Gallagher <tim.gallagher at gatech.edu> 
Skickat: den 7 december 2015 23:16 
Till: tim gallagher 
Kopia: paraview at paraview.org; David Larsson 
Ämne: Re: [Paraview] Velocity field analysis - lambda2 


For the sake of people years later who come across this thread, there is a typo in my definition and it should be: 

lambda_2 = S_ik S_kj + \Omega_ik \Omega_kj 

Tim 

----- Original Message -----

From: "Tim Gallagher" <tim.gallagher at gatech.edu> 
To: "David Larsson" <david.larsson at sth.kth.se> 
Cc: paraview at paraview.org 
Sent: Monday, December 7, 2015 5:11:30 PM 
Subject: Re: [Paraview] Velocity field analysis - lambda2 


David, 

I haven't taken on lambda-2 yet, but I have been able to build a pipeline for Q-Criterion. It looks something like: 

Data -> CellDataToPointData (if it isn't already point data) -> ComputeDerivatives (set the gradient option to vorticity and the tensor option to strain) -> CellDataToPointData -> Calculator (compute |S|^2) -> Calculator (compute |\Omega|^2) -> Calculator (compute Q-criterion) 

Since lambda_2 = S_ik S_ij + \Omega_ik \Omega_kj, you can use the same procedure and use just the standard calculators if you want to expand the Einstein summation and plug them all. 

Once I've done this, I save the set of 3 calculators as a custom filter. When I use pvpython, I load my custom filter in the server manager and then use the CD2PD and ComputeDerivatives filters as needed. The python calculator might be a better way to do it, but I haven't tried that yet. 

Tim 

----- Original Message -----

From: "David Larsson" <david.larsson at sth.kth.se> 
To: paraview at paraview.org 
Sent: Monday, December 7, 2015 4:11:39 PM 
Subject: [Paraview] Velocity field analysis - lambda2 


Dear all, 


I'm working with velocity vector fields over multiple time steps. I would like to compute a number of entities for the velocity field - most importantly the lambda2-scalar, but being relatively new to paraview I'm not really sure how to do that. 


I can do some simple modifications using the calculator but can't really find my way to grad() or curl() etc. I guess the solution is going over to pvpython (which would also be preferred with regards to doing automated analysis). 


Does anyone have any experience with performing numerical analysis of vector velocity fields in pvpython that could give some hints on how to get started? Or does anyone even have performed lambda2-analysis on such? 


I've seen some similar questions in the mail-list from before but can't seem to find a conclusive answer, so I thought I'd give it a try myself. 


Thanks for the help. 


/David 







_______________________________________________ 
Powered by www.kitware.com 

Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html 

Please keep messages on-topic and check the ParaView Wiki at: http://paraview.org/Wiki/ParaView 

Search the list archives at: http://markmail.org/search/?q=ParaView 

Follow this link to subscribe/unsubscribe: 
http://public.kitware.com/mailman/listinfo/paraview 


_______________________________________________ 
Powered by www.kitware.com 

Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html 

Please keep messages on-topic and check the ParaView Wiki at: http://paraview.org/Wiki/ParaView 

Search the list archives at: http://markmail.org/search/?q=ParaView 

Follow this link to subscribe/unsubscribe: 
http://public.kitware.com/mailman/listinfo/paraview 


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://public.kitware.com/pipermail/paraview/attachments/20151208/5a4a5fc9/attachment.html>


More information about the ParaView mailing list