Author Topic: Convergence issuse?  (Read 13383 times)

Shilmin

  • Jr. Member
  • **
  • Posts: 40
Re: Convergence issuse?
« Reply #15 on: January 24, 2015, 01:15:50 AM »
Dear Prof. R.L. Taylor,

Thank you! I am very much encouraged!

I will read the file and correct the program. For now, I still have some confusions. A) What do you mean about include files? I thought I put all include files needed in my program. B) Is this typescript output in unix system?

Prof. R.L. Taylor

  • Administrator
  • FEAP Guru
  • *****
  • Posts: 2649
Re: Convergence issuse?
« Reply #16 on: January 24, 2015, 08:03:20 AM »
Look in the directory /include/integer8  -- you will find a couple of files which defined "pointer" values to use.  e.g., fp(10) is an array of 10 items you can cast your array pointers into that also exists in /include/integer4.  thus if you were to compile on a 32 bit system it would work also.  In your case you need to defined all items that are used as arguments to mr(*) or hr(*) as integer*8.

The file I sent was created by a Mac -- which is unix like.

Shilmin

  • Jr. Member
  • **
  • Posts: 40
Re: Convergence issuse?
« Reply #17 on: January 27, 2015, 06:42:54 AM »
Dear Prof. R.L. Taylor,

I tried to correct warnings shown in the file you sent, but the analysis still stops at step 182. Would you please chect it for me if it also stops at step 182 when you run this example? I am not sure I compile this program properly.

Thank you!
« Last Edit: February 26, 2015, 07:33:52 AM by Shilmin »

Shilmin

  • Jr. Member
  • **
  • Posts: 40
Re: Convergence issuse?
« Reply #18 on: January 28, 2015, 11:55:49 PM »
Dear Prof. R.L. Taylor,

I forgot to attach a input file which builds stirrups of a column.

Thank you!

Prof. R.L. Taylor

  • Administrator
  • FEAP Guru
  • *****
  • Posts: 2649
Re: Convergence issuse?
« Reply #19 on: January 29, 2015, 11:53:39 AM »
My program fails long before step 182 around step 84 it starts to complain and stops at 86.  This suggests something goes amiss around then??

The 'PAUSE' is a deleted feature but maybe you are caught there anyway -- how about a print just be fore it to see where you are???


Prof. R.L. Taylor

  • Administrator
  • FEAP Guru
  • *****
  • Posts: 2649
Re: Convergence issuse?
« Reply #20 on: January 29, 2015, 12:09:16 PM »
I do not think it has anything to do with the pauses.

I think you hit an infinite loop from a "do while"

Here is a trace for one:
(gdb) where
#0  0x00000001000083c7 in buildvecsolidxfem_ (dndxmat=(( -9.7663740497368323) ( 9.7663740497367009) ( 2.9608986775360226) ( -2.9608986775358908) ), dndymat=(( -11.950656770462516) ( -3.6231137213409177) ( 3.6231137213409177) ( 11.950656770462516) ), dmdxmat=(( 0) ( 0) ( 0) ( 0) ), dmdymat=(( 0) ( 0) ( 0) ( 0) ), df1dxmat=(( 0) ( 0) ( 0) ( 0) ), df1dymat=(( 0) ( 0) ( 0) ( 0) ), df2dxmat=(( 0) ( 0) ( 0) ( 0) ), df2dymat=(( 0) ( 0) ( 0) ( 0) ), df3dxmat=(( 0) ( 0) ( 0) ( 0) ), df3dymat=(( 0) ( 0) ( 0) ( 0) ), df4dxmat=(( 0) ( 0) ( 0) ( 0) ), df4dymat=(( 0) ( 0) ( 0) ( 0) ), wwint=(9.5386523137497834e-06), ul=(( ( ) ) ), ndf=12, hrn=(), hr1=(), nh=7, ud=(), sig256=(( -12965.890182594299) ( -1827681.608621985) ( 0) ( 495574.1424386935) ( 0) ( 0) ( 0) ( 0) ( 0) ), nq=256, tk=0.40999999999999998, isw=6, dpsolid=(-4815.2028909287465, 15073.814454592821, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1410.9640273347925, 7844.712308082846, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1328.4665405345484, -2756.5337930617775, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4897.700377728991, -20161.992969613901, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0)) at SubRoutine3/BuildVecSolidXFEM.f:120
#1  0x000000010003be89 in sxfem2d1_ (d=(), ul=(( ( ) ) ), xl=(( ) ), ix=(), tl=(), s=(( ) ), p=(), ndf=12, ndm=2, nst=48, isw=6) at SubRoutine3/Sxfem2d1.f:344
#2  0x00000001000405dd in elmt01_ (d=(), ul=(), xl=(( ) ), ix=(), tl=(), s=(( ) ), p=(), ndf=12, ndm=2, nst=48, isw=6) at SubRoutine3/elmt01.f:108

If you use do while you need to protect against the loops going on forever.  Maybe add a counter and bail out after a set number?

The one I reached was

Inside the other half hyperbolic