Hi Andy,

ok - try to do the job with a programmable filter:


importnumpyasnp

fromnumpyimportlinalg asLA

fromparaview.numpy_supportimportvtk_to_numpy

input0 =inputs[0]

# Test NumPy

w, v =LA.eig(np.diag((1, 2, 3)))

printw

printv

npArr =vtk_to_numpy(input0.PointData["val"])




The test with the eig-function works fine. However - i have to convert the val-Tensor from VTK to NumPy to work with NumPy. I use therefore the vtk_to_numpy function - but it gives



Traceback (most recent call last):

File "<string>", line 22, in <module>

File "<string>", line 19, in RequestData

File "/opt/PARAVIEW_5_4_0_OpenGL2/ParaView-v5.4.0.bin/lib/site-packages/paraview/numpy_support.py", line 213, in vtk_to_numpy

typ = vtk_array.GetDataType()

AttributeError: 'VTKCompositeDataArray' object has no attribute 'GetDataType'

[ 1. 2. 3.]

[[ 1. 0. 0.]

[ 0. 1. 0.]

[ 0. 0. 1.]]


What did i wrong?

      Stefan


Hi,

The best way to do this would be in a programmable filter. I'm guessing numpy has some method to compute eigenvalues for non-symmetric matrices. Beyond that adding the capability to the Python calculator or some other filter would be needed.



On Tue, Jun 13, 2017 at 3:35 AM, Stefan Melber <stefan.mel...@dlr.de <mailto:stefan.mel...@dlr.de>> wrote:

    Hi Andy,

    i think i found the reason: i need the computation of
    (unsymmetrical) eigenvalues for lambda2 - however it seems that
    the function "eingenvalue" calculates only symmetric ones (see
    
https://www.paraview.org/ParaView/Doc/Nightly/www/py-doc/paraview.vtk.numpy_interface.algorithms.html
    
<https://www.paraview.org/ParaView/Doc/Nightly/www/py-doc/paraview.vtk.numpy_interface.algorithms.html>).
    How can i calculate the unsymmetric ones with ParaView?

    Best regards,

         Stefan


    Hi,

    Maybe compute each portion manually and check that against the
    correct values. Also, verifying the gradient calculation is
    correct is another thing to look at. If the grid isn't specified
    properly then the gradient operation will likely be wrong.

    On Fri, Jun 9, 2017 at 8:46 AM, Stefan Melber
    <stefan.mel...@dlr.de <mailto:stefan.mel...@dlr.de>> wrote:

        Hi,


        for vortex-detection i (tried) to calculate the
        lambda2-criterion (see e.g.
        https://en.wikipedia.org/wiki/Lambda2_method
        <https://en.wikipedia.org/wiki/Lambda2_method>) with
        ParaView. The way of calculation is based on this link
        
http://www.iesensor.com/blog/2016/01/24/using-paraview-to-visualise-vorticity-lambda2-vorticity-q-criterion/
        
<http://www.iesensor.com/blog/2016/01/24/using-paraview-to-visualise-vorticity-lambda2-vorticity-q-criterion/>.

        However - the results are a kind of "wrong" - see attached
        pictures: l2_solver.png shows what the flow solver writes out
        for lambda2, l2_paraview.png shows what calculated with the
        algorithm below.

        Calculation of lambda2:

        D = Gradients = [d_ij]
        S = strain(Vel)

        S     = (D + D^T)/2
        Omega = (D - D^T)/2

        lambda = EigenValue_of(S^2 + Omega^2)
               = EigenValue_of(S^2 + (D - S)^2)
               = EigenValue_of(S^2 + (Gradients - strain(vel))^2)

        lambda2 = lambda_Y

        and in ParaView this mean

        o Vector of velocity with "Calculator".................: Vel
        = iHat*x_velocity+jHat*y_velocity+kHat*z_velocity
        o Gradients of Vel with "GradientOfUnstructuredDataSet":
        switch on "compute gradient" and name it "Gradients"
        o Calculate lambda with "PythonCalculator".............:
        lambda = eigenvalue(strain(Vel)**2+(Gradients - strain(Vel))**2)
        o Caluclate lambda2 with Calculator....................:
        lambda2 = lambda_Y



        Does anyone see the error why the calculation of lambda2 with
        ParaView does not work?

        Remark: i contacted the author of the blog above already -
        seems he never tested his calculation and has no idea what is
        "wrong".

            Stefan



        ================================================================

                             _/ *Dr. Stefan Melber-Wilkending*
                           _/_/
                         _/  _/ Deutsches Zentrum für Luft-
                 _/_/_/_/_/_/_/_/_/_/ und Raumfahrt e.V. (DLR)
               _/    _/    _/ _/
             _/    _/    _/    _/ German Aerospace Center
           _/_/_/_/_/_/_/_/_/_/ Institute of Aerodynamics
                 _/  _/  _      _ and Flow Technology
                 _/_/   | \ |  |_| Transport Aircraft Branch
                 _/     |_/ |_ | \
        Lilienthalplatz 7
         Fields of activities: 38108 Braunschweig
        Germany
         o Numerical Windtunnel Simulation
         o Aero-Acoustic Windtunnel Design Phone : +49 531/295-2836
        <tel:%28531%29%20295-2836>
         o Numerical Optimization Fax. .: +49 531/295-2914
        <tel:%28531%29%20295-2914>
         o Visualization Techniques
         o High-Lift Aerodynamics Email : stefan.mel...@dlr.de
        <mailto:stefan.mel...@dlr.de>
         o Glider-Aerodynamics Web ..: http://www.dlr.de/AS

        ================================================================


        _______________________________________________
        Powered by www.kitware.com <http://www.kitware.com>

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

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

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

        Follow this link to subscribe/unsubscribe:
        http://public.kitware.com/mailman/listinfo/paraview
        <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

Reply via email to