Commit 62264216 authored by Dan's avatar Dan
Browse files

Commit after loading initial version before split into trunk,

copying trunk to branches/branch_dan and branches/brenach_oleg
then I copied in dan's and
oleg's latest version into these branches.
I then added all new files in the branches. I also cleaned out some old/unused files from the branches.


Former-commit-id: 4940fd772746501048d51c7c0968422140582294
parent a693d867
......@@ -65,10 +65,7 @@ it when the db changes. We then use the zero bit flage to minimize zero multipli
- grab pressure by n_var_pressure global and save as pressure
- pass u all the way down so all additonal variables are available to user_rhs
-- We really need to have link lists of points by deriv_lev (from each fact node.)
They can be rebuilt as part of update_db proceedures.
Then diff_aux routines can retrieve points by deriv level!
(Then I beleive that in diff_aux for deriv_lev we only need points on that level (maybe one below?)
-- db_nwlt should be only private to db_lines, remove all references in wavelet_3d_lines.f90
......@@ -159,6 +156,57 @@ _???
-- Need to make more general restart to allow restart from a file that contains
different variables
-- Deriv weights set relative to j_lev in indices_db but leftright bounds set once
in accel_indices_db(). the weights should be set relative to j_mx in
accel_indices_db() also.
-- do away with duh tmp arrays in diff_aux routines.
need shift for bnd points that is uniqe to bnd face, and level (j_in).
options:
1) change BND bit to BND short(byte) int that is 0-not bnd or >0 face,
then Db has info the calculate line_flat_indx() with appropriate shift based on j_in and face.
can do flat_line_indx = db_flat_line_indx_val + BND_int*shift(j_in,BND_int)
then shift(1:j_mx,1:2**dim)
-- make node contigues memory. Implement as IfDef for now.
as part of this move any routines that do direct ptr access to node to db_fronend
-- make face a 2d array of type (not pointer to type!)
do away with array # of element per j (we can find end of line by null next ptr)
make array of ptrs by lev just a 1:j_mx array, It is allocated 1:j_mx anyway (CANT do this?)
I do not know how to do a type with a variable lenght array in it?
-- need to zero ghost points in c_diff_fast sweep not a seperate sweep!!
STILL NEED TO GET THIS WORKING...
-- parallel openMP
take lines for Nproc interleaved across domain to
load balance points!!
asign line to procs in circular order
1234123412341234
-- in c_wlt_trns_aux make active lines relative to j for each call (like in diff_aux_ )
-- do not calculate ghost points for the initial adaptation to a adapted grid.
(this will save time for large cases)
-- everywhere flags are used they need to be declared INTEGER (KIND_INT_FLAGS)::
-- MAKE dt read from restart not used. USE dt from the input file!!!
-- Add time, and station # to header in spectra file for post processing...
-- If default real == 8 is set for all files the restart file changes
and is thus unreadable from real==4 code. This should be changed to
explicitly make everything real4 so this won't happen(if possible in
f90..)
Questions:
DONE:@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
......@@ -245,4 +293,32 @@ based on the logical mask.
Done: it is ok to not sort. The error difference is within machine precision
-- Put sgs_models.f90 into case_..f90 DONE
\ No newline at end of file
-- Put sgs_models.f90 into case_..f90 DONE
-- We really need to have link lists of points by deriv_lev (from each fact node.)
They can be rebuilt as part of update_db proceedures.
Then diff_aux routines can retrieve points by deriv level!
(Then I beleive that in diff_aux for deriv_lev we only need points on that level (maybe one below?)
NO Still need points on lev j and below...
-- In diff_aux_D1andD2_db() and variants we need to pull only the points from db that we need. Now we pull all points on a line and then sort them in deriv routine.
This should be done at a lower level since the information needed deriv_lev and if it is a ghost pt is available in the db! (SPEED UP!!!)
NO see above..
-- avoid empty calls to diff_aux routines
This happens when a line has points on level <= j_in but has no points with j_in == line_deriv_lev(indx_line)
DONE, added line_flags. 1:jlev bits ae whether or not a line has
pts with j_deriv==j(bit pos)
-- fix ERROR in diff_aux_diag... Marked.. DONE
-- -- check is level and truncated_deriv_level are used in node type!!!
NO they were not! commented them out..DG
-- add deleted pts list to get/put routines so line_u does not need to be zeroed each time!!
Done
--new get_active_liens_diff_aux
make lines relative to j_in
use indx_DB shift to put right in du, d2u
Done
MODULE user_case_db
!
! n_var_db must be set to
! Count( Union (n_var_adapt, n_var_interpolate))
! This is the total number of variable that either are used for adaptation
! criteria or need to be interpolated to new grid at each time step
! or that are needed for vector derivatives.
!
INTEGER , PARAMETER :: n_var_db = 3 !3d
!INTEGER , PARAMETER :: n_var_db = 5 !2d
INTEGER , PARAMETER :: max_dim = 3 ! maximum dimension in DB
END MODULE user_case_db
#------------------------------------------------------------------#
# General input file format #
# #
# comments start with # till the end of the line #
# string constant are quoted by "..." or '...' #
# boolean can be (T F 1 0 on off) in or without ' or " quotes #
# integers are integers #
# real numbers are whatever (e.g. 1 1.0 1e-23 1.123d-54 ) #
# vector elements are separated by commas #
# spaces between tokens are not important #
# empty or comment lines are not important #
# order of lines is not important #
#------------------------------------------------------------------#
file_gen = 'elliptic.tst1.dan.'
dimension = 3 # dim (2,3), # of dimensions
IC_restart = F # ICrestart
IC_restart_station = 4 # ICrestart_station, after restart the next station number to use
IC_from_file = F # Do a new run with IC from a restart file
IC_file_fmt = 0 # IC data file format (0 - native restart file, 1-netcdf, 2-A.Wray in fourier space, 3-simple binary) next line is IC filename
#IC_filename = 'C:\dan\research\wavelet_code\results.saved\nc.0' # initial field
IC_filename = 'results/celliptic.tst1.dan.0000.res'
Data_file_format = F # T = formatted, F = unformatted
coord_min = -1.0, -1.0, -1.0 # XMIN, YMIN, ZMIN, etc
coord_max = 1.0, 1.0, 1.0 # XMAX, YMAX, ZMAX, etc
coord_zone_min = -10e+00, -10e+00, -10e+00, # XMINzone, etc
coord_zone_max = 10e+00 , 10e+00 , 10e+00 , # XMAXzone, etc
eps_init = 1.e-3 # (1.5 they match first adapt) EPS used to adapt initial grid
eps_run = 1.e-3 # EPS used in run
eps_adapt_steps = 2 # eps_adapt_steps ! how many time steps to adapt from eps_init to eps_run
Scale_Meth = 1 # Scale_Meth !1- Linf, 2-L2
scl_fltwt = 0.0 # scl temporal filter weight, scl_new = scl_fltwt*scl_old + ( 1-scl_fltwt)*scl_new
scaleCoeff = 1 1 1 1 1 1 1 1
j_mn_init = 3 # J_mn_init force J_mn == J_INIT while adapting to IC
j_ICdatafile = 5 # J_ICdatafile if the IC data does not have dimensions in it then mxyz(:)*2^(j_ICdatafile-1) is used
J_MN = 2 # J_MN
J_MX = 7 # J_MX
J_FILT = 20 # J_FILT
M_vector = 4,4,4 # Mx, My, Mz
periodic = 0,0,0 # prd(:) (0/1) 0: non-periodic; 1: periodic
uniform = 0,0,0 # grid(:) (0/1) 0: uniform; 1: non-uniform
i_h = 123456 # order of boundaries (1-xmin,2-xmax,3-ymin,4-ymax,5-zmin,6-zmax)
i_l = 111111 # algebraic/evolution (1/0) BC order: (lrbt)
N_predict = 3 # N_predict
N_update = 3 # N_update
N_diff = 3 # N_diff
IJ_ADJ = 0,1,1 # IJ_ADJ(-1:1) = (coarser level), (same level), (finer level)
ADJ_type = 1,1,1 # ADJ_type(-1:1) = (coarser level), (same level), (finer level) # (0 - less conservative, 1 - more conservative)
BNDzone = F # BNDzone
BCtype = 0 # BCtype (0 - Dirichlet, 1 - Neuman, 2 - Mixed)
time_integration_method = 2 # 0- meth2, 1 -krylov, 2 - Crank Nicolson
t_begin = 0.0000 # tbeg 0.2500000e+00
t_end = 0.0 # tend 0.2600000e+00
dt = 1.0000000e-04 # dt
dtmax = 1.0000000e-02 # dtmax
dtmin = 1.0000000e-08 # dtmin-if dt < dtmin then exection stops(likely blowing up)
dtwrite = 1.0000000e-04 # dtwrite 1.0000000e-02
t_adapt = 2.0e-4 # when t > t_adapt use an adaptive time step if possible
# cfl = 1.0000000e-00 # cfl
cflmax = 1.0000000e-00 # cflmax
cflmin = 0.0000000e-00 # cflmin
nu = 0.135 # nu 1.0000000e-03, viscosity
nu1 = 1.0000000e-02 # nu1 5.0000000e-02
Zero_Mean = T # T- enforce zero mean for 1:dim first variables (velocity usually), F- do nothing
u0 = 0.0000000e+00 # u0
eta = 1.0000000e-04 # eta, alpha
theta = 0.0000000e+01 # theta (in degrees) (angle of 2D Burger's equation, ifn=3=> theta is angular velocity)
theta1 = -4.5000000e+01 # theta1 (in degrees) (angle of 2D Burger's equation)
GMRESflag = T # GMRESflag
BiCGSTABflag = F # BiCGSTABflag
kry_p = 2 # kry_p
kry_p_coarse = 100 # kry_p_coarse
len_bicgstab = 6 # len_bicgstab
len_bicgstab_coarse = 100 # len_bicgstab_coarse
len_iter = 3 # len_iter
W0 = 1.0000000e+00 # W0 underrelaxation factor for inner V-cycle
W1 = 1.0000000e+00 # W1 underrelaxation factor on the finest level
W2 = 0.6666667e+00 # W2 underrelaxation factor for weighted Jacoby (inner points)
W3 = 1.0000000e-00 # W3 underrelaxation factor for weighted Jacoby (boundary points)
W4 = 1.0000000e-00 # W4 underrelaxation factor for weighted Jacoby (boundary points)
obstacle = F # imask !TRUE - there is an obstacle defined
itime = 3 # itime ! 0- Euler first-order, 1- Rotational first-order, 2- Second-order, 3-Semi-implicit second-order
obstacle_X = 0,0,0 # Xo(:)! Location of obstacle
obstacle_U = 0,0,0 # Uo(:)! Velocity of obstacle
obstacle_move = 0,0,0 # 1- Obstacle allowed to move in that direction, else == 0
diameter = 1.0 # d diameter of cylinder as an obstacle
k_star = 8.7400000e+00 # k_star
m_star = 5.0000000e+00 # m_star
b_star = 0.0000000e-03 # b_star
tol1 = 1.0000000e-04 # tol1 used to set tolerence for non-solenoidal half-step
tol2 = 1.0000000e-04 # tol2 used to set tolerence for solenoidal half-step
tol3 = 1.0000000e-3 # used to set tolerence for time step
tol_gmres = 1.0e-4
tol_gmres_stop_if_larger = F # If true stop iterating in gmres solver if error of last iteration was smaller
wlog = T # wlog
dtforce = 0.0 # dtforce ! time interval for calculating the lift force
Pressure_force = 0,0,0 # Pressure forcing term in x-dr
Reading input file:
C:\dan\research\wavelet_code\wlt_3d_DBs\TestCases\EllipticTest1\case_elliptic_
poisson.inp
********************************************************************
ile_gen = "elliptic.tst1.dan." # base file name
imension = 3 # dim (2,3), # of dimensions
C_restart = F # IC_Restart, T or F, restart a previous run. (multually exclusive with IC_from_restart_file)
C_from_file = F # IC_from_file, T read from IC file, F use built in IC, IC_restart determines if we will restart from it.
C_file_fmt = 0 # IC file format (0 - native restart file format, 1-netcdf, 2-A.Wray in fourier space, 3-simple binary) next line is IC filename
C_filename = "results/celliptic.tst1.dan.0000.re # IC filename
C_restart_station = 4 # IC_restart_station, after restart the next station number to use
ata_file_format = F # T-formatted data file, F- unformatted data file
oord_min = -0.1000000E+01,-0.1000000E+01,-0.1000000E+01 # XMIN, YMIN, ZMIN, etc
oord_max = 0.1000000E+01, 0.1000000E+01, 0.1000000E+01 # XMAX, YMAX, ZMAX, etc
oord_zone_min = -0.1000000E+02,-0.1000000E+02,-0.1000000E+02 # XMINzone, etc
oord_zone_max = 0.1000000E+02, 0.1000000E+02, 0.1000000E+02 # XMAXzone, etc
ps_init = 0.1000000E-02 # EPS used to adapt initial grid
ps_run = 0.1000000E-02 # EPS used in run
ps_adapt_steps = 2 # how many time steps to adapt from eps_init to eps_run
cale_Meth = 1 # Scale_Meth !1- Linf, 2-L2
cl_fltwt = 0.0000000E+00 # scl temporal filter weight, scl_new = scl_fltwt*scl_old + ( 1-scl_fltwt)*scl_new
_mn_init = 3 # J_mn_init, force J_mn == J_INIT while adapting to inital conditions
_ICdatafile = 5 # J_ICdatafile if the IC data does not have dimensions in it then mxyz(:)*2^(j_ICdatafile-1) is used
_MN = 2 # J_MN
_MX = 7 # J_MX
_FILT = 20 # J_FILT
_vector = 4, 4, 4 # Mx, etc
eriodic = 0, 0, 0 # prd(:) (0/1) 0: non-periodic; 1: periodic
niform = 0, 0, 0 # grid(:) (0/1) 0: uniform; 1: non-uniform
_h = 123456 # order of boundaries (1-xmin,2-xmax,3-ymin,4-ymax,5-zmin,6-zmax)
_l = 111111 # algebraic/evolution (1/0) BC order: (lrbt)
_predict = 3 # N_predict
_update = 3 # N_update
_diff = 3 # N_diff
J_ADJ = 0, 1, 1 # IJ_ADJ(-1:1) = (coarser level), (same level), (finer level)
DJ_type = 1, 1, 1 # ADJ_type(-1:1) = (coarser level), (same level), (finer level) # (0 - less conservative, 1 - more conservative)
NDzone = F # BNDzone
ime_integration_method = 2 # 0- meth2, 1 -krylov, 2 - Crank Nicolson
_begin = 0.0000000E+00 # tbeg
_end = 0.0000000E+00 # tend
t = 0.1000000E-03 # dt
tmax = 0.1000000E-01 # dtmax
tmin = 0.1000000E-07 # dtmin-if dt < dtmin then exection stops(likely blowing up)
twrite = 0.1000000E-03 # dtwrite
_adapt = 0.2000000E-03 # t_adapt, when t > t_adapt use an adaptive time step if possible
flmax = 0.1000000E+01 # cflmax
flmin = 0.0000000E+00 # cflmin
ero_Mean = T # T- enforce zero mean for 1:dim first variables (velocity usually), F- do nothing
ta = 0.1000000E-03 # eta
MRESflag = T # GMRESflag
iCGSTABflag = F # BiCGSTABflag
ry_p = 2 # kry_p
ry_p_coarse = 100 # kry_p_coars
en_bicgstab = 6 # len_bicgstab
en_bicgstab_coarse = 100 # len_bicgstab_coarse
en_iter = 3 # len_iter
0 = 0.1000000E+01 # w0 !underrelaxation factor for inner V-cycle
1 = 0.1000000E+01 # w1 !underrelaxation factor on the finest level
2 = 0.6666667E+00 # w2 !underrelaxation factor for weighted Jacoby (inner points)
3 = 0.1000000E+01 # !underrelaxation factor for weighted Jacoby (boundary points)
4 = 0.1000000E+01 # !underrelaxation factor for weighted Jacoby (boundary points)
time = 3 # itime ! 0- Euler first-order, 1- Rotational first-order, 2- Second-order, 3-Semi-implicit second-order
ol1 = 0.1000000E-03 # tol1 ! used to set tolerence for non-solenoidal half-step
ol2 = 0.1000000E-03 # ! used to set tolerence for solenoidal half-step
ol3 = 0.1000000E-02 # ! used to set tolerence for time step
ol_gmres = 0.1000000E-03 # ! used to set tolerence for gmres iterative solver
ol_gmres_stop_if_larger = F # If true stop iterating in gmres solver if error of last iteration was smaller
log = T # wlog: If T log wavelet stats
********************************************************************
* Inputs read by user case *
********************************************************************
********************************************************************
Done Reading input file:
C:\dan\research\wavelet_code\wlt_3d_DBs\TestCases\EllipticTest1\case_elliptic_
poisson.inp
ibnd: 1 2 3 4 5 6
ibc: 1 1 1 1 1 1
**********************Setting up PDE*****************
CASE Elliptic
*****************************************************
n_integrated = 1
n_time_levels = 1
n_var_time_levels = 1
n_var = 1
n_var_exact = 1
*******************Variable Names*******************
Scalar_1
****************************************************
******************************************************************************
*
Warning, Possible error, n_var < n_var_db
There is a reason this can happen because the derivatives can use more data_ba
se slots than the
total number of variables. But if this is not the case then memory is just bei
ng wasted
n_var_db is set as a parameter in user_case_db_defs.f90 so that
the u array in the db node can be statically allocated to the right length.
To change this edit user_case_db_defs.f90 so n_var_db matches the value setup
in the current
case in subroutine user_setup_pde (). Currently n_var = 1
n_var_db = 3
******************************************************************************
*
at indices
nwlt_old 0
nwlt 0
nwltMbc 0
nwltj_old 0
nwltj 0
new_grid F
j_lev_old 0
j_lev_a , 0
j_mn_init 3
j_mx 7
K INDX j_lev = 004 j = 001 2**(j_lev-j) = 008
K INDX j_lev = 004 j = 002 2**(j_lev-j) = 004
K INDX j_lev = 004 j = 003 2**(j_lev-j) = 002
K INDX j_lev = 004 j = 004 2**(j_lev-j) = 001
lv_intrnl 0 27 343 3375 29791
lv_bnd(0,:,:) -1163005939 -1163005939 -1163005939 -1163005939 -1163005939
-1163005939 29792 30881 31970 32993 34016
34977 29817 30906 31985 33008 34025
34986 29873 30962 32033 33056 34065
35026 30081 31170 32225 33248 34241
35202
lv_bnd(1,:,:) -1163005939 -1163005939 -1163005939 -1163005939 -1163005939
-1163005939 29816 30905 31984 33007 34024
34985 29872 30961 32032 33055 34064
35025 30080 31169 32224 33247 34240
35201 30880 31969 32992 34015 34976
35937
lv_bnd(2,:,:) -1163005939 -1163005939 -1163005939 -1163005939 -1163005939
-1163005939 28 53 78 93 108
117 344 425 506 569 632
681 3376 3665 3954 4209 4464
4689 29792 30881 31970 32993 34016
34977
lv_bnd(3,:,:) -1163005939 -1163005939 -1163005939 -1163005939 -1163005939
-1163005939 52 77 92 107 116
125 424 505 568 631 680
729 3664 3953 4208 4463 4688
4913 30880 31969 32992 34015 34976
35937
TEST 1 nwlt, nwlt_old 35937 35937
TEST 1.5 nwlt, nwlt_old 35937 35937 32 32
32
K INDX j_lev = 004 j = 001 2**(j_lev-j) = 008
K INDX j_lev = 004 j = 002 2**(j_lev-j) = 004
K INDX j_lev = 004 j = 003 2**(j_lev-j) = 002
K INDX j_lev = 004 j = 004 2**(j_lev-j) = 001
lv_intrnl 0 27 343 3375 29791
lv_bnd(0,:,:) -1163005939 -1163005939 -1163005939 -1163005939 -1163005939
-1163005939 29792 30881 31970 32993 34016
34977 29817 30906 31985 33008 34025
34986 29873 30962 32033 33056 34065
35026 30081 31170 32225 33248 34241
35202
lv_bnd(1,:,:) -1163005939 -1163005939 -1163005939 -1163005939 -1163005939
-1163005939 29816 30905 31984 33007 34024
34985 29872 30961 32032 33055 34064
35025 30080 31169 32224 33247 34240
35201 30880 31969 32992 34015 34976
35937
lv_bnd(2,:,:) -1163005939 -1163005939 -1163005939 -1163005939 -1163005939
-1163005939 28 53 78 93 108
117 344 425 506 569 632
681 3376 3665 3954 4209 4464
4689 29792 30881 31970 32993 34016
34977
lv_bnd(3,:,:) -1163005939 -1163005939 -1163005939 -1163005939 -1163005939
-1163005939 52 77 92 107 116
125 424 505 568 631 680
729 3664 3953 4208 4463 4688
4913 30880 31969 32992 34015 34976
35937
Total # of points in i_d mask before: 35937
Total # of points in i_d mask after: 35937
TEST sum dA = 8.00000000000000
TEST area = 8.00000000000000
TEST sum dA/area = 1.00000000000000
Linsolve: solve Lu(u)=f
Initial iterative solver
MRES it = 1 Err = 3.25635370356E-01
MRES it = 2 Err = 3.78628143239E-01
nitial error = 1.9630034371E+01
cl_rhs = 7.1648350406E+01
caled tol = 7.1648350406E-03
---------------------- V-cycle Iteration 1 -----------------------
Down V-cycle
Jacoby soln j = 4
Jacoby soln j = 3
Jacoby soln j = 2
Coarsest Level iterative Solver
MRES it = 1 Err = 2.84788198358E-01
MRES it = 2 Err = 4.52729991998E-01
MRES it = 3 Err = 2.19336466848E-01
MRES it = 4 Err = 2.25106868005E-01
MRES it = 5 Err = 2.05920380050E-01
MRES it = 6 Err = 2.16661006660E-01
MRES it = 7 Err = 1.88866084777E-01
MRES it = 8 Err = 3.25588799453E-01
MRES it = 9 Err = 5.52875205989E-02
MRES it = 10 Err = 6.25212677847E-11
Up V-cycle
Jacoby soln j = 2
Jacoby soln j = 3
Jacoby soln j = 4
Exact iterative Solver
MRES it = 1 Err = 8.51649416046E-01
MRES it = 2 Err = 1.66901326961E+00
After V-cycle 1: L2 residue = 5.15665792878E-02
After V-cycle 1: error = 3.69466034203E+00
\ No newline at end of file
3d566b09ccd5f311cd844049ff6452483957e021
\ No newline at end of file
% time iteration L2err_ie01 Linferr_ie01 L2err_ie02 Linferr_ie02
0.00000E+00 0 0.00000E+00 0.00000E+00 0.00000E+00 0.00000E+00
% time iteration L2err_ie01 Linferr_ie01 L2err_ie02 Linferr_ie02
0.00000E+00 0 0.00000E+00 0.00000E+00 0.00000E+00 0.00000E+00
% time iteration L2err_ie01 Linferr_ie01 L2err_ie02 Linferr_ie02
0.00000E+00 0 0.00000E+00 0.00000E+00 0.00000E+00 0.00000E+00
0.00000E+00 0 0.34364E-05 0.18817E-06 0.34364E-05 0.18817E-06
0.00000E+00 0 0.00000E+00 0.00000E+00 0.00000E+00 0.00000E+00
0.00000E+00 0 0.10610E-03 0.11997E-04 0.10610E-03 0.11997E-04
0.00000E+00 0 0.00000E+00 0.00000E+00 0.00000E+00 0.00000E+00
0.00000E+00 0 0.00000E+00 0.00000E+00 0.62063E-16 0.55511E-16
% time iteration L2err_ie01 Linferr_ie01
0.00000E+00 0 0.39021E-02 0.45766E-03
% time iteration L2err_ie01 Linferr_ie01
0.00000E+00 0 0.39021E-02 0.45766E-03
0.00000E+00 0 0.10966E-01 0.94880E-03
0.00000E+00 0 0.11926E+00 0.13301E-02
0.00000E+00 0 0.11858E+00 0.13301E-02
0.00000E+00 0 0.11616E+00 0.12359E-02
0.00000E+00 0 0.11616E+00 0.12359E-02
% t, dt, loop_cpu_time , j_lev, nwlt, Xo(1), Xo(2), Xo(3), Uo(1), Uo(2), Uo(3), nxyz(1), nxyz(2), nxyz(3),
% t, dt, loop_cpu_time , j_lev, nwlt, Xo(1), Xo(2), Xo(3), Uo(1), Uo(2), Uo(3), nxyz(1), nxyz(2), nxyz(3),
% time iteration L2err_ie01 Linferr_ie01
0.00000E+00 0 0.39021E-02 0.45766E-03
0.00000E+00 0 0.10966E-01 0.94880E-03
0.00000E+00 0 0.11926E+00 0.13301E-02
0.00000E+00 0 0.11858E+00 0.13301E-02
0.00000E+00 0 0.11616E+00 0.12359E-02
0.00000E+00 0 0.11616E+00 0.12359E-02
#------------------------------------------------------------------#
# General input file format #
# #
# comments start with # till the end of the line #
# string constant are quoted by "..." or '...' #
# boolean can be (T F 1 0 on off) in or without ' or " quotes #
# integers are integers #
# real numbers are whatever (e.g. 1 1.0 1e-23 1.123d-54 ) #
# vector elements are separated by commas #
# spaces between tokens are not important #
# empty or comment lines are not important #
# order of lines is not important #
#------------------------------------------------------------------#
file_gen = 'nc.0.test.danjmx4.rst1.'
dimension = 3 # dim (2,3), # of dimensions
IC_restart = T # ICrestart
IC_from_file = T # Do a new run with IC from a restart file
IC_file_fmt = 0 # IC data file format (0 - native restart file, 1-netcdf, 2-A.Wray in fourier space, 3-simple binary) next line is IC filename
###IC_filename = 'C:\dan\research\wavelet_code\results.saved\nc.0' # initial field
IC_filename = 'results/cnc.0.test.danjmx4.0003.res'
IC_restart_station = 4 # ICrestart_station, after restart the next station number to use
Data_file_format = F # T = formatted, F = unformatted
coord_min = 0.0, 0.0, 0.0 # XMIN, YMIN, ZMIN, etc
coord_max = 6.283185,6.283185,6.283185 # XMAX, YMAX, ZMAX, etc
coord_zone_min = -3.5e+00, -3.5e+00, -3.5e+00, # XMINzone, etc
coord_zone_max = -10e+00 , -10e+00 , -10e+00 , # XMAXzone, etc
eps_init = 0.50 # (1.5 they match first adapt) EPS used to adapt initial grid
eps_run = 0.50 # EPS used in run
eps_adapt_steps = 2 # eps_adapt_steps ! how many time steps to adapt from eps_init to eps_run
Scale_Meth = 2 # Scale_Meth !1- Linf, 2-L2
scl_fltwt = 0.0 # scl temporal filter weight, scl_new = scl_fltwt*scl_old + ( 1-scl_fltwt)*scl_new
scaleCoeff = 1 1 1 1 1 1 1 1
j_mn_init = 3 # J_mn_init force J_mn == J_INIT while adapting to IC
j_ICdatafile = 5 # J_ICdatafile if the IC data does not have dimensions in it then mxyz(:)*2^(j_ICdatafile-1) is used
J_MN = 2 # J_MN
J_MX = 4 # J_MX
J_FILT = 20 # J_FILT
M_vector = 8,8,8 # Mx, My, Mz
periodic = 1,1,1 # prd(:) (0/1) 0: non-periodic; 1: periodic
uniform = 0,0,0 # grid(:) (0/1) 0: uniform; 1: non-uniform
i_h = 123456 # order of boundaries (1-xmin,2-xmax,3-ymin,4-ymax,5-zmin,6-zmax)
i_l = 111111 # algebraic/evolution (1/0) BC order: (lrbt)
N_predict = 3 # N_predict
N_update = 3 # N_update
N_diff = 3 # N_diff
IJ_ADJ = 0,1,1 # IJ_ADJ(-1:1) = (coarser level), (same level), (finer level)
ADJ_type = 1,1,1 # ADJ_type(-1:1) = (coarser level), (same level), (finer level) # (0 - less conservative, 1 - more conservative)
BNDzone = F # BNDzone
BCtype = 0 # BCtype (0 - Dirichlet, 1 - Neuman, 2 - Mixed)
time_integration_method = 2 # 0- meth2, 1 -krylov, 2 - Crank Nicolson
t_begin = 0.0000 # tbeg 0.2500000e+00
t_end = 0.6 # tend 0.2600000e+00
dt = 1.0000000e-05 # 1.e-4 dt
dtmax = 1.0000000e-02 # dtmax
dtmin = 1.0000000e-08 # dtmin-if dt < dtmin then exection stops(likely blowing up)
dtwrite = 1.0000000e-05 # dtwrite 1.0000000e-02
t_adapt = 2.0e-0 # 2.0e-4when t > t_adapt use an adaptive time step if possible