Scrambler
1
|
00001 !######################################################################### 00002 ! 00003 ! Copyright (C) 2003-2012 Department of Physics and Astronomy, 00004 ! University of Rochester, 00005 ! Rochester, NY 00006 ! 00007 ! processing_declarations.f90 is part of AstroBEAR. 00008 ! 00009 ! AstroBEAR is free software: you can redistribute it and/or modify 00010 ! it under the terms of the GNU General Public License as published by 00011 ! the Free Software Foundation, either version 3 of the License, or 00012 ! (at your option) any later version. 00013 ! 00014 ! AstroBEAR is distributed in the hope that it will be useful, 00015 ! but WITHOUT ANY WARRANTY; without even the implied warranty of 00016 ! MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00017 ! GNU General Public License for more details. 00018 ! 00019 ! You should have received a copy of the GNU General Public License 00020 ! along with AstroBEAR. If not, see <http://www.gnu.org/licenses/>. 00021 ! 00022 !######################################################################### 00025 00029 00032 MODULE ProcessingDeclarations 00033 USE Fields 00034 USE GlobalDeclarations 00035 IMPLICIT NONE 00036 PUBLIC 00037 SAVE 00038 00039 INTEGER :: NrDiagnosticVars 00040 INTEGER, PARAMETER :: VOLUME=-999, MASS=-998 00041 REAL(KIND=qPREC), PARAMETER :: MINOVERALL=1e30, MAXOVERALL=-1e30 00042 INTEGER :: Processing_mbc = 0 !Number of ghost zones needed for processing... 00043 00044 TYPE DiagnosticListDef 00045 TYPE(FieldDef) :: Field 00046 TYPE(DiagnosticListDef), POINTER :: next 00047 END type DiagnosticListDef 00048 00049 TYPE(DiagnosticListDef), POINTER :: FirstDiagnostic=>NULL(), LastDiagnostic=>NULL() 00050 CONTAINS 00051 00052 00056 SUBROUTINE AddDiagnosticVar(i, str) 00057 INTEGER :: i 00058 CHARACTER(LEN=*), OPTIONAL :: str 00059 TYPE(DiagnosticListDef), POINTER :: Field 00060 NrDiagnosticVars=NrDiagnosticVars+1 00061 IF (ASSOCIATED(LastDiagnostic)) THEN 00062 ALLOCATE(LastDiagnostic%next) 00063 LastDiagnostic=>LastDiagnostic%next 00064 ELSE 00065 ALLOCATE(LastDiagnostic) 00066 FirstDiagnostic=>LastDiagnostic 00067 END IF 00068 LastDiagnostic%Field%id=i 00069 LastDiagnostic%Field%component=GASCOMP 00070 IF (PRESENT(str)) THEN 00071 LastDiagnostic%Field%Name=str 00072 ELSE 00073 LastDiagnostic%Field%Name=GetName(i) 00074 END IF 00075 END SUBROUTINE AddDiagnosticVar 00076 00077 END MODULE ProcessingDeclarations