Welcome, Guest
Username: Password: Remember me

TOPIC: results displayed but they are not calculated

results displayed but they are not calculated 10 years 1 month ago #14553

  • faracha
  • faracha's Avatar
Hi

Can you help me please. I added two new variables, I use SUBROUTINE VARNAME and use aussi subroutine PREDES (shear stress 1 and 2) these two variables are displayed in the results but they are not calculated. Even if I change the data, Ainis evolution does not produce results.
Here is what I do for calculated in PREDES

C=======================================================================
C CALCUL DU FROTTEMENT
C=======================================================================
C
IF((LEO.AND.SORLEO(28)).OR.(IMP.AND.SORIMP(28))) THEN
IF ((HN%R(N)) < HP) THEN
DO N = 1, NPOIN
PRIVE%ADR(1)%P%R(N)=(2.D0*GRAV*PENTE*HS**(1/3)*XMVE*
& HN%R(N)**(2/3))/(HP*CHESTR%R(N)*64)
ENDDO
ENDIF
ENDIF
C
C=======================================================================
C CALCUL DU FROTTEMENT
C=======================================================================
C
IF((LEO.AND.SORLEO(28)).OR.(IMP.AND.SORIMP(28))) THEN
CALL CPSTVC(ZF,PRIVE%ADR(1)%P)
IF ((HN%R(N)) > HP) THEN
DO N = 1, NPOIN
PRIVE%ADR(2)%P%R(N)=XMVE*GRAV*(HN%R(N)-HP)
ENDDO
ENDIF
ENDIF

and this sisyphe that i coupled with telemac
in the results it appears the two new varaibles (frottement 1 and 2) and the Evolution but are not calculated but frottement TOB is calculated

thank you in Advance I hope that i find a solution for this !!!!!
Attachments:
The administrator has disabled public write access.

results displayed but they are not calculated 10 years 1 month ago #14562

  • jmhervouet
  • jmhervouet's Avatar
Hello,

If you look at what you have written :

IF ((HN%R(N)) < HP) THEN
DO N = 1, NPOIN
PRIVE%ADR(1)%P%R(N)=(2.D0*GRAV*PENTE*HS**(1/3)*XMVE*
& HN%R(N)**(2/3))/(HP*CHESTR%R(N)*64)
ENDDO
ENDIF
ENDIF

N is used before being defined, it should be rather :

DO N = 1, NPOIN
IF ((HN%R(N)) < HP) THEN
PRIVE%ADR(1)%P%R(N)=(2.D0*GRAV*PENTE*HS**(1/3)*XMVE*
& HN%R(N)**(2/3))/(HP*CHESTR%R(N)*64)
ELSE
PRIVE%ADR(1)%P%R(N)=0.D0
ENDIF
ENDDO

and the same for the second variable.

With best regards,

JMH
The administrator has disabled public write access.

results displayed but they are not calculated 10 years 1 month ago #14568

  • faracha
  • faracha's Avatar
HI

thank you very much for your response
you are right, but really I do not understand the problem, because I have not found yet the calculated results . I try to add another varaible with simpler formula.

IF((LEO.AND.SORLEO(30)).OR.(IMP.AND.SORIMP(30))) THEN
DO N = 1, NPOIN
PRIVE%ADR(3)%P%R(N)= SQRT(HN%R(N))
ENDDO
ENDIF

but it is the same I have not found the calculated results for this varaible too.
SO I added one new subroutine after ( NOMVAR et PRERES) : TOB-SISYPHE and I defined the formula 1 and 2 ( frottement 1 et 2 ) but nothing changes !!!!!!

hope i find a solution for this problem
The administrator has disabled public write access.

results displayed but they are not calculated 10 years 1 month ago #14570

  • jmhervouet
  • jmhervouet's Avatar
Hello,

I had not checked this but if you look at subroutine nomvar_sisyphe.f, actually the rank of your variablesthat correspond to MNEMO A, G and L is not 28, 29, 30 but it starts at 29+NSICLA*(NOMBLAY+4)+2*NOMBLAY, so it is probably your problem, your test :

IF((LEO.AND.SORLEO(28)).OR.(IMP.AND.SORIMP(28))) THEN

should be in fact :

I=29+NSICLA*(NOMBLAY+4)+2*NOMBLAY
IF((LEO.AND.SORLEO(I)).OR.(IMP.AND.SORIMP(I))) THEN

and so on...

With best regards,

Jean-Michel Hervouet
The administrator has disabled public write access.

results displayed but they are not calculated 10 years 4 weeks ago #14597

  • faracha
  • faracha's Avatar
Hello

thank you for your suggestion. I changes that in my file

A1=NSICLA*(NOMBLAY+4)+NOMBLAY+28
IF((LEO.AND.SORLEO(A1)).OR.(IMP.AND.SORIMP(A1))) THEN
DO N = 1, NPOIN
IF ((HN%R(N)) < HP) THEN
PRIVE%ADR(1)%P%R(N)=(2.D0*GRAV*PENTE*HS**(1/3)*XMVE
& *HN%R(N)**(2/3))/(HP*CHESTR%R(N)*64)
ELSE
PRIVE%ADR(1)%P%R(N)= 0.D0
ENDIF
ENDDO
ENDIF
C
C=======================================================================
C CALCUL DU FROTTEMENT
C=======================================================================
A2=NSICLA*(NOMBLAY+4)+NOMBLAY+29
IF((LEO.AND.SORLEO(A2)).OR.(IMP.AND.SORIMP(A2))) THEN
DO N = 1, NPOIN
IF ((HN%R(N)) > HP) THEN
PRIVE%ADR(2)%P%R(N)=XMVE*GRAV*(HN%R(N)-HP)
ELSE
PRIVE%ADR(2)%P%R(N)= 0.D0
ENDIF
ENDDO
ENDIF

C
C=======================================================================
C CALCUL
C=======================================================================
A3=NSICLA*(NOMBLAY+4)+NOMBLAY+30
IF((LEO.AND.SORLEO(A3)).OR.(IMP.AND.SORIMP(A3))) THEN
DO 100 N=1,NPOIN
PRIVE%ADR(3)%P%R(N) = SQRT(HN%R(N))
100 CONTINUE
ENDIF

but with that I find errors in the compilation, I try to make the correction, but I do not understand how.

here you find errors in this document attached

is that there is a document that explains the prcedure to add a new varaible or an example because it is very necessary ??

in my case I use the nomvar_sisyphe.f and predes.f and you find these two files in the following attachment but I find in the forum as someone who use (point_sisyphe.f) to display the calculated results. is iT necessary in this case
to add also point_sisyphe.f

thank you in advance

Mabrouka
Attachments:
The administrator has disabled public write access.

results displayed but they are not calculated 10 years 4 weeks ago #14599

  • jmhervouet
  • jmhervouet's Avatar
Hello,

Changing point_sisyphe is not necessary because issuing variables PRIVE is already programmed.

Your last mistake is that you implemented the computation of your new variables in preres_telemac2d, whereas you should put it in subroutine predes.f on Sisyphe side as they are Sisyphe variables, so you can move and adapt your lines of code and it should work.

With best regards,

Jean-Michel Hervouet
The administrator has disabled public write access.

results displayed but they are not calculated 10 years 4 weeks ago #14600

  • faracha
  • faracha's Avatar
HI

Now I use predes.f instead of preres_telemac2d I copy my varaible in Perdes and I identify the type of of varaible as A1, A2 and A3 and N.

I am surprised at the mistakes that I find I have not made ​​changes for the rest of PREDES (varaible 8) but here are the errors:

error 1402 : DISCHARGE ALONG Y
!
IF((LEO.AND.SORLEO(8)).OR.(IMP.AND.SORIMP(8))) THEN
CALL OS('X=YZ ',X=QU,Y=V2D,Z=HN)
ENDIF
error 1440
IF(LLT.EQ.0) THEN
! JMH ON 27/11/2009
IF((LEO.AND.SORLEO(19)).OR.(IMP.AND.SORIMP(19))) THEN
CALL OS('X=0 ',X=KS)
ENDIF
ENDIF
error 1372
NO PRINTOUTS REUIRED: LEAVING
IF (.NOT.(LEO.OR.IMP)) GO TO 1000
an the others that I didn't make a change just a add my new varaible !!!!

thank you in advance

Mabrouka
Attachments:
The administrator has disabled public write access.

results displayed but they are not calculated 10 years 4 weeks ago #14601

  • jmhervouet
  • jmhervouet's Avatar
Hello,

Now that you are in Sisyphe under a command USE DECLARATIONS_SISYPHE, some of your added parameters like XMVE are already declared so you need not add them.
Then your line giving A1 seems to start on column 5 so add an extra space before A1.

Regards and good week-end,

Jean-Michel Hervouet
The administrator has disabled public write access.

results displayed but they are not calculated 10 years 4 weeks ago #14602

  • faracha
  • faracha's Avatar
thank you very much

I will correct them


good week-end

Mabrouka
The administrator has disabled public write access.
Moderators: Pablo, pavans

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