Asaad--


I don't pretend to know all the ways to enter, or the easiest way to enter point-based stress tensors, however, I do know two ways to do this:


(1) Using the VTK XML-based format, see file VTK-XML-Stress-Coding.txt


(2) Using the EnSight Gold binary format, see file EnSight-Stress-Coding.txt


In these code extracts, I have included the two scalar datum items Effective_Stress and Pressure. As useful as PV's Calculator Filter is, I find it easier to do these two scalar stress invariant calculations in the code that generates the simulation results output.


Hope this helps.  --Sam


On 5/12/2016 6:23 AM, Sellmann, Kai Asaad wrote:
Dear community,

my last two questions haven't been answered, so I guess my way of asking wasn't appropriate. So I'll try again:
I need to put the following Information from a FE-Calculation into a file format that can be read by paraview. And that can be used with Stream Tracers:

(Node ID)
Nodal Coordinates
Nodal Stresses XX YY ZZ XY XZ YZ

I know how to make paraview interpret the Coordinates as Points but I don't know how to make paraview interpret the Nodal Stresses as Components of Vectors.

Any hint or Idea would be greatly appreciated!!!
Thank you very much in advance!

Asaad




_______________________________________________
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

<snip>
!!
!! Start vtk "PointData" data.
!!
            WRITE (IO_UNIT%LVTO,'(A)') '<PointData Tensors="Stress" 
Scalars="Material">'
            !!
            !! Write element-based (cell) stress data to VTK Data File.
            !! The retrieval function STRESS_DATA( element_n, component_i ) is 
used 
            !! with the following stress-component retrieval pattern to produce 
the
            !! the stress-component pattern expected by ParaView (PV):
            !!                   ( 1 4 5 )   ( xx xy xz )   ( 1 2 3 )
            !! Fma-3D Indices => ( 4 2 6 ) = ( yx yy yz ) = ( 4 5 6 ) <= PV 
Indices
            !!                   ( 5 6 3 )   ( zx zy zz )   ( 7 8 9 )
            !!
            WRITE(IO_UNIT%LVTO,'(2X,A)')'<DataArray type="Float32" 
Name="Stress" NumberOfComponents="9" format="ascii">'
            Lbgn = 1
            Lend = LREMAIN
            DO i = 1,LBLOCKS+1
              WRITE(IO_UNIT%LVTO,'((6(1PE15.7)))') 
     &        ((/ 
STRESS_DATA(NELUSED(L),1),STRESS_DATA(NELUSED(L),4),STRESS_DATA(NELUSED(L),5),
     &            
STRESS_DATA(NELUSED(L),4),STRESS_DATA(NELUSED(L),2),STRESS_DATA(NELUSED(L),6),
     &            
STRESS_DATA(NELUSED(L),5),STRESS_DATA(NELUSED(L),6),STRESS_DATA(NELUSED(L),3) 
/),  L = Lbgn,Lend)
              Lbgn = Lend + 1
              Lend = Lend + LBCOUNT
            ENDDO
            WRITE(IO_UNIT%LVTO,'(2X,A)')'</DataArray>'

            WRITE(IO_UNIT%LVTO,'(2X,A)')'<DataArray type="Float32" 
Name="Effective_Stress" NumberOfComponents="1" format="ascii">'
            Lbgn = 1
            Lend = LREMAIN
            DO i = 1,LBLOCKS+1
              WRITE(IO_UNIT%LVTO,'((6(1PE15.7)))') 
(EFFECTIVE_STRESS(NELUSED(L)), L = Lbgn,Lend)
              Lbgn = Lend + 1
              Lend = Lend + LBCOUNT
            ENDDO
            WRITE(IO_UNIT%LVTO,'(2X,A)')'</DataArray>'

            WRITE(IO_UNIT%LVTO,'(2X,A)')'<DataArray type="Float32" 
Name="Pressure" NumberOfComponents="1" format="ascii">'
            Lbgn = 1
            Lend = LREMAIN
            DO i = 1,LBLOCKS+1
              WRITE(IO_UNIT%LVTO,'((6(1PE15.7)))') (PRESSURE(NELUSED(L)), L = 
Lbgn,Lend)
              Lbgn = Lend + 1
              Lend = Lend + LBCOUNT
            ENDDO
            WRITE(IO_UNIT%LVTO,'(2X,A)')'</DataArray>'

            WRITE(IO_UNIT%LVTO,'(2X,A)')'<DataArray type="Float32" 
Name="Bulk_Strain" NumberOfComponents="1" format="ascii">'
            Lbgn = 1
            Lend = LREMAIN
            DO i = 1,LBLOCKS+1
              WRITE(IO_UNIT%LVTO,'((6(1PE15.7)))') (BULK_STRAIN(NELUSED(L)), L 
= Lbgn,Lend)
              Lbgn = Lend + 1
              Lend = Lend + LBCOUNT
            ENDDO
            WRITE(IO_UNIT%LVTO,'(2X,A)')'</DataArray>'

            WRITE(IO_UNIT%LVTO,'(2X,A)')'<DataArray type="Float32" 
Name="Strain_Energy" NumberOfComponents="1" format="ascii">'
            Lbgn = 1
            Lend = LREMAIN
            DO i = 1,LBLOCKS+1
              WRITE(IO_UNIT%LVTO,'((6(1PE15.7)))') 
(STRAIN_ENERGY_DENSITY(NELUSED(L)), L = Lbgn,Lend)
              Lbgn = Lend + 1
              Lend = Lend + LBCOUNT
            ENDDO
            WRITE(IO_UNIT%LVTO,'(2X,A)')'</DataArray>'

            WRITE(IO_UNIT%LVTO,'(2X,A)')'<DataArray type="Int32" 
Name="Material" NumberOfComponents="1" format="ascii">'
            Lbgn = 1
            Lend = LREMAIN
            DO i = 1,LBLOCKS+1
              WRITE(IO_UNIT%LVTO,'((6X,8I10))') (MatID_DATA(NELUSED(L)), L = 
Lbgn,Lend)
              Lbgn = Lend + 1
              Lend = Lend + LBCOUNT
            ENDDO
            WRITE(IO_UNIT%LVTO,'(2X,A)')'</DataArray>'
!!
!! End vtk "PointData" data.
!!
            WRITE (IO_UNIT%LVTO,'(A)') '</PointData>'
</snip>
<snip>
!!
!! Initialize sequential Material part counter.
!!
        MPart = 0
!!
!! Start this-time-step block.
!!
        CBUFFER = "BEGIN TIME STEP"
        WRITE (IO_UNIT%LEGO) CBUFFER

        CBUFFER = "Element Stress(xx,yy,zz,xy,xz,yz) Results"
        WRITE (IO_UNIT%LEGO) CBUFFER
!!
!! Loop on Material parts.
!!
        DO M = 1,NUMMT
!!
!! The function ELEMENTS_AND_NODES_USED(*) gen's nodal-points-used array 
NPTUSED, 
!! elements-used array NELUSED and vtk output-index-translation array NPTNOWI 
for 
!! this material. If material M is used, the function returns 1, otherwise 0. 
!!
          IF (ELEMENTS_AND_NODES_USED(M) .GT. 0) THEN

            NNodes = MATERIAL(M)%NNodes
            NElems = MATERIAL(M)%NElems

            CBUFFER = "part"
            WRITE (IO_UNIT%LEGO) CBUFFER
            MPart = MPart + 1
            WRITE (IO_UNIT%LEGO) MPart

            Nend = 0
            LBCOUNT = IBCOUNT
            MEL_COUNT = (/MHX,MPX,MPY,MTX,MM3,MP3,MM4,MP4,MTR,MPH,MPG/)

            DO k = 1,10
              MXX = MEL_COUNT(k)
              IF (MXX .GT. 0) THEN
                Nbgn = Nend + 1
                Nend = Nend + MXX
                CBUFFER = ESG_ELEMENT_TYPE(k)         
                WRITE (IO_UNIT%LEGO) CBUFFER

                LBLOCKS = MXX / LBCOUNT
                LREMAIN = MXX - LBCOUNT*LBLOCKS
                !!
                !! NOTE: The symmetric stress tensor components stored in the 
1-D 
                !! array STRESS (*,1:6) in the program exactly match the 
component 
                !! order expected by the EnSight Gold results file.
                !!
                !! Program ==> (/Sxx,Syy,Szz,Sxy,Sxz,Syz/)
                !! EnSight ==> (/S11,S22,S33,S12,S13,S23/)
                !!
                Lbgn = Nbgn
                Lend = Lbgn + LREMAIN - 1
                DO i = 1,LBLOCKS+1
                  WRITE (IO_UNIT%LEGO) (STRESS_DATA(NELUSED(n),1), n = 
Lbgn,Lend)
                  Lbgn = Lend + 1
                  Lend = Lend + LBCOUNT
                ENDDO

                Lbgn = Nbgn
                Lend = Lbgn + LREMAIN - 1
                DO i = 1,LBLOCKS+1
                  WRITE (IO_UNIT%LEGO) (STRESS_DATA(NELUSED(n),2), n = 
Lbgn,Lend)
                  Lbgn = Lend + 1
                  Lend = Lend + LBCOUNT
                ENDDO

                Lbgn = Nbgn
                Lend = Lbgn + LREMAIN - 1
                DO i = 1,LBLOCKS+1
                  WRITE (IO_UNIT%LEGO) (STRESS_DATA(NELUSED(n),3), n = 
Lbgn,Lend)
                  Lbgn = Lend + 1
                  Lend = Lend + LBCOUNT
                ENDDO

                Lbgn = Nbgn
                Lend = Lbgn + LREMAIN - 1
                DO i = 1,LBLOCKS+1
                  WRITE (IO_UNIT%LEGO) (STRESS_DATA(NELUSED(n),4), n = 
Lbgn,Lend)
                  Lbgn = Lend + 1
                  Lend = Lend + LBCOUNT
                ENDDO

                Lbgn = Nbgn
                Lend = Lbgn + LREMAIN - 1
                DO i = 1,LBLOCKS+1
                  WRITE (IO_UNIT%LEGO) (STRESS_DATA(NELUSED(n),5), n = 
Lbgn,Lend)
                  Lbgn = Lend + 1
                  Lend = Lend + LBCOUNT
                ENDDO

                Lbgn = Nbgn
                Lend = Lbgn + LREMAIN - 1
                DO i = 1,LBLOCKS+1
                  WRITE (IO_UNIT%LEGO) (STRESS_DATA(NELUSED(n),6), n = 
Lbgn,Lend)
                  Lbgn = Lend + 1
                  Lend = Lend + LBCOUNT
                ENDDO

              ENDIF
            ENDDO

          ENDIF
        ENDDO
!!
!! Close out this-time-step block.
!!
        CBUFFER = "END TIME STEP"
        WRITE (IO_UNIT%LEGO) CBUFFER

        CLOSE (UNIT=IO_UNIT%LEGO, STATUS='KEEP')

      ENDIF
</snip>
######################################################################################
The EnSight Case file --
######################################################################################
FORMAT
type: ensight gold
GEOMETRY
model:                   1  1  fmaego.results.geom    change_coords_only
VARIABLE
vector per node:         1  1  Displacement          fmaego.results.ndis
vector per node:         1  1  Velocity              fmaego.results.nvel
vector per node:         1  1  Acceleration          fmaego.results.nacc
scalar per element:      1  1  Material              fmaego.results.emat
scalar per element:      1  1  Material-State        fmaego.results.esta
scalar per element:      1  1  Pressure              fmaego.results.eprs
scalar per element:      1  1  Bulk-Strain           fmaego.results.elnv
scalar per element:      1  1  Strain-Energy-Density fmaego.results.esed
scalar per element:      1  1  Effective-Stress      fmaego.results.edev
vector per element:      1  1  Stress*Vel            fmaego.results.estv
tensor symm per element: 1  1  Stress                fmaego.results.estr
TIME
time set:                1
number of steps:       101
time values:                  1.000000000000E-06      2.000000000000E-05
      4.100000000000E-05      6.100000000000E-05      8.100000000000E-05
      1.010000000000E-04      1.210000000000E-04      1.410000000000E-04
      1.610000000000E-04      1.810000000000E-04      2.010000000000E-04
      2.210000000000E-04      2.410000000000E-04      2.610000000000E-04
      2.800000000000E-04      3.000000000000E-04      3.200000000000E-04
      3.400000000000E-04      3.600000000000E-04      3.800000000000E-04
      4.000000000000E-04      4.200000000000E-04      4.400000000000E-04
      4.600000000000E-04      4.800000000000E-04      5.000000000000E-04
      5.200000000000E-04      5.400000000000E-04      5.600000000000E-04
      5.800000000000E-04      6.000000000000E-04      6.200000000000E-04
      6.400000000000E-04      6.600000000000E-04      6.800000000000E-04
      7.000000000000E-04      7.200000000000E-04      7.400000000000E-04
      7.600000000000E-04      7.800000000000E-04      8.000000000000E-04
      8.200000000000E-04      8.400000000000E-04      8.600000000000E-04
      8.800000000000E-04      9.000000000000E-04      9.200000000000E-04
      9.400000000000E-04      9.600000000000E-04      9.800000000000E-04
      1.000000000000E-03      1.020000000000E-03      1.040000000000E-03
      1.060000000000E-03      1.080000000000E-03      1.100000000000E-03
      1.120000000000E-03      1.140000000000E-03      1.161000000000E-03
      1.181000000000E-03      1.201000000000E-03      1.221000000000E-03
      1.241000000000E-03      1.261000000000E-03      1.281000000000E-03
      1.301000000000E-03      1.321000000000E-03      1.341000000000E-03
      1.361000000000E-03      1.381000000000E-03      1.401000000000E-03
      1.421000000000E-03      1.441000000000E-03      1.461000000000E-03
      1.481000000000E-03      1.501000000000E-03      1.521000000000E-03
      1.541000000000E-03      1.561000000000E-03      1.581000000000E-03
      1.601000000000E-03      1.621000000000E-03      1.641000000000E-03
      1.661000000000E-03      1.681000000000E-03      1.701000000000E-03
      1.721000000000E-03      1.741000000000E-03      1.761000000000E-03
      1.781000000000E-03      1.801000000000E-03      1.821000000000E-03
      1.841000000000E-03      1.861000000000E-03      1.881000000000E-03
      1.901000000000E-03      1.921000000000E-03      1.941000000000E-03
      1.961000000000E-03      1.981000000000E-03      2.001000000000E-03
FILE
file set:                   1
number of steps:          101
######################################################################################
_______________________________________________
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