source: anuga_core/source/anuga/config.py @ 4768

Last change on this file since 4768 was 4768, checked in by ole, 16 years ago

Backlog of comments and errormessages

File size: 4.9 KB
Line 
1"""Module where global pyvolution model parameters are set
2"""
3
4
5#FIXME (Ole): Temporary access to global config file
6from anuga_config import epsilon, default_boundary_tag
7
8
9
10#FIXME (Ole): More of these may need to be moved to anuga_config.py
11time_format = '%d/%m/%y %H:%M:%S'
12
13min_timestep = 1.0e-6 #Should be computed based on geometry
14max_timestep = 1.0e+3
15#This is how:
16#Define maximal possible speed in open water v_max, e.g. 500m/s (soundspeed?)
17#Then work out minimal internal distance in mesh r_min and set
18#min_timestep = r_min/v_max
19#
20#Max speeds are calculated in the flux function as
21#
22#lambda = v +/- sqrt(gh)
23#
24# so with 500 m/s, h ~ 500^2/g = 2500 m well out of the domain of the
25# shallow water wave equation
26#
27#The actual soundspeed can be as high as 1530m/s
28#(see http://staff.washington.edu/aganse/public.projects/clustering/clustering.html),
29#but that would only happen with h>225000m in this equation. Why ?
30#The maximal speed we specify is really related to the max speed
31#of surface pertubation
32#
33
34
35#v_max = 100 #For use in domain_ext.c
36sound_speed = 500
37
38
39max_smallsteps = 50  #Max number of degenerate steps allowed b4 trying first order
40
41manning = 0.03  #Manning's friction coefficient
42#g = 9.80665       #Gravity
43g = 9.8
44#g(phi) = 9780313 * (1 + 0.0053024 sin(phi)**2 - 0.000 0059 sin(2*phi)**2) micro m/s**2, where phi is the latitude
45#The 'official' average is 9.80665
46
47
48
49
50eta_w = 3.0e-3 #Wind stress coefficient
51rho_a = 1.2e-3 #Atmospheric density
52rho_w = 1023   #Fluid density [kg/m^3] (rho_w = 1023 for salt water)
53
54
55#Betas [0;1] control the allowed steepness of gradient for second order
56#extrapolations. Values of 1 allow the steepes gradients while
57#lower values are more conservative. Values of 0 correspond to
58#1'st order extrapolations.
59#
60# Large values of beta_h may cause simulations to require more timesteps
61# as surface will 'hug' closer to the bed.
62# Small values of beta_h will make code faster, but one may experience
63# artificial momenta caused by discontinuities in water depths in
64# the presence of steep slopes. One example of this would be
65# stationary water 'lapping' upwards to a higher point on the coast.
66#
67# NOTE (Ole): I believe this was addressed with the introduction of
68# tight_slope_limiters. I wish to retire the beta_? parameters.
69# Can you please let me know if you disagree?
70
71
72#There are separate betas for the w, uh, vh and h limiters
73#
74#Good values are:
75
76
77# I think these are better SR but they conflict with the unit tests!
78beta_w      = 1.0
79beta_w_dry  = 0.2
80beta_uh     = 1.0
81beta_uh_dry = 0.2
82beta_vh     = 1.0
83beta_vh_dry = 0.2
84beta_h      = 0.2
85
86# beta_h can be safely put to zero esp if we are using
87# tight_slope_limiters = 1. This will
88# also speed things up in general
89beta_h = 0.0
90
91
92# Alpha_balance controls how limiters are balanced between deep and shallow.
93# A large value will favour the deep water limiters, allowing the a closer hug to the coastline.
94# This will minimise 'creep' but at the same time cause smaller time steps
95# Range:
96
97alpha_balance = 2.0 
98
99# Flag use of new limiters.
100# tight_slope_limiters = 0 means use old limiters (e.g. for some tests)
101# tight_slope_limiters = 1 means use new limiters that hug the bathymetry closer
102tight_slope_limiters = 0
103
104
105
106CFL = 1.0  #FIXME (ole): Is this in use yet??
107           #(Steve) yes, change domain.CFL to
108           #make changes
109
110# Choose type of timestepping,
111timestepping_method = 'euler' # 1st order euler
112#timestepping_method = 'rk2'   # 2nd Order TVD scheme
113
114# Option to search for signatures where isolated triangles are
115# responsible for a small global timestep.
116# Treating these by limiting their momenta may help speed up the
117# overall computation.
118# This facility is experimental.
119protect_against_isolated_degenerate_timesteps = False
120
121pmesh_filename = '.\\pmesh'
122version_filename = 'stored_version_info.py'
123
124
125import os, sys
126
127if sys.platform == 'win32':
128    default_datadir = '.'
129else:
130    default_datadir = '.'
131
132
133use_extensions = True    #Try to use C-extensions
134#use_extensions = False   #Do not use C-extensions
135
136use_psyco = True  #Use psyco optimisations
137#use_psyco = False  #Do not use psyco optimisations
138
139
140optimise_dry_cells = True # Exclude dry and still cells from flux computation
141
142optimised_gradient_limiter = True # Use hardwired gradient limiter
143
144#Specific to shallow water W.E.
145minimum_allowed_height = 1.0e-3 #Water depth below which it is considered to be 0 in the model
146
147maximum_allowed_speed = 0.0 # Maximal particle speed of water
148#maximum_allowed_speed = 1.0 # Maximal particle speed of water
149                            # Too large (100) creates 'flopping' water
150                            # Too small (0) creates 'creep'
151
152
153minimum_storable_height = 1.0e-5 # Water depth below which it is *stored* as 0
154
155points_file_block_line_size = 500 # Number of lines read in from a points file
156                                  # when blocking
157
158umask = 002  # used to set file and directory permission created by anuga
159
160max_float = 1.0e36 # Largest number. Used to initialise (max, min) ranges.
161   
Note: See TracBrowser for help on using the repository browser.