Dear Community,
I am a new user of Telemac3D and Sedi 3D (version V7p2r0), and today I need your help about Private Variable. My purpose is to model the erosion of cohesive sediment but only on specific location, therefore I made a very little modification in the subroutine erodc.f :
I replaced this Line :
IF(TOB(IPOIN).GT.TOCE(IPOIN,IC)) THEN
By this line :
IF(TOB(IPOIN).GT.PRIVE2D%ADR(3)%P%R(IPOIN)) THEN
With PRIVE2D%ADR(3)%P%R(IPOIN) contains critical erosion shear stress of my sediment depending of its location. The point is the following, there is few locations were I don’t want any erosion, so for the nodes concerned I put a value of 1000 on my private variable in order to prevent any erosion phenomena.
Despite this modification, my calculation can compile an run but doesn’t managed to do what I want. By simply checking my private variable with a : WRITE(*,*)PRIVE2D%ADR(3)%P%R it appears that my private variable doesn’t contains the values I put in it. It only contains the “default value” I put on its creation through Bluekenue on every node.
I read many topics on this forum but I still do not managed to solve my problem.
I am using in my steering file :
NUMBER OF PRIVATE ARRAYS = 3
NAMES OF 2D PRIVATE VARIABLES = 'C_TEST ';
'NOEROD '; 'TOCE '
And I declared my private variable in erodc.f with : USE DECLARATIONS_TELEMAC3D, ONLY: PRIVE2D
You can check on my following file bellow (steering file 1 fortran file)
Hoping you will be able to help me,
Kind regards,
J.