FEAP User Forum

FEAP => Programming => Topic started by: Yaakov on April 13, 2017, 02:43:47 PM

Title: PARAVIEW Error
Post by: Yaakov on April 13, 2017, 02:43:47 PM
Dear FEAP Team & Users,

I would ask, now I get an error report from Paraview/FEAP.

in FE-Model (own user element), if I use 1000 Elements (3D Brick Element, 8 Nodes), I can save all Paraview data.

but If I use much more Elements, e.g. 8000 Elements (3D Brick Element, 8 Nodes), I will receive the following information in terminal:


Saving PARAVIEW data to PT3D00001.vtu                                                                                                                   

Program received signal SIGSEGV: Segmentation fault - invalid memory reference.

Backtrace for this error:
#0  0x7FF02A094E08
#1  0x7FF02A093F90
#2  0x7FF028DF04AF
#3  0x7FF02A16C63F
#4  0x7FF02A1657BC
#5  0x4783BB in uparaview_
#6  0x4767B7 in uplot9_
#7  0x6219B8 in pplotf_
#8  0x546452 in pmacr3_
#9  0x4BDC2E in pmacr_
#10  0x43A783 in pcontr_
Segmentation fault (core dumped)


Thank you for doing that and for your support!

Kind Regards,
Yaakov
Title: Re: PARAVIEW Error
Post by: Prof. S. Govindjee on April 13, 2017, 03:09:55 PM
Try running the code in the debugger so that you can figure out what line of code is causing the SEG fault.
Someplace you have and out of bounds memory access.
Title: Re: PARAVIEW Error
Post by: Yaakov on April 13, 2017, 03:27:55 PM
Dear Prof. Govindjee,

Thanks very much for your answer! for 3D- Case, If I use feap command plot jpeg, I can save figure data. but It is not useful for paraview.

I will continue to check my user element.
Kind Regards, Yaakov
Title: Re: PARAVIEW Error
Post by: Yaakov on April 18, 2017, 10:05:59 AM
Dear Prof. S. Govindjee,

now I find out, when  I use command  PLOT,  CONT, 3   Plot Pvie,  the programm breaks in lines 196  in sub uparaview.f .I have checked,, if ISTV <=9, I can save paraview output data.

 when I use command  PLOT,  STRE, 3   Plot Pvie,  the programm will run without any problem (here ISTV = 15)

Kind Regards, Yaakov
Title: Re: PARAVIEW Error
Post by: Prof. S. Govindjee on April 18, 2017, 11:17:03 AM
I'm not sure I understand this.  Line 196 is
Code: [Select]
      if(istv.gt.0) then
Do you mean that you are getting an error when it is writing sig(i,ii) or psig(i,ii)?  Also you should make sure that you have projected the stresses to the nodes before you issue the pview command.  So either you have previously issued a plot command for the stresses or you have issued the macro command stress,node .
Title: Re: PARAVIEW Error
Post by: Yaakov on April 18, 2017, 11:37:37 AM
Dear Prof. Govindjee,

thanks very much for your answer!
in this case, I am getting an error when it is writing sig(i,ii) or psig(i,ii).  I will check again where the error is.

Title: Re: PARAVIEW Error
Post by: Prof. S. Govindjee on April 18, 2017, 08:28:48 PM
Have you made sure to have first forced a projection of the stresses before calling pview?
Title: Re: PARAVIEW Error
Post by: Yaakov on April 19, 2017, 01:59:14 AM
Dear Prof. Govindjee,

thanks very much for your answer, you mean: before command PLOT PVIE, I have to use command PLOT STRE?

It is my first time to use paraview to save 3D results, in 2 D case I use only FEAP command PLOT JPEG.

Title: Re: PARAVIEW Error
Post by: JStorm on April 19, 2017, 03:50:15 AM
The paraview routine write out the node data without changing the array size so far.

Thus, you can either call STREss NODEs to project the results from Gaussian points to the element nodes or you can modify uparaview.f
to check for the array sizes (e.g. if (size(sig,1).ge.numnp .and. np(58).ne.0) then).

The first option may fail in case of user elements which haven't implemented the data projection.
Title: Re: PARAVIEW Error
Post by: Yaakov on April 19, 2017, 06:29:15 AM
Dear JStorm;

thanks very much for your reply!
I have checked, stres node + plot pvie works well  for my own user!

I'd like to ask, now I have two types of command combinations:

type a : PLOT CONT 1 + PLOT PVIE

type b : PLOT STRE 1 + PLOT PVIE

for 1000 elements, both type can get paraview data
for 8000 elements, only type b works.

I don't develop any postprocess code in FEAP before, I can't understand what happen that I am getting bugs which I described in the first Block Chat.

to note that, type a paraview output data size is smaller, If we only need displacement field output.

Kind Regards, Yaakov
Title: Re: PARAVIEW Error
Post by: Prof. R.L. Taylor on April 19, 2017, 09:47:00 AM
Unless you project the stresses, they will not be in the paraview output file. so "b" is correct (or you can use the command STRE NODE) before output of paraview
Title: Re: PARAVIEW Error
Post by: Yaakov on April 19, 2017, 10:21:12 AM
Dear Prof. Taylor,

Thanks very much for your answer & support!

I can't understand, the type "a" (PLOT CONT 1 + PLOT PVIE) can work well in the case of 1000 elements that I can save Paraview Output File.

Kind Regards, Yaakov
Title: Re: PARAVIEW Error
Post by: Prof. S. Govindjee on April 19, 2017, 05:07:15 PM
Your case 'a' is only working by luck (i.e. the array access while out of bounds is not going outside of the user space allocated to the process).  Only use 'b'.

In future releases of the code, we plan to internally force the projection if it has not been done yet.
Title: Re: PARAVIEW Error
Post by: Yaakov on April 20, 2017, 03:20:01 AM
Dear Prof. S. Govindjee,

Thanks very much for your answer, now I understand that only type "b" works.

Kind Regards, Yaakov
Title: Re: PARAVIEW Error
Post by: Prof. R.L. Taylor on April 20, 2017, 03:22:19 PM
Can you try the attached files for paraview.  They are supposed to output all the stress values even if you have not projected them yet.  A projection is forced if an iteration has been performed and no stresses plotted or nodal stresses computed.
Title: Re: PARAVIEW Error
Post by: Yaakov on April 20, 2017, 04:38:22 PM
Dear Prof. Taylor & FEAP TEAM,

Thanks very much for your warm help!

I will give my feed back as soon as possible!

Kind Regards, Yaakov
Title: Re: PARAVIEW Error
Post by: Yaakov on April 21, 2017, 07:32:40 AM
Dear Prof. Taylor, Dear Prof. Govindjee & Dear FEAP TEAM,

I put the three new files (Reply #14) into feap user order ( make clean & install).
Now It works as well as I expect that PLOT PVIE can stay after PLOT CONT without bugs(e.g. for 8000 elements, or more elements) !

Kind Regards & Nice weekend, Yaakov


 

   
Title: Re: PARAVIEW Error
Post by: resammc on August 17, 2017, 04:41:31 AM
Can you try the attached files for paraview.  They are supposed to output all the stress values even if you have not projected them yet.  A projection is forced if an iteration has been performed and no stresses plotted or nodal stresses computed.

I have a problem with my non-mechanical user element using PVIE with the new FEAP8.5. Whenever I try to make a paraview output, the program exits.

My problem is a phase-field problem and essentially I just need to output the DOF fields and there is no need to project anything. I thought maybe it is because I did not define isw.eq.8 in my element, and added that and also set the ISTE value, then I got another error that the assigned size to NDER and NDNP are zero...

I believe the problem comes from the if condition for FL(11) in program/pmacr6.f (feap 8.5). It forces the program to project stresses, while there isn't any, thus the error.

I wrote a small user-macro where I temporarily switch the value of FL(11) to TRUE before calling PVIE and switch it back after the call. This way, the routine works just fine.

Is there any better work-around for this?

RM
Title: Re: PARAVIEW Error
Post by: Prof. R.L. Taylor on August 17, 2017, 05:29:31 AM
One other option is to change the coding in pmacr6.f  to


!     [pvie,<time,file> : Paraview interface

      elseif(j.eq.12) then

!       No stress projection case

        istvsv = istv
        if(ct(1).ne.0.0d0) then
          istv = 0

!       Compute and project stresses

        elseif(.not.fl(11)) then
          call pjstrs(.false.)
        endif

        call pparaview(lct)
        istv = istvsv

be sure to add dimension for 'istvsv'

Then if you use: PVIEw ,, 1

you get no stress output.
Title: Re: PARAVIEW Error
Post by: resammc on August 17, 2017, 05:57:12 AM
thank you very much, everything works fine now.