Here my main_mpi.f90
PROGRAM FDS
! Fire Dynamics Simulator, Main Program, Multiple CPU version.
USE PRECISION_PARAMETERS
USE MESH_VARIABLES
USE GLOBAL_CONSTANTS
USE TRAN
USE DUMP
USE READ_INPUT
USE INIT
USE DIVG
USE PRES
USE MASS
USE PART
USE VELO
USE RAD
USE MEMORY_FUNCTIONS
USE COMP_FUNCTIONS, ONLY : SECOND, WALL_CLOCK_TIME, SHUTDOWN
USE MATH_FUNCTIONS, ONLY : GAUSSJ
USE DEVICE_VARIABLES
USE WALL_ROUTINES
USE FIRE
USE RADCONS
USE CONTROL_FUNCTIONS
!EVAC:USE EVAC
IMPLICIT NONE
! Miscellaneous declarations
CHARACTER(255), PARAMETER :: mainmpiid='$Id$'
CHARACTER(255), PARAMETER :: mainmpirev='$Revision$'
CHARACTER(255), PARAMETER :: mainmpidate='$Date$'
LOGICAL :: EX,DIAGNOSTICS,EXCHANGE_RADIATION=.TRUE.
INTEGER :: LO10,NM,IZERO,DATE_TIME(8),NN,REVISION_NUMBER,IOS
CHARACTER(10) :: BIG_BEN(3)
CHARACTER(255) :: REVISION_DATE
REAL(EB) :: T_MAX,T_MIN
REAL(EB), ALLOCATABLE, DIMENSION(:) :: T,TC_GLB,TC_LOC,DT_SYNC,
DTNEXT_SYNC,DSUM_ALL,PSUM_ALL,USUM_ALL
INTEGER, ALLOCATABLE, DIMENSION(:) ::
MESH_STOP_STATUS,COUNT_GLB,COUNT_LOC
LOGICAL, ALLOCATABLE, DIMENSION(:) :: ACTIVE_MESH,STATE_GLB,STATE_LOC
INTEGER NOM,IWW,IW
INTEGER, PARAMETER :: N_DROP_ADOPT_MAX=10000
TYPE (MESH_TYPE), POINTER :: M,M4
TYPE (OMESH_TYPE), POINTER :: M2,M3
! MPI stuff
! INCLUDE '/usr/local/include/mpif.h' ! Uncomment this line only if
the compiler needs help finding mpif.h
INCLUDE 'mpif.h'
INTEGER :: N,MYID=0,NUMPROCS=1,I,IERR,STATUS(MPI_STATUS_SIZE)
INTEGER :: RNODE,BUFFER_SIZE,TAG,PNAMELEN
INTEGER, ALLOCATABLE, DIMENSION(:,:,:) :: TAGS
INTEGER, ALLOCATABLE, DIMENSION(:) :: REQ,PREQ
INTEGER, ALLOCATABLE, DIMENSION(:,:) :: ARRAY_OF_STATUSES
INTEGER, ALLOCATABLE, DIMENSION(:,:) :: ARRAY_OF_STATUSES2
INTEGER :: N_REQ,N_PREQ
CHARACTER(MPI_MAX_PROCESSOR_NAME) PNAME
! Initialize MPI (First executable lines of code)
CALL MPI_INIT(IERR)
CALL MPI_COMM_RANK(MPI_COMM_WORLD, MYID, IERR)
CALL MPI_COMM_SIZE(MPI_COMM_WORLD, NUMPROCS, IERR)
CALL MPI_GET_PROCESSOR_NAME(PNAME, PNAMELEN, IERR)
WRITE(LU_ERR,'(A,I2,A,I2,A,A)') 'Mesh ',MYID+1,' of ', NUMPROCS,' is
alive on ',PNAME(1:PNAMELEN)
! Start wall clock timing
WALL_CLOCK_START = WALL_CLOCK_TIME()
! Assign a compilation date (All Nodes)
!WRITE(REVISION_DATE,'(A)') mainmpirev(INDEX(mainmpirev,':')
+1:LEN_TRIM(mainmpirev)-2)
!READ (REVISION_DATE,'(I5)') REVISION_NUMBER
!WRITE(REVISION_DATE,'(A)') mainmpidate
!CALL GET_REVISION_NUMBER(REVISION_NUMBER,REVISION_DATE)
!SVN_REVISION_NUMBER = REVISION_NUMBER
!WRITE(COMPILE_DATE,'(A)',IOSTAT=IOS,ERR=10)
REVISION_DATE(INDEX(REVISION_DATE,'(')+1:INDEX(REVISION_DATE,')')-1)
!10 IF (IOS>0) COMPILE_DATE = 'Undetermined'
!WRITE(VERSION_STRING,'(A)') '5.0.2'
!VERSION_NUMBER = 5.0 ! Just use to indicate the major version
!PARALLEL = .TRUE.
! Read input from CHID.data file (All Nodes)
> > > > > > > > > Also, try- Zitierten Text ausblenden -