Skip to content
Snippets Groups Projects
Commit 3580a7c0 authored by Juan Escobar's avatar Juan Escobar
Browse files

Juan 20/06/2018: Correction for flash_geom, mpivide.c & I8VECT & ini_flash

parent 7952a000
No related branches found
No related tags found
No related merge requests found
......@@ -24,12 +24,16 @@ MNH_LIC for details. version 1.
/* MPI_INTEGER is defined in mpi.h */
#define MPI_INTEGER8 MPI_LONG_LONG_INT
#ifdef FUJI
#if MNH_INT == 8
#define SIZEINTEGER 8
#define SIZEINTEGER8 8
#define SIZELOGICAL 8
#else
#define SIZEINTEGER 4
#define SIZEINTEGER8 8
#define SIZELOGICAL 4
#endif
#if MNH_REALS == 4
......@@ -41,6 +45,7 @@ MNH_LIC for details. version 1.
#endif
#else
#define SIZEINTEGER 8
#define SIZEINTEGER8 8
#define SIZEPRECISION 8
#define SIZE2PRECISION 16
#endif
......@@ -179,6 +184,9 @@ int *__ierr;
case MPI_INTEGER:
size = SIZEINTEGER;
break;
case MPI_INTEGER8:
size = SIZEINTEGER8;
break;
case MPI_PRECISION:
size = SIZEPRECISION;
break;
......
......@@ -83,6 +83,7 @@ END MODULE MODI_FLASH_GEOM_ELEC_n
!! C. Barthe * LACy * Jan. 2015 : convert trig. pt into lat,lon in ascii file
!! J.Escobar : 18/12/2015 : Correction of bug in bound in // for NHALO <>1
!! J.Escobar : 28/03/2018 : Correction of multiple // bug & compiler indepedent mnh_random_number
!! J.Escobar : 20/06/2018 : Correction of computation of global index I8VECT
!!
!-------------------------------------------------------------------------------
!
......@@ -119,7 +120,6 @@ USE MODD_ELEC_FLASH
USE MODI_SHUMAN
USE MODI_TO_ELEC_FIELD_n
USE MODI_ION_ATTACH_ELEC
USE MODI_IO_ll
!
#ifdef MNH_PGI
USE MODE_PACK_PGI
......@@ -304,7 +304,7 @@ INTEGER :: IFLASH_COUNT, IFLASH_COUNT_GLOB ! Total number of flashes within the
REAL,DIMENSION(SIZE(PRT,1),SIZE(PRT,2)) :: ZCELL_NEW
!
INTEGER :: ILJ
INTEGER :: NIMAX_ll, NJMAX_ll ! dimensions of global domain
INTEGER :: NIMAX_ll, NJMAX_ll,IIU_ll,IJU_ll ! dimensions of global domain
!
!-------------------------------------------------------------------------------
!
......@@ -323,6 +323,8 @@ IKU = SIZE(PRT,3)
! global indexes of the local subdomains origin
CALL GET_GLOBALDIMS_ll (NIMAX_ll,NJMAX_ll)
CALL GET_OR_ll('B',IXOR,IYOR)
IIU_ll = NIMAX_ll + 2*JPHEXT
IJU_ll = NJMAX_ll + 2*JPHEXT
!
!
!* 1.2 allocations and initializations
......@@ -2146,7 +2148,8 @@ DO WHILE (IM .LE. IDELTA_IND .AND. ISTOP .NE. 1)
DO JI=IIB,IIE
IF (IMASKQ_DIST(JI,JJ,JK) .EQ. IM) THEN
JIL = JIL + 1
I8VECT(JIL) = NJMAX_ll*NIMAX_ll*(JK-1) + NIMAX_ll*(IYOR+JJ-1) + (IXOR+JI-1)
I8VECT(JIL) = IJU_ll*IIU_ll*(JK-1) + IIU_ll*(JJ-1 +IYOR-1) + (JI +IXOR-1)
!print*,"IN => I8VECT(JIL )=",I8VECT(JIL),JI,JJ,JK,JIL
END IF
END DO
END DO
......@@ -2175,9 +2178,10 @@ DO WHILE (IM .LE. IDELTA_IND .AND. ISTOP .NE. 1)
IFOUND = 1
! The points is in this processors , get is coord and set it
IF (IRANK_LL(IORDER_LL(ICHOICE)) .EQ. IPROC) THEN
JK = I8VECT_LL(ICHOICE) / ( NJMAX_ll*NIMAX_ll ) +1
JJ = ( I8VECT_LL(ICHOICE) - NJMAX_ll*NIMAX_ll*(JK-1) ) / NIMAX_ll - IYOR +1
JI = MOD(I8VECT_LL(ICHOICE),NIMAX_ll) - IXOR +1
JK = 1 + (I8VECT_LL(ICHOICE)-1) / ( IJU_ll*IIU_ll )
JJ = 1 + ( (I8VECT_LL(ICHOICE)-1) - IJU_ll*IIU_ll*(JK-1) ) / IIU_ll - IYOR +1
JI = 1 + MOD((I8VECT_LL(ICHOICE)-1) , IIU_ll) - IXOR +1
!print*,"OUT => I8VECT_LL(ICHOICE)=",I8VECT_ll(ICHOICE),JI,JJ,JK,ICHOICE
ZFLASH(JI,JJ,JK,IL) = 2.
END IF
I8VECT_LL(ICHOICE) = 0.
......
......@@ -47,6 +47,7 @@ END MODULE MODI_INI_FLASH_GEOM_ELEC
!!
!! Modifications
!! J.-P. Pinty jan 2015 : add LMA simulator
!! J.Escobar 20/06/2018 : truly set NBRANCH_MAX = 5000 !
!!
!-------------------------------------------------------------------------------
!
......@@ -110,7 +111,7 @@ XE_THRESH = 35.E3 ! (V/m)
NLEADER_MAX = NKMAX
!
! the maximum number of branches is arbitriraly set to 5000
NBRANCH_MAX = 50000
NBRANCH_MAX = 5000
!
! the maximum number of electrified cells in the domain is arbitrarily
! set to 10
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment