Welcome, Guest
Username: Password: Remember me

TOPIC: Calcot - crashing with free surface below banks

Calcot - crashing with free surface below banks 6 years 1 month ago #31637

  • SDAC
  • SDAC's Avatar
Hello,

When the free surface elevation falls below the maximum bank height I get exceeding maximum iterations. I've programmed calcot to create layers at the bottom. Using mesh transformation = 1 it works fine, suggesting the code is the problem.

Working iteration:
works.jpg


Error:
crash.jpg


The elements look crushed against the prescribed bottom layers, so I think it's something to do with how the distances are regulated.

The code (full code attached) is simple: the code determines the distance of three layers off the bottom and sets their Transformation value = 3 so it's ignored by sigma transform later.
       !apply three layers
        DO IPLAN=2,4
     		DO IPOIN = 1,NPOIN2
          		ZZ(IPOIN,2)= ZZ(IPOIN,1) + 0.01D0
			ZZ(IPOIN,3)= ZZ(IPOIN,1) + 0.02D0
			ZZ(IPOIN,4)= ZZ(IPOIN,1) + 0.03D0

       	 ENDDO
	   ENDDO

	DO IPLAN=2,4
	 TRANSF_PLANE%I(IPLAN)=3
	ENDDO

Key is that I also changed the checks between planes to treat the new planes as the bottom (i.e. DO IPLAN = 5 rather than IPLAN = 1, and ZFP = ZZ(IPOIN,4).
       !regulate layers 
         DO IPLAN=5,NPLAN-1
          IF(TRANSF_PLANE%I(IPLAN).EQ.3) THEN
            RPLS = DBLE(NPLAN-IPLAN) / DBLE(NPLAN)
            RPLI = DBLE(IPLAN-    1) / DBLE(NPLAN)
            DO IPOIN = 1,NPOIN2
              ZFP = ZZ(IPOIN,4)
              ZSP = ZZ(IPOIN,NPLAN)
              DISBOT = MIN(ZSP-ZFP,DISMIN_BOT)
              DISSUR = MIN(ZSP-ZFP,DISMIN_SUR)
              ZZ(IPOIN,IPLAN)=MIN(                    ZSP-DISSUR*RPLS,
     &                            MAX(ZPLANE%R(IPLAN),ZFP+DISBOT*RPLI))
            ENDDO
          ENDIF
         ENDDO

I changed these to prevent crashing between the sigma transform layers and the new prescribed layers, however would this contribute to the error received above?

File Attachment:

File Name: calcot_meshtransform.txt
File Size: 7 KB


Many thanks!
The administrator has disabled public write access.

Calcot - crashing with free surface below banks 5 years 11 months ago #32273

  • SDAC
  • SDAC's Avatar
Hello,

I've looked at this case again. Running the debugger, the exceeding maximum iterations error occur in:
APPEL DE CVDF3D POUR AK
GRACJG (BIEF) : EXCEEDING MAXIMUM ITERATIONS: 200 RELATIVE PRECISION: NaN
RETOUR DE CVDF3D POUR AK
APPEL DE CVDF3D POUR EP
GRACJG (BIEF) : EXCEEDING MAXIMUM ITERATIONS: 200 RELATIVE PRECISION: NaN
RETOUR DE CVDF3D POUR EP

APPEL DE CVDF3D POUR W
GRACJG (BIEF) : EXCEEDING MAXIMUM ITERATIONS: 60 RELATIVE PRECISION: NaN
RETOUR DE CVDF3D POUR W

This occurs only when the free surface falls below the maximum bank height. Before that, the simulation runs fine with my mesh alterations.

CVDF3D relates to the boundary conditions, if I'm right, and something to do with the lower free surface is causing issues in calculating the k, espilon, and velocity W at the boundary.

I can't find what is the root of this however.

Using the test case t3d_wesel, I notice that when the free surface drops below banks height the layers are crushed successfully with no "EXCEEDING MAX ITERATIONS..." error.

If I want to replicate this effect successfully with my new bottom (i.e. free surface is crushed successfully at plane 4) is this coded in calcot.f? Using calcot my mesh layers are accurately represented at the right heights.

Kind regards.
The administrator has disabled public write access.
Moderators: pham

The open TELEMAC-MASCARET template for Joomla!2.5, the HTML 4 version.