!****************************************************************************** ! ! NS3D: a Navier-Stokes solver for incompressible and stratified flow ! ! Organisation : LadHyX, Ecole Polytechnique, France ! ! Permission is granted to copy and distribute this file or modified ! versions of this file for no fee, provided the copyright notice and ! this permission notice are preserved on all copies. ! !****************************************************************************** *************************************************************************** CHANGELOG *************************************************************************** v2.14 (10/06/2014 - A. Deloncle) - MPI run: test to check that the preprocessor macro -DMPI is the same as the number of runtime processes, - MPI run : test to check that Ny and Nz are a multiple of the number of processes. - MPI_run: adding of the flag "ifdef MPI" in MPI_Times.F90 so that it can be included in Makefile for both sequential and MPI run. The source file list becomes the same in sequential and MPI run. v2.13 (12/05/2014 - A. Deloncle) - slight change in the definition of the FORTRAN variable "rho". It now corresponds exactly to the buoyancy b=-g*\rho/\rho_0 with rho the density perturbation with respect to the base density \rho_0 + \overline{\rho}(z) This is more consistant as it the buoyancy that directly appears in the governing equations. Compared to v2.12 (and previous), we have rho_v2.13 = -N^2*rho_v2.12, where N is the Brunt-Vaisala frequency. - all numeric constants are declared as "double precision" (for instance 1. -> 1.D0) so that it is no more necessary to enforce the conversion REAL->DOUBLE PRECISION with a compilation flag. - remove of preprocessor flags "SINGLE_MODE" and "calcul_ut". These options were rarely used. - remove of output3 content (un-tested subroutine) - remove of preprocessor tag NEC_LARGE_FILE. Was only useful with old NEC-SX compilers. - cleaning of the directories : Makefiles, jobs, post-processing. v2.12 (27/09/2009 - A. Deloncle) - correction of a bug about working array in fft.F90 for ESSL_MPI - new Makefiles for Babel Bluegene (IDRIS IBM )cluster v2.11 (09/02/2008 - A. Deloncle) - remove use of "wisdom" in FFTW v2.10 (22/10/2007 - A. Deloncle) - use "wisdom" in FFTW - ESSL_MPI added: at the moment not working... v2.09 (18/10/2007 - A. Deloncle) - correction of a bug for the MPI FFT with fftw in the 2D case - modification of the timing module v2.08 (?/?/2006 - A. Deloncle) - new FFT libraries included v2.07 (20/01/2006 - A. Deloncle) - no more initialization of variables in global_vars module. Some compilers (Absoft Fortran) create too large executable files in this case. v2.06 (20/12/2005 - A. Deloncle) - bug fixing: the incompressibility condition is now correctly imposed with Runge-Kutta schemes. v2.05 (02/10/2005 - A. Deloncle) - MPI parallelization - Adams-Bashforth order 3 is removed - full translation of the code in English - new module to read the parameter file - new way of defining the base and initial state - output statistics in spectral space v1.4 (01/09/2005 - A. Deloncle) - translation of part of the program into English - new time schemes implemented (Runge-Kutta order 2,3 and 4, Adams-Bashforth order 3) - new "timing" module with more outputs - splitting of the code into more modules - utilization of a new array to avoid using too much stack memory in writing an output file - the output functions are called directly from the main loop and not from the non_linear_term subroutine more convenient for the programmer but less efficient if switching into the physical space is required. v1.36 (16/06/2005 - A. Deloncle) : - possibility to simulate a single complex kz mode (useful for a linear stability analysis) - 2D FFT whenever nz=1 - elapsed and remaining cpu times displayed v1.35 (31/03/2005 - A. Deloncle) : - modification of the input/output file format (header...) v1.33 (15/02/2005 - A. Deloncle) : - modification of the header of the input/output files v1.31 (10/02/2005 - A. Deloncle) : - modification of the input/output file format - much more comments in the code v1.3 (10/11/2004 - A. Deloncle) : - passage du code a la norme Fortran 90/95 (modules, format libre, fonctions intrinseques sur les tableaux...) - davantage de choix pour la librairie FFT utilisee (ajout de FFTW v3.01 en version mono-processeur et parallele, ajout de la librairie ASL en version parallele, ajout de la librairie ESSL version mono-processeur) - correction de quelques "bugs" (troncature, nombre de Schmidt, termes preexponentiels pour valeurs extremes de k) - economie de memoire (reecriture des fonctions "white_noise", "gen_base2D", "gen_velo2D", tableau de troncature code en logical plutôt qu'en double precision) - possibilite de faire une troncature carree - optimisation du temps de calcul (reecriture des fonctions de la boucle principale, parallelisation openmp) - possibilite de tester la presence de NaN et d'interrompre le calcul le cas echeant (uniquement si la fonction "isnan" est disponible sur le compilateur utilise) - changement de la méthode de projection de la vitesse vo dans le plan orthogonal à k - suppression de variables/fonctions inutiles - plus d'utilisation du fait que div(u)=0 pour gagner un champ en stockage (gain en temps de calcul mais utilisation d'un champ supplementaire en espace memoire). - d'autres choses dont je ne me souviens plus... v1.2 (P. Billant) : - possibilite de desactiver la stratification pour ne pas passer par les FFT necessaires a l'equation de la densite - routine separee pour le calcul de u*grad(rho) - attention : les coordonnees x et z ont ete inversees pour que l'etat de base soit dans le plan (x,y) et la stratification et la rotation planetaire sur z v1.1 (20/04/04 - J.M. Chomaz) : - cas stratifie - version portable v1.0 (Vincent, Meneguzzi, Brancher, Delbende, Gallaire) : - Code original : Three dimensional Navier-Stokes Homogeneous Turbulence using Fourier spectral method. Version NEC-SX5 par F. Gallaire avoid memory bank conflicts Resolution de l'equation de Navier-Stokes 3d 288***3 sur Cray2 (252 megamots) Ecrit par A. Vincent et M. Meneguzzi avec des FFT de C. Temperton. Version avec huit champs: un champ de stokage (vkx0,vy,vz) dans lequel on ne travaille jamais et 6 champs de travail (vox,voy,voz) et (fx,fy,fz) Dans cette version, on impose la divergence nulle ce qui conduit au recalcul de la troisieme composante de la vitesse pour laquelle seule l'harmonique kz=0 est conservee. L'absence d'un neuvieme champ impose d'utiliser des permutations de type: (B,A,C)=(B,A,A)o(B,B,A)o(A,B,A)o(A,B,C) Version avec extraction de structures pour etude en temps.