コード例 #1
0
from param import Param
from grid import Grid
from fluid2d import Fluid2d
import numpy as np

param = Param('default.xml')
param.modelname = 'quasigeostrophic'
param.expname = 'vortex_topo_0'

# domain and resolution
ratio = 2
param.nx = 64 * 4
param.ny = param.nx // ratio
param.npx = 1
param.npy = 1
param.Lx = 2.
param.Ly = param.Lx / ratio
param.geometry = 'perio'

# time
param.tend = 50.
param.cfl = 0.8
param.adaptable_dt = True
param.dt = 1.
param.dtmax = 100.

# discretization
param.order = 5
param.flux_splitting_method = 'minmax'

# output
コード例 #2
0
ファイル: vortex.py プロジェクト: pvthinker/Fluid2d
from param import Param
from grid import Grid
from fluid2d import Fluid2d
import numpy as np

param = Param("toto")
param.modelname = 'sqg'
param.expname = 'sqg_vortex'

# domain and resolution
param.nx = 64 * 2
param.ny = param.nx
param.npy = 1
param.Lx = 1.
param.Ly = 1.
param.geometry = 'perio'

# time
param.tend = 40
param.cfl = 0.8
param.adaptable_dt = True
param.dt = 1.
param.dtmax = 100.

# discretization
param.order = 5

# output
param.ageostrophic = False
param.var_to_save = ['pv', 'psi', 'u', 'v', 'vorticity']
param.list_diag = ['pv', 'pv2']
コード例 #3
0
from numpy import exp,sqrt,pi,cos,random,shape



param = Param('default.xml') # the xml file contains all the defaults values + a doc on variable
param.modelname = 'euler' # advection, euler, boussinesq, quasigeostrophic
param.expname = 'myfirstexp' # string used to name the netcdf files:
                             # expname_his.nc and expname_diag.nc



# *** domain and resolution ***
param.nx = 32*2 # nb of grid points, should of the form 2**p, 2**p*3 or 2**p*5
param.ny = 32   # idem
param.npy=4     # nb of processors in y: should be a power of 2
param.Lx = 2.   # domain size in x [Lx can be dimensional if the user
                # wishes]
param.Ly = param.Lx/2 # domain size in y. The model imposes that dx=dy
                      # => Lx/nx = Ly/ny

param.geometry='square' # square, disc, xchannel, ychannel,
                        # perio. 'square' is a closed domain. For a
                        # more complex domain, adjust the grid.msk
                        # once grid is available




# *** time ***
param.tend=4e4 # time of integration [could be dimensional of not]
param.adaptable_dt=True
コード例 #4
0
from grid import Grid
from fluid2d import Fluid2d
from numpy import exp,sqrt,pi,cos,where,random,shape
from restart import Restart
from island import Island

param = Param('default.xml')
param.modelname = 'euler'
param.expname = 'karman_0'

# domain and resolution
ratio = 2
param.ny = 64*2
param.nx =  param.ny*ratio
param.Ly = 1.  
param.Lx = param.Ly*ratio
param.npx=1
param.npy=1
param.geometry='xchannel'

# time
param.tend=600
param.cfl=1.
param.adaptable_dt=True
param.dt = 1e-2
param.dtmax=1.

# discretization
param.order=5
param.timestepping='RK3_SSP'
コード例 #5
0
ファイル: rayleigh_benard.py プロジェクト: pvthinker/Fluid2d
from param import Param
from grid import Grid
from fluid2d import Fluid2d
import numpy as np

param = Param('default.xml')
param.modelname = 'boussinesq'
param.expname = 'RB_00'

# domain and resolution
param.nx = 64 * 2
param.ny = param.nx / 4
param.npx = 1
param.Lx = 4.
param.Ly = 1.
param.geometry = 'xchannel'

# time
param.tend = 40.
param.cfl = 1.
param.adaptable_dt = True
param.dt = .1
param.dtmax = .1
param.exacthistime = False

# discretization
param.order = 5
param.aparab = 0.02

# output
param.plot_var = 'buoyancy'
コード例 #6
0
from fluid2d import Fluid2d
from numpy import exp, sqrt, pi, cos, sin, where, random, shape, tanh, cumsum, cosh
import numpy as np
from restart import Restart
from island import Island

param = Param('default.xml')
param.modelname = 'boussinesq'
param.expname = 'Wave_NH'

# domain and resolution
ratio = 2
param.ny = 64*2
param.nx = param.ny/ratio
param.Ly = 1.
param.Lx = param.Ly/ratio
param.npx = 1
param.npy = 1
param.geometry = 'closed'

param.hydroepsilon = 1.

# time
param.tend = 10
param.cfl = 0.3
param.adaptable_dt = False
param.dt = 2e-2
param.dtmax = 1.

# discretization
param.order = 5
コード例 #7
0
from param import Param
from grid import Grid
from fluid2d import Fluid2d
import numpy as np

param = Param('default.xml')
param.modelname = 'boussinesq'
param.expname = 'khi_0'

# domain and resolution
ratio = 2
param.ny = 64*2
param.nx = param.ny*ratio
param.Ly = 1.
param.Lx = 1*ratio
param.npx = 1
param.npy = 1
param.geometry = 'xchannel'

# time
param.tend = 5.
param.cfl = 1.5
param.adaptable_dt = True
param.dt = 0.01
param.dtmax = 0.02

# discretization
param.order = 5
param.timestepping = 'RK3_SSP'

# output