initcond
Module
Description
$Id$
This module contains code used by the corresponding physics modules to set up various initial conditions (stratitication, perturbations, and other structures). This module is not used during run time (although it is used by the physics modules that are used both during run time and for the initial condition).
Quick access
- Variables:
error_stratification_dat_size,gaunoise,gaunoise_prof_scal,gaunoise_prof_vect,gaunoise_rprof,gaunoise_rprof_scal,gaunoise_rprof_vect,gaunoise_scal,posnoise,posnoise_rel,posnoise_rel_scal,posnoise_rel_vect,posnoise_scal,posnoise_vect,wave_fmt1- Routines:
abc_field(),acosy(),arcade_x(),baroclinic(),beltrami(),beltrami_complex(),beltrami_general(),beltrami_old(),beltramik_general(),bessel_az_x(),bessel_x(),bhyperz(),bihelical(),bipolar(),bipolar_restzero(),bjump(),bjumpz(),bunch_davies(),coalesce_tubes(),coalesce_tubes_pe(),const_lou(),const_omega(),corona_init(),cos2x_cos2y_cos2z(),cos_cos_sin(),coswave(),coswave_phase(),cosx_coscosy_cosz(),cosx_cosy_cosz(),cosx_cosz(),cosx_siny_cosz(),cosxz_cosz(),cosy_cosz(),cosy_sinz(),cosyz_sinz(),couette(),couette_rings(),crazy(),diffrot(),dipole(),dipole_tor(),dipolea(),dipoleb(),exponential(),ferriere_uniform_x(),ferriere_uniform_y(),file_init(),gaussian(),gaussian3d(),gaussian_by_z(),gaussianpos(),halfcos_x(),halfcos_z(),hat(),hat3d(),hatwave(),hawley_etal99a(),hfluxlayer(),hfluxlayer_y(),hfluxlayer_y_theta(),htanh(),htube(),htube2(),htube2_x(),htube_erf(),htube_x(),innerbox(),isotdisk(),jump(),linprof(),lnx_cosy_cosz(),mag_az_init(),mag_init(),magsupport(),mdi_init(),modeb(),modes(),modev(),olddiffrot(),parabola(),phi_comp_over_r(),phi_siny_over_r2(),planet(),planet_hc(),power_randomphase(),power_randomphase_hel(),powern(),pre_stellar_cloud(),quadrupole(),quadrupole2(),quadrupole3(),random_isotropic_ks(),random_isotropic_shell(),read_outside_scal_array(),read_outside_vec_array(),robertsflow(),rolls(),rotated_robertsflow(),rotblob(),rotblob_yz(),sech2x(),sin2x_sin2y_cosz(),sinwave(),sinwave_phase(),sinx_cosy_cosz(),sinx_siny_cosz(),sinx_siny_sinz(),sinxsinz(),soundwave(),sph_constb(),straining(),strange(),stratification(),stratification_x(),stratification_xz(),switchback(),tanh_hyperbola(),temp_hydrostatic(),tor_pert(),trilinear(),triquad(),uniform_phi(),uniform_x(),uniform_y(),uniform_z(),vecpatternxy(),vfield(),vfield2(),vfluxlayer(),vortex_2d(),vtube(),vtube_peri(),wave(),wave_uu(),x1_cosy_cosz(),x1_siny_cosz(),x32_siny_cosz(),x3_cosy_cosz(),x3_siny_cosz(),x_siny_cosz(),xpoint(),xpoint2()
Needed modules
Variables
- initcond/error_stratification_dat_size [private]
- initcond/gaunoise_prof_scal [private]
- initcond/gaunoise_prof_vect [private]
- initcond/gaunoise_rprof_scal [private]
- initcond/gaunoise_rprof_vect [private]
- initcond/gaunoise_scal [private]
- initcond/gaunoise_vect [private]
- initcond/ilnrho_cs2 [integer,private/parameter/optional/default=5]
- initcond/ilnrho_ee [integer,private/parameter/optional/default=2]
- initcond/ilnrho_eth [integer,private/parameter/optional/default=14]
- initcond/ilnrho_lntt [integer,private/parameter/optional/default=4]
- initcond/ilnrho_pp [integer,private/parameter/optional/default=3]
- initcond/ilnrho_ss [integer,private/parameter/optional/default=1]
- initcond/ilnrho_tt [integer,private/parameter/optional/default=9]
- initcond/ipp_cs2 [integer,private/parameter/optional/default=12]
- initcond/ipp_ss [integer,private/parameter/optional/default=11]
- initcond/irho_cs2 [integer,private/parameter/optional/default=6]
- initcond/irho_ee [integer,private/parameter/optional/default=15]
- initcond/irho_eth [integer,private/parameter/optional/default=13]
- initcond/irho_lntt [integer,private/parameter/optional/default=8]
- initcond/irho_pp [integer,private/parameter/optional/default=16]
- initcond/irho_ss [integer,private/parameter/optional/default=7]
- initcond/irho_tt [integer,private/parameter/optional/default=10]
- initcond/posnoise_rel_scal [private]
- initcond/posnoise_rel_vect [private]
- initcond/posnoise_scal [private]
- initcond/posnoise_vect [private]
- initcond/wave_fmt1 [character,private/optional/default='(1x,a,e9.2,3f8.2)']
Subroutines and functions
- subroutine initcond/phi_siny_over_r2(f, i)
A_phi ~ sin(y)/R^2 if R>=0.7 field (in terms of vector potential)
14-oct-09/irina: coded
- Parameters:
f (,,*,*) [real,contiguous]
i [integer]
- Call to:
fatal_error(),warning(),write_zprof(),erfunc(),get_radial_distance(),parabola(),fourier_transform(),not_implemented(),stop_it_if_any(),sum_xy(),setup_extrapol_fact(),field_extrapol_z_parallel(),mag_init()
- subroutine initcond/sinxsinz(ampl, f, i[, kx[, ky[, kz[, kkx[, kky[, kkz]]]]]])
sinusoidal wave. Note: f(:,:,:,j) with j=i+1 is set.
26-jul-02/axel: coded
- Parameters:
ampl [real]
f (,,*,*) [real,contiguous]
i [integer]
kx [real]
ky [real]
kz [real] :: ,maxA
kkx [real]
kky [real]
kkz [real]
- Called from:
- Call to:
fatal_error(),warning(),write_zprof(),erfunc(),get_radial_distance(),parabola(),fourier_transform(),not_implemented(),stop_it_if_any(),sum_xy(),setup_extrapol_fact(),field_extrapol_z_parallel(),mag_init()
- subroutine initcond/sinx_siny_sinz(ampl, f, i[, kx[, ky[, kz]]])
sinusoidal wave, adapted from sinxsinz (that routine was already doing this, but under a different name)
20-jan-07/axel: adapted
- Parameters:
ampl [real]
f (,,*,*) [real,contiguous]
i [integer]
kx [real]
ky [real]
kz [real] :: ,maxA
- Called from:
- Call to:
fatal_error(),warning(),write_zprof(),erfunc(),get_radial_distance(),parabola(),fourier_transform(),not_implemented(),stop_it_if_any(),sum_xy(),setup_extrapol_fact(),field_extrapol_z_parallel(),mag_init()
- subroutine initcond/sinx_siny_cosz(ampl, f, i[, kx[, ky[, kz]]])
sinusoidal wave, adapted from sinxsinz (that routine was already doing this, but under a different name)
2-dec-03/axel: coded
- Parameters:
ampl [real]
f (,,*,*) [real,contiguous]
i [integer]
kx [real]
ky [real]
kz [real] :: ,maxA
- Called from:
- Call to:
fatal_error(),warning(),write_zprof(),erfunc(),get_radial_distance(),parabola(),fourier_transform(),not_implemented(),stop_it_if_any(),sum_xy(),setup_extrapol_fact(),field_extrapol_z_parallel(),mag_init()
- subroutine initcond/x3_siny_cosz(ampl, f, i, x1, x2[, ky[, kz]])
sinusoidal wave, adapted from sinxsinz (that routine was already doing this, but under a different name)
8-may-12/axel: coded
- Parameters:
ampl [real]
f (,,*,*) [real,contiguous]
i [integer]
x1 [real]
x2 [real]
ky [real]
kz [real] :: ,maxA
- Call to:
fatal_error(),warning(),write_zprof(),erfunc(),get_radial_distance(),parabola(),fourier_transform(),not_implemented(),stop_it_if_any(),sum_xy(),setup_extrapol_fact(),field_extrapol_z_parallel(),mag_init()
- subroutine initcond/x_siny_cosz(ampl, f, i[, kx[, ky[, kz[, xbot[, nexp]]]]])
sinusoidal wave, adapted from sinxsinz (that routine was already doing this, but under a different name)
2-dec-03/axel: coded
- Parameters:
ampl [real]
f (,,*,*) [real,contiguous]
i [integer]
kx [real]
ky [real]
kz [real] :: ,maxA
xbot [real]
nexp [real]
- Called from:
- Call to:
fatal_error(),warning(),write_zprof(),erfunc(),get_radial_distance(),parabola(),fourier_transform(),not_implemented(),stop_it_if_any(),sum_xy(),setup_extrapol_fact(),field_extrapol_z_parallel(),mag_init()
- subroutine initcond/x1_siny_cosz(ampl, f, i[, kx[, ky[, kz[, phasey]]]])
sinusoidal wave, adapted from sinxsinz (that routine was already doing this, but under a different name)
2-dec-03/axel: coded
- Parameters:
ampl [real]
f (,,*,*) [real,contiguous]
i [integer]
kx [real]
ky [real]
kz [real] :: ,maxA
phasey [real]
- Called from:
- Call to:
fatal_error(),warning(),write_zprof(),erfunc(),get_radial_distance(),parabola(),fourier_transform(),not_implemented(),stop_it_if_any(),sum_xy(),setup_extrapol_fact(),field_extrapol_z_parallel(),mag_init()
- subroutine initcond/x32_siny_cosz(ampl, f, i[, kx[, ky[, kz[, phasey]]]])
sinusoidal wave, adapted from sinxsinz (that routine was already doing this, but under a different name)
29-may-24/axel: coded
- Parameters:
ampl [real]
f (,,*,*) [real,contiguous]
i [integer]
kx [real]
ky [real]
kz [real] :: ,maxA
phasey [real]
- Use :
- Call to:
fatal_error(),warning(),write_zprof(),erfunc(),get_radial_distance(),parabola(),fourier_transform(),not_implemented(),stop_it_if_any(),sum_xy(),setup_extrapol_fact(),field_extrapol_z_parallel(),mag_init()
- subroutine initcond/x1_cosy_cosz(ampl, f, i[, kx[, ky[, kz]]])
sinusoidal wave, adapted from sinxsinz (that routine was already doing this, but under a different name)
1-jul-07/axel: coded
- Parameters:
ampl [real]
f (,,*,*) [real,contiguous]
i [integer]
kx [real]
ky [real]
kz [real] :: ,maxA
- Call to:
fatal_error(),warning(),write_zprof(),erfunc(),get_radial_distance(),parabola(),fourier_transform(),not_implemented(),stop_it_if_any(),sum_xy(),setup_extrapol_fact(),field_extrapol_z_parallel(),mag_init()
- subroutine initcond/lnx_cosy_cosz(ampl, f, i[, kx[, ky[, kz]]])
sinusoidal wave, adapted from sinxsinz (that routine was already doing this, but under a different name)
2-jul-07/axel: coded
- Parameters:
ampl [real]
f (,,*,*) [real,contiguous]
i [integer]
kx [real]
ky [real]
kz [real] :: ,maxA
- Call to:
fatal_error(),warning(),write_zprof(),erfunc(),get_radial_distance(),parabola(),fourier_transform(),not_implemented(),stop_it_if_any(),sum_xy(),setup_extrapol_fact(),field_extrapol_z_parallel(),mag_init()
- subroutine initcond/cosx_siny_cosz(ampl, f, i[, kx[, ky[, kz]]])
sinusoidal wave, adapted from sinxsinz (that routine was already doing this, but under a different name)
15-mar-07/axel: coded
- Parameters:
ampl [real]
f (,,*,*) [real,contiguous]
i [integer]
kx [real]
ky [real]
kz [real] :: ,maxA
- Called from:
- Call to:
fatal_error(),warning(),write_zprof(),erfunc(),get_radial_distance(),parabola(),fourier_transform(),not_implemented(),stop_it_if_any(),sum_xy(),setup_extrapol_fact(),field_extrapol_z_parallel(),mag_init()
- subroutine initcond/sinx_cosy_cosz(ampl, f, i[, kx[, ky[, kz]]])
sinusoidal wave, adapted from cosx_siny_cosz
26-mar-25/TP: coded
- Parameters:
ampl [real]
f (,,*,*) [real,contiguous]
i [integer]
kx [real]
ky [real]
kz [real] :: ,maxA
- Call to:
fatal_error(),warning(),write_zprof(),erfunc(),get_radial_distance(),parabola(),fourier_transform(),not_implemented(),stop_it_if_any(),sum_xy(),setup_extrapol_fact(),field_extrapol_z_parallel(),mag_init()
- subroutine initcond/sin2x_sin2y_cosz(ampl, f, i[, kx[, ky[, kz]]])
sinusoidal wave, adapted from sinxsinz (that routine was already doing this, but under a different name)
2-dec-03/axel: coded
- Parameters:
ampl [real]
f (,,*,*) [real,contiguous]
i [integer]
kx [real]
ky [real]
kz [real] :: ,maxA
- Called from:
- Call to:
fatal_error(),warning(),write_zprof(),erfunc(),get_radial_distance(),parabola(),fourier_transform(),not_implemented(),stop_it_if_any(),sum_xy(),setup_extrapol_fact(),field_extrapol_z_parallel(),mag_init()
- subroutine initcond/cosxz_cosz(ampl, f, i[, kx[, kz]])
sinusoidal wave, adapted from sinxsinz (that routine was already doing this, but under a different name)
13-aug-09/axel: coded
- Parameters:
ampl [real]
f (,,*,*) [real,contiguous]
i [integer]
kx [real]
kz [real] :: ,maxA
- Call to:
fatal_error(),warning(),write_zprof(),erfunc(),get_radial_distance(),parabola(),fourier_transform(),not_implemented(),stop_it_if_any(),sum_xy(),setup_extrapol_fact(),field_extrapol_z_parallel(),mag_init()
- subroutine initcond/cosyz_sinz(ampl, f, i[, ky[, kz]])
sinusoidal wave, adapted from sinxsinz (that routine was already doing this, but under a different name)
13-aug-09/axel: coded
- Parameters:
ampl [real]
f (,,*,*) [real,contiguous]
i [integer]
ky [real]
kz [real] :: ,maxA
- Call to:
fatal_error(),warning(),write_zprof(),erfunc(),get_radial_distance(),parabola(),fourier_transform(),not_implemented(),stop_it_if_any(),sum_xy(),setup_extrapol_fact(),field_extrapol_z_parallel(),mag_init()
- subroutine initcond/cosx_cosy_cosz(ampl, f, i[, kx[, ky[, kz]]])
sinusoidal wave, adapted from sinxsinz (that routine was already doing this, but under a different name)
2-dec-03/axel: coded
- Parameters:
ampl [real]
f (,,*,*) [real,contiguous]
i [integer]
kx [real]
ky [real]
kz [real] :: ,maxA
- Called from:
register_magnetic(),initialize_magnetic(),init_aa(),register_pscalar(),initialize_pscalar(),init_lncc()- Call to:
fatal_error(),warning(),write_zprof(),erfunc(),get_radial_distance(),parabola(),fourier_transform(),not_implemented(),stop_it_if_any(),sum_xy(),setup_extrapol_fact(),field_extrapol_z_parallel(),mag_init()
- subroutine initcond/cosx_cosz(ampl, f, i[, kx[, kz]])
initial condition for potential field test
15-aug-09/axel: adapted from cosy_sinz
- Parameters:
ampl [real]
f (,,*,*) [real,contiguous]
i [integer]
kx [real]
kz [real] :: ,maxA
- Call to:
fatal_error(),warning(),write_zprof(),erfunc(),get_radial_distance(),parabola(),fourier_transform(),not_implemented(),stop_it_if_any(),sum_xy(),setup_extrapol_fact(),field_extrapol_z_parallel(),mag_init()
- subroutine initcond/cosy_cosz(ampl, f, i[, ky[, kz]])
initial condition for potential field test
06-oct-06/axel: coded 11-oct-06/wolf: modified to only set one component of aa
- Parameters:
ampl [real]
f (,,*,*) [real,contiguous]
i [integer]
ky [real]
kz [real] :: ,maxA
- Call to:
fatal_error(),warning(),write_zprof(),erfunc(),get_radial_distance(),parabola(),fourier_transform(),not_implemented(),stop_it_if_any(),sum_xy(),setup_extrapol_fact(),field_extrapol_z_parallel(),mag_init()
- subroutine initcond/cosy_sinz(ampl, f, i[, ky[, kz]])
initial condition for potential field test
06-oct-06/axel: coded 11-oct-06/wolf: modified to only set one component of aa
- Parameters:
ampl [real]
f (,,*,*) [real,contiguous]
i [integer]
ky [real]
kz [real] :: ,maxA
- Called from:
- Call to:
fatal_error(),warning(),write_zprof(),erfunc(),get_radial_distance(),parabola(),fourier_transform(),not_implemented(),stop_it_if_any(),sum_xy(),setup_extrapol_fact(),field_extrapol_z_parallel(),mag_init()
- subroutine initcond/x3_cosy_cosz(ampl, f, i[, ky[, kz]])
special initial condition for producing toroidal field (ndynd decay test)
06-oct-06/axel: coded 11-oct-06/wolf: modified to only set one component of aa
- Parameters:
ampl [real]
f (,,*,*) [real,contiguous]
i [integer]
ky [real]
kz [real] :: ,maxA
- Called from:
- Call to:
fatal_error(),warning(),write_zprof(),erfunc(),get_radial_distance(),parabola(),fourier_transform(),not_implemented(),stop_it_if_any(),sum_xy(),setup_extrapol_fact(),field_extrapol_z_parallel(),mag_init()
- subroutine initcond/cosx_coscosy_cosz(ampl, f, i[, kx[, ky[, kz]]])
sinusoidal wave, adapted from sinxsinz (that routine was already doing this, but under a different name)
2-dec-03/axel: coded
- Parameters:
ampl [real]
f (,,*,*) [real,contiguous]
i [integer]
kx [real]
ky [real]
kz [real] :: ,maxA
- Called from:
- Call to:
fatal_error(),warning(),write_zprof(),erfunc(),get_radial_distance(),parabola(),fourier_transform(),not_implemented(),stop_it_if_any(),sum_xy(),setup_extrapol_fact(),field_extrapol_z_parallel(),mag_init()
- subroutine initcond/cos2x_cos2y_cos2z(ampl, f, i[, kx[, ky[, kz]]])
sinusoidal wave, adapted from sinxsinz (that routine was already doing this, but under a different name)
21-feb-08/axel: coded
- Parameters:
ampl [real]
f (,,*,*) [real,contiguous]
i [integer]
kx [real]
ky [real]
kz [real] :: ,maxA
- Call to:
fatal_error(),warning(),write_zprof(),erfunc(),get_radial_distance(),parabola(),fourier_transform(),not_implemented(),stop_it_if_any(),sum_xy(),setup_extrapol_fact(),field_extrapol_z_parallel(),mag_init()
- subroutine initcond/xpoint(ampl, f, i, x0, y0)
Creates a magnetic X point for a 2D run. The vector potential is given by A_z = ampl*(x-x0)*(y -y0)
9-dec-10/bing: coded
- Parameters:
ampl [real,in] :: ,maxA
f (,,*,*) [real,inout,contiguous]
i [integer,in]
x0 [real,in]
y0 [real,in]
- Call to:
fatal_error(),warning(),write_zprof(),erfunc(),get_radial_distance(),parabola(),fourier_transform(),not_implemented(),stop_it_if_any(),sum_xy(),setup_extrapol_fact(),field_extrapol_z_parallel(),mag_init()
- subroutine initcond/xpoint2(ampl, f, i, x0, y0)
Creates a magnetic X point (e.g., for a 2D run); The vector potential is given by A_z = (1/2)*ampl*[(x-x0)^2-(y-y0)^2]
21-may-11/axel: coded
- Parameters:
ampl [real,in] :: ,maxA
f (,,*,*) [real,inout,contiguous]
i [integer,in]
x0 [real,in]
y0 [real,in]
- Call to:
fatal_error(),warning(),write_zprof(),erfunc(),get_radial_distance(),parabola(),fourier_transform(),not_implemented(),stop_it_if_any(),sum_xy(),setup_extrapol_fact(),field_extrapol_z_parallel(),mag_init()
- subroutine initcond/innerbox(ampl, ampl2, f, i, width)
set background value plus a different value inside a box
9-mar-08/axel: coded
- Parameters:
ampl [real,in] :: ,maxA
ampl2 [real,in]
f (,,*,*) [real,out,contiguous]
i [integer,in]
width [real,in]
- Call to:
fatal_error(),warning(),write_zprof(),erfunc(),get_radial_distance(),parabola(),fourier_transform(),not_implemented(),stop_it_if_any(),sum_xy(),setup_extrapol_fact(),field_extrapol_z_parallel(),mag_init()
- subroutine initcond/couette(ampl, mu, f, i)
couette flow, Omega = a + b/r^2
12-jul-07/mgellert: coded
- Parameters:
ampl [real] :: ,maxA
mu [real]
f (,,*,*) [real,contiguous]
i [integer]
- Call to:
fatal_error(),warning(),write_zprof(),erfunc(),get_radial_distance(),parabola(),fourier_transform(),not_implemented(),stop_it_if_any(),sum_xy(),setup_extrapol_fact(),field_extrapol_z_parallel(),mag_init()
- subroutine initcond/couette_rings(ampl, mu, nr, om_nr, gap, f, i)
(finite) couette flow with top/bottom split in several rings
can be used with the ‘freeze’ condition for top/bottom BCs
- Parameters:
gap [real] ::
- ring boundaries
(in experiments you usually have something around gap=0.05*D)
18-jul-07/mgellert: coded 21-aug-07/mgellert: made compatible with nprocx>1 09-oct-07/mgellert: smoothing profile between neighboring rings added
ampl [real] :: ,maxA
mu [real]
nr [integer]
om_nr (nr) [real]
f (,,*,*) [real,contiguous]
i [integer]
- Call to:
fatal_error(),warning(),write_zprof(),erfunc(),get_radial_distance(),parabola(),fourier_transform(),not_implemented(),stop_it_if_any(),sum_xy(),setup_extrapol_fact(),field_extrapol_z_parallel(),mag_init()
- subroutine initcond/hat(ampl, f, i, width[, kx[, ky[, kz]]])
hat bump
2-may-03/axel: coded
- Parameters:
ampl [real]
f (,,*,*) [real,contiguous]
i [integer]
width [real]
kx [real]
ky [real]
kz [real] :: ,maxA
- Called from:
- Call to:
fatal_error(),warning(),write_zprof(),erfunc(),get_radial_distance(),parabola(),fourier_transform(),not_implemented(),stop_it_if_any(),sum_xy(),setup_extrapol_fact(),field_extrapol_z_parallel(),mag_init()
- subroutine initcond/hat3d(ampl, f, i, width, kx, ky, kz)
Three-dimensional hat bump
9-nov-04/anders: coded
- Parameters:
ampl [real]
f (,,*,*) [real,contiguous]
i [integer]
width [real]
kx [real]
ky [real]
kz [real] :: ,maxA
- Call to:
fatal_error(),warning(),write_zprof(),erfunc(),get_radial_distance(),parabola(),fourier_transform(),not_implemented(),stop_it_if_any(),sum_xy(),setup_extrapol_fact(),field_extrapol_z_parallel(),mag_init()
- subroutine initcond/gaussian(ampl, f, i[, kx[, ky[, kz]]])
gaussian bump
2-may-03/axel: coded
20-sep-03/axel: added 1/2 factor in defn; hopefully ok with everyone?
- Parameters:
ampl [real]
f (,,*,*) [real,contiguous]
i [integer]
kx [real]
ky [real]
kz [real] :: ,maxA
- Called from:
- Call to:
fatal_error(),warning(),write_zprof(),erfunc(),get_radial_distance(),parabola(),fourier_transform(),not_implemented(),stop_it_if_any(),sum_xy(),setup_extrapol_fact(),field_extrapol_z_parallel(),mag_init()
- subroutine initcond/gaussian3d(ampl, f, i, radius)
gaussian 3-D bump
28-may-03/axel: coded
- Parameters:
ampl [real] :: ,maxA
f (,,*,*) [real,contiguous]
i [integer]
radius [real]
- Called from:
- Call to:
fatal_error(),warning(),write_zprof(),erfunc(),get_radial_distance(),parabola(),fourier_transform(),not_implemented(),stop_it_if_any(),sum_xy(),setup_extrapol_fact(),field_extrapol_z_parallel(),mag_init()
- subroutine initcond/gaussianpos(ampl, f, i, radius, posx, posy, posz[, prefac[, slope]])
gaussian 3-D bump centered in specific position
21-sep-09/rplasson: coded from gaussian3d Maybe could have been done by extending gaussian3d, but didn’t want to interfere
- Parameters:
ampl [real] :: ,maxA
f (,,*,*) [real,contiguous]
i [integer]
radius [real]
posx [real]
posy [real]
posz [real]
prefac [character]
slope [real]
- Call to:
fatal_error(),warning(),write_zprof(),erfunc(),get_radial_distance(),parabola(),fourier_transform(),not_implemented(),stop_it_if_any(),sum_xy(),setup_extrapol_fact(),field_extrapol_z_parallel(),mag_init()
- subroutine initcond/parabola(ampl, f, i[, kx[, ky[, kz]]])
gaussian bump
2-may-03/axel: coded
- Parameters:
ampl [real]
f (,,*,*) [real,contiguous]
i [integer]
kx [real]
ky [real]
kz [real] :: ,maxA
- Called from:
phi_siny_over_r2(),sinxsinz(),sinx_siny_sinz(),sinx_siny_cosz(),x3_siny_cosz(),x_siny_cosz(),x1_siny_cosz(),x32_siny_cosz(),x1_cosy_cosz(),lnx_cosy_cosz(),cosx_siny_cosz(),sinx_cosy_cosz(),sin2x_sin2y_cosz(),cosxz_cosz(),cosyz_sinz(),cosx_cosy_cosz(),cosx_cosz(),cosy_cosz(),cosy_sinz(),x3_cosy_cosz(),cosx_coscosy_cosz(),cos2x_cos2y_cos2z(),xpoint(),xpoint2(),innerbox(),couette(),couette_rings(),hat(),hat3d(),gaussian(),gaussian3d(),gaussianpos(),parabola(),wave(),linprof(),wave_uu(),acosy(),modes(),modev(),modeb(),jump(),bjump(),bjumpz(),beltrami_old(),abc_field(),beltrami(),beltramik_general(),beltrami_general(),bihelical(),bhyperz(),beltrami_complex(),bessel_x(),bessel_az_x(),straining(),rolls(),robertsflow(),rotated_robertsflow(),exponential(),vecpatternxy(),bipolar(),bipolar_restzero(),soundwave(),coswave(),sph_constb(),hatwave(),sinwave(),sinwave_phase(),coswave_phase(),hawley_etal99a(),stratification(),stratification_x(),stratification_xz(),planet_hc(),planet(),vortex_2d(),baroclinic(),crazy(),strange(),htanh(),vtube(),vtube_peri(),htube(),htube_x(),htube_erf(),htube2(),htube2_x(),magsupport(),hfluxlayer(),hfluxlayer_y(),hfluxlayer_y_theta(),vfluxlayer(),arcade_x(),halfcos_x(),halfcos_z(),uniform_x(),uniform_y(),uniform_z(),uniform_phi(),gaussian_by_z(),phi_comp_over_r(),vfield(),vfield2(),trilinear(),triquad(),register_pscalar(),initialize_pscalar(),init_lncc()- Call to:
fatal_error(),warning(),write_zprof(),erfunc(),get_radial_distance(),parabola(),fourier_transform(),not_implemented(),stop_it_if_any(),sum_xy(),setup_extrapol_fact(),field_extrapol_z_parallel(),mag_init()
- subroutine initcond/wave(ampl, f, i[, kx[, ky[, kz]]])
sinusoidal wave
6-jul-02/axel: coded
- Parameters:
ampl [real]
f (,,*,*) [real,contiguous]
i [integer]
kx [real]
ky [real]
kz [real] :: ,maxA
- Called from:
- Call to:
fatal_error(),warning(),write_zprof(),erfunc(),get_radial_distance(),parabola(),fourier_transform(),not_implemented(),stop_it_if_any(),sum_xy(),setup_extrapol_fact(),field_extrapol_z_parallel(),mag_init()
- subroutine initcond/linprof(ampl, f, i[, kx[, ky[, kz]]])
periodic linear profile
21-sep-09/axel: coded
- Parameters:
ampl [real]
f (,,*,*) [real,contiguous]
i [integer]
kx [real]
ky [real]
kz [real] :: ,maxA
- Called from:
- Call to:
fatal_error(),warning(),write_zprof(),erfunc(),get_radial_distance(),parabola(),fourier_transform(),not_implemented(),stop_it_if_any(),sum_xy(),setup_extrapol_fact(),field_extrapol_z_parallel(),mag_init()
- subroutine initcond/wave_uu(ampl, f, i[, kx[, ky[, kz]]])
sinusoidal wave
14-apr-03/axel: coded
- Parameters:
ampl [real]
f (,,*,*) [real,contiguous]
i [integer]
kx [real]
ky [real]
kz [real] :: ,maxA
- Called from:
register_magnetic(),initialize_magnetic(),init_aa(),register_pscalar(),initialize_pscalar(),init_lncc()- Call to:
fatal_error(),warning(),write_zprof(),erfunc(),get_radial_distance(),parabola(),fourier_transform(),not_implemented(),stop_it_if_any(),sum_xy(),setup_extrapol_fact(),field_extrapol_z_parallel(),mag_init()
- subroutine initcond/acosy(ampl, f, i, ky)
mode
30-oct-03/axel: coded
- Parameters:
ampl [real] :: ,maxA
f (,,*,*) [real,contiguous]
i [integer]
ky [real]
- Called from:
- Call to:
fatal_error(),warning(),write_zprof(),erfunc(),get_radial_distance(),parabola(),fourier_transform(),not_implemented(),stop_it_if_any(),sum_xy(),setup_extrapol_fact(),field_extrapol_z_parallel(),mag_init()
- subroutine initcond/modes(ampl, coef, f, i, kx, ky, kz)
mode
30-oct-03/axel: coded
- Parameters:
ampl [real]
coef [complex]
f (,,*,*) [real,contiguous]
i [integer]
kx [real]
ky [real]
kz [real] :: ,maxA
- Called from:
- Call to:
fatal_error(),warning(),write_zprof(),erfunc(),get_radial_distance(),parabola(),fourier_transform(),not_implemented(),stop_it_if_any(),sum_xy(),setup_extrapol_fact(),field_extrapol_z_parallel(),mag_init()
- subroutine initcond/modev(ampl, coef, f, i, kx, ky, kz)
mode
30-oct-03/axel: coded
- Parameters:
ampl [real]
coef (3) [complex]
f (,,*,*) [real,contiguous]
i [integer]
kx [real]
ky [real]
kz [real] :: ,maxA
- Called from:
- Call to:
fatal_error(),warning(),write_zprof(),erfunc(),get_radial_distance(),parabola(),fourier_transform(),not_implemented(),stop_it_if_any(),sum_xy(),setup_extrapol_fact(),field_extrapol_z_parallel(),mag_init()
- subroutine initcond/modeb(ampl, coefb, f, i, kx, ky, kz)
mode
30-oct-03/axel: coded
- Parameters:
ampl [real]
coefb (3) [complex]
f (,,*,*) [real,contiguous]
i [integer]
kx [real]
ky [real]
kz [real] :: ,maxA
- Called from:
- Call to:
fatal_error(),warning(),write_zprof(),erfunc(),get_radial_distance(),parabola(),fourier_transform(),not_implemented(),stop_it_if_any(),sum_xy(),setup_extrapol_fact(),field_extrapol_z_parallel(),mag_init()
- subroutine initcond/jump(f, i, fleft, fright, width, xmid, ymid, zmid, dir)
jump
19-sep-02/axel: coded 16-apr-26/TP: wrote the spread calls out since at least with -O0 on the Cray compiler
on LUMI would otherwise run out of stack space
- Parameters:
f (,,*,*) [real,contiguous]
i [integer]
fleft [real]
fright [real]
width [real]
xmid [real]
ymid [real]
zmid [real]
dir [character]
- Called from:
register_density(),initialize_density(),init_lnrho(),register_energy(),initialize_energy(),init_energy(),register_pscalar(),initialize_pscalar(),init_lncc()- Call to:
fatal_error(),warning(),write_zprof(),erfunc(),get_radial_distance(),parabola(),fourier_transform(),not_implemented(),stop_it_if_any(),sum_xy(),setup_extrapol_fact(),field_extrapol_z_parallel(),mag_init()
- subroutine initcond/bjump(f, i, fyleft, fyright, fzleft, fzright, width, dir)
jump in B-field (in terms of magnetic vector potential)
9-oct-02/wolf+axel: coded
21-apr-05/axel: added possibility of Bz component
- Parameters:
f (,,*,*) [real,contiguous]
i [integer]
fyleft [real]
fyright [real]
fzleft [real]
fzright [real]
width [real]
dir [character]
- Called from:
- Call to:
fatal_error(),warning(),write_zprof(),erfunc(),get_radial_distance(),parabola(),fourier_transform(),not_implemented(),stop_it_if_any(),sum_xy(),setup_extrapol_fact(),field_extrapol_z_parallel(),mag_init()
- subroutine initcond/bjumpz(f, i, fxleft, fxright, fyleft, fyright, width, dir)
jump in B-field (in terms of magnetic vector potential)
9-oct-02/wolf+axel: coded
21-apr-05/axel: added possibility of Bz component
- Parameters:
f (,,*,*) [real,contiguous]
i [integer]
fxleft [real]
fxright [real]
fyleft [real]
fyright [real]
width [real]
dir [character]
- Call to:
fatal_error(),warning(),write_zprof(),erfunc(),get_radial_distance(),parabola(),fourier_transform(),not_implemented(),stop_it_if_any(),sum_xy(),setup_extrapol_fact(),field_extrapol_z_parallel(),mag_init()
- subroutine initcond/beltrami_old(ampl, f, i[, kx[, ky[, kz[, kx2[, ky2[, kz2[, phase]]]]]]])
Beltrami field (as initial condition)
- 19-jun-02/axel: coded
5-jul-02/axel: made additive (if called twice), kx,ky,kz are optional
- 16-apr-26/TP: wrote the spread calls out since at least with -O0 on the Cray compiler
on LUMI would otherwise run out of stack space
- Parameters:
ampl [real]
f (,,*,*) [real,contiguous]
i [integer]
kx [real]
ky [real]
kz [real] :: ,maxA
kx2 [real]
ky2 [real]
kz2 [real]
phase [real]
- Call to:
fatal_error(),warning(),write_zprof(),erfunc(),get_radial_distance(),parabola(),fourier_transform(),not_implemented(),stop_it_if_any(),sum_xy(),setup_extrapol_fact(),field_extrapol_z_parallel(),mag_init()
- subroutine initcond/abc_field(f, i, kx, ky, kz, abc, x0, y0, z0, width[, sigma])
ABC field (as initial condition)
24-aug-19/axel: coded
- Parameters:
f (,,*,*) [real,contiguous]
i [integer]
kx [real]
ky [real]
kz [real] :: ,maxA
abc (3) [real]
x0 [real]
y0 [real]
z0 [real]
width (3) [real]
sigma [real]
- Use :
- Call to:
fatal_error(),warning(),write_zprof(),erfunc(),get_radial_distance(),parabola(),fourier_transform(),not_implemented(),stop_it_if_any(),sum_xy(),setup_extrapol_fact(),field_extrapol_z_parallel(),mag_init()
- subroutine initcond/beltrami(ampl, f, i[, kx[, ky[, kz[, kx2[, ky2[, kz2[, phase[, sigma[, z0[, width]]]]]]]]]])
Beltrami field (as initial condition)
- 19-jun-02/axel: coded
5-jul-02/axel: made additive (if called twice), kx,ky,kz are optional
- 16-apr-26/TP: wrote the spread calls out since at least with -O0 on the Cray compiler
on LUMI would otherwise run out of stack space
- Parameters:
ampl [real]
f (,,*,*) [real,contiguous]
i [integer]
kx [real]
ky [real]
kz [real] :: ,maxA
kx2 [real]
ky2 [real]
kz2 [real]
phase [real]
sigma [real]
z0 [real]
width [real]
- Use :
- Called from:
register_magnetic(),initialize_magnetic(),init_aa(),initialize_testfield_general()- Call to:
fatal_error(),warning(),write_zprof(),erfunc(),get_radial_distance(),parabola(),fourier_transform(),not_implemented(),stop_it_if_any(),sum_xy(),setup_extrapol_fact(),field_extrapol_z_parallel(),mag_init()
- subroutine initcond/beltramik_general(ampl, f, i, kx, ky, kz, phase)
Beltrami field (as initial condition) Currently not additive
16-apr-21/axel: coded
- Parameters:
ampl [real]
f (,,*,*) [real,contiguous]
i [integer]
kx [integer]
ky [integer]
kz [integer] :: ,maxA
phase [real]
- Call to:
fatal_error(),warning(),write_zprof(),erfunc(),get_radial_distance(),parabola(),fourier_transform(),not_implemented(),stop_it_if_any(),sum_xy(),setup_extrapol_fact(),field_extrapol_z_parallel(),mag_init()
- subroutine initcond/beltrami_general(ampl, f, i, kx, ky, kz, phase)
Beltrami field (as initial condition)
- 19-jun-02/axel: coded
5-jul-02/axel: made additive (if called twice), kx,ky,kz are optional
- Parameters:
ampl [real]
f (,,*,*) [real,contiguous]
i [integer]
kx [real]
ky [real]
kz [real] :: ,maxA
phase [real]
- Call to:
fatal_error(),warning(),write_zprof(),erfunc(),get_radial_distance(),parabola(),fourier_transform(),not_implemented(),stop_it_if_any(),sum_xy(),setup_extrapol_fact(),field_extrapol_z_parallel(),mag_init()
- subroutine initcond/bihelical(ampl, f, i[, kx[, ky[, kz[, kx2[, ky2[, kz2[, phase[, sym]]]]]]]])
Bihelical field (as initial condition)
- 19-jun-02/axel: coded
5-jul-02/axel: made additive (if called twice), kx,ky,kz are optional
- 16-apr-26/TP: wrote the spread calls out since at least with -O0 on the Cray compiler
on LUMI would otherwise run out of stack space
- Parameters:
ampl [real]
f (,,*,*) [real,contiguous]
i [integer]
kx [real]
ky [real]
kz [real] :: ,maxA
kx2 [real]
ky2 [real]
kz2 [real]
phase [real]
sym [logical]
- Call to:
fatal_error(),warning(),write_zprof(),erfunc(),get_radial_distance(),parabola(),fourier_transform(),not_implemented(),stop_it_if_any(),sum_xy(),setup_extrapol_fact(),field_extrapol_z_parallel(),mag_init()
- subroutine initcond/bhyperz(ampl, f, i, kz, nfactor)
Beltrami field with wavelengths that are cube roots of unity
- Parameters:
ampl [real]
f (,,*,*) [real,contiguous]
i [integer]
kz [real]
nfactor [real] :: ,maxA
- Call to:
fatal_error(),warning(),write_zprof(),erfunc(),get_radial_distance(),parabola(),fourier_transform(),not_implemented(),stop_it_if_any(),sum_xy(),setup_extrapol_fact(),field_extrapol_z_parallel(),mag_init()
- subroutine initcond/beltrami_complex(ampl, f, i[, kx[, ky[, kz[, kx2[, ky2[, kz2[, phase]]]]]]])
Beltrami field (as initial condition)
23-sep-10/dhruba: adapted from beltrami 16-apr-26/TP: wrote the spread calls out since at least with -O0 on the Cray compiler
on LUMI would otherwise run out of stack space
- Parameters:
ampl [real]
f (,,*,*) [real,contiguous]
i [integer]
kx [real]
ky [real]
kz [real]
kx2 [real]
ky2 [real]
kz2 [real]
phase [real]
- Call to:
fatal_error(),warning(),write_zprof(),erfunc(),get_radial_distance(),parabola(),fourier_transform(),not_implemented(),stop_it_if_any(),sum_xy(),setup_extrapol_fact(),field_extrapol_z_parallel(),mag_init()
- subroutine initcond/bessel_x(ampl, f, i, kx)
Bessel function field (as initial condition)
12-nov-09/axel: coded
- Parameters:
ampl [real]
f (,,*,*) [real,contiguous]
i [integer]
kx [real]
- Called from:
- Call to:
fatal_error(),warning(),write_zprof(),erfunc(),get_radial_distance(),parabola(),fourier_transform(),not_implemented(),stop_it_if_any(),sum_xy(),setup_extrapol_fact(),field_extrapol_z_parallel(),mag_init()
- subroutine initcond/bessel_az_x(ampl, f, i, kx)
Bessel function field (as initial condition)
12-nov-09/axel: coded
- Parameters:
ampl [real]
f (,,*,*) [real,contiguous]
i [integer]
kx [real]
- Called from:
- Call to:
fatal_error(),warning(),write_zprof(),erfunc(),get_radial_distance(),parabola(),fourier_transform(),not_implemented(),stop_it_if_any(),sum_xy(),setup_extrapol_fact(),field_extrapol_z_parallel(),mag_init()
- subroutine initcond/straining(ampl, f, i, kx, ky, kz, dimensionality)
convection straining (as initial condition)
23-mar-16/axel: coded
- Parameters:
ampl [real]
f (,,*,*) [real,contiguous]
i [integer]
kx [real]
ky [real]
kz [real]
dimensionality [integer]
- Call to:
fatal_error(),warning(),write_zprof(),erfunc(),get_radial_distance(),parabola(),fourier_transform(),not_implemented(),stop_it_if_any(),sum_xy(),setup_extrapol_fact(),field_extrapol_z_parallel(),mag_init()
- subroutine initcond/rolls(ampl, f, i, kx, kz)
convection rolls (as initial condition)
21-aug-07/axel: coded
- Parameters:
ampl [real]
f (,,*,*) [real,contiguous]
i [integer]
kx [real]
kz [real]
- Call to:
fatal_error(),warning(),write_zprof(),erfunc(),get_radial_distance(),parabola(),fourier_transform(),not_implemented(),stop_it_if_any(),sum_xy(),setup_extrapol_fact(),field_extrapol_z_parallel(),mag_init()
- subroutine initcond/robertsflow(ampl, f, i, relhel[, kx[, flow]])
Roberts Flow (as initial condition)
9-jun-05/axel: coded
- 16-apr-26/TP: wrote the spread calls out since at least with -O0 on the Cray compiler
on LUMI would otherwise run out of stack space
- Parameters:
ampl [real]
f (,,*,*) [real,contiguous]
i [integer]
relhel [real]
kx [real]
flow [character]
- Called from:
- Call to:
fatal_error(),warning(),write_zprof(),erfunc(),get_radial_distance(),parabola(),fourier_transform(),not_implemented(),stop_it_if_any(),sum_xy(),setup_extrapol_fact(),field_extrapol_z_parallel(),mag_init()
- subroutine initcond/rotated_robertsflow(ampl, f, i, relhel[, kx[, flow]])
By 45 degrees rotated Roberts Flow (as initial condition)
6-jan-25/axel: coded
- Parameters:
ampl [real]
f (,,*,*) [real,contiguous]
i [integer]
relhel [real]
kx [real]
flow [character]
- Call to:
fatal_error(),warning(),write_zprof(),erfunc(),get_radial_distance(),parabola(),fourier_transform(),not_implemented(),stop_it_if_any(),sum_xy(),setup_extrapol_fact(),field_extrapol_z_parallel(),mag_init()
- subroutine initcond/exponential(ampl, f, j, kkz)
horizontal pattern with exponential decay (as initial condition)
2-mar-13/axel: coded
- Parameters:
ampl [real]
f (,,*,*) [real,contiguous]
j [integer]
kkz [real]
- Call to:
fatal_error(),warning(),write_zprof(),erfunc(),get_radial_distance(),parabola(),fourier_transform(),not_implemented(),stop_it_if_any(),sum_xy(),setup_extrapol_fact(),field_extrapol_z_parallel(),mag_init()
- subroutine initcond/vecpatternxy(ampl, f, i, kx, ky, kz)
horizontal pattern with exponential decay (as initial condition)
9-jun-05/axel: coded
- Parameters:
ampl [real]
f (,,*,*) [real,contiguous]
i [integer]
kx [real]
ky [real]
kz [real]
- Called from:
- Call to:
fatal_error(),warning(),write_zprof(),erfunc(),get_radial_distance(),parabola(),fourier_transform(),not_implemented(),stop_it_if_any(),sum_xy(),setup_extrapol_fact(),field_extrapol_z_parallel(),mag_init()
- subroutine initcond/bipolar(ampl, f, i, kx, ky, kz)
horizontal pattern with exponential decay (as initial condition)
24-may-09/axel: coded
- Parameters:
ampl [real]
f (,,*,*) [real,contiguous]
i [integer]
kx [real]
ky [real]
kz [real]
- Called from:
- Call to:
fatal_error(),warning(),write_zprof(),erfunc(),get_radial_distance(),parabola(),fourier_transform(),not_implemented(),stop_it_if_any(),sum_xy(),setup_extrapol_fact(),field_extrapol_z_parallel(),mag_init()
- subroutine initcond/bipolar_restzero(ampl, f, i, kx, ky)
horizontal pattern with exponential decay (as initial condition)
24-may-09/axel: coded
- Parameters:
ampl [real]
f (,,*,*) [real,contiguous]
i [integer]
kx [real]
ky [real]
- Called from:
- Call to:
fatal_error(),warning(),write_zprof(),erfunc(),get_radial_distance(),parabola(),fourier_transform(),not_implemented(),stop_it_if_any(),sum_xy(),setup_extrapol_fact(),field_extrapol_z_parallel(),mag_init()
- subroutine initcond/soundwave(ampl, f, i[, kx[, ky[, kz[, width]]]])
sound wave (as initial condition)
2-aug-02/axel: adapted from Beltrami
- Parameters:
ampl [real]
f (,,*,*) [real,contiguous]
i [integer]
kx [real]
ky [real]
kz [real]
width [real]
- Called from:
- Call to:
fatal_error(),warning(),write_zprof(),erfunc(),get_radial_distance(),parabola(),fourier_transform(),not_implemented(),stop_it_if_any(),sum_xy(),setup_extrapol_fact(),field_extrapol_z_parallel(),mag_init()
- subroutine initcond/coswave(ampl, f, i[, kx[, ky[, kz]]])
cosine wave (as initial condition)
14-nov-03/axel: adapted from sinwave
- Parameters:
ampl [real]
f (,,*,*) [real,contiguous]
i [integer]
kx [real]
ky [real]
kz [real]
- Called from:
register_magnetic(),initialize_magnetic(),init_aa(),register_density(),initialize_density(),init_lnrho()- Call to:
fatal_error(),warning(),write_zprof(),erfunc(),get_radial_distance(),parabola(),fourier_transform(),not_implemented(),stop_it_if_any(),sum_xy(),setup_extrapol_fact(),field_extrapol_z_parallel(),mag_init()
- subroutine initcond/sph_constb(ampl, f, izero)
Antisymmetric (about equator) toroidal B field and zero poloidal B field in spherical polar coordinate.
27-aug-09/dhruba: adapted from sinwave
- Parameters:
ampl [real]
f (,,*,*) [real,contiguous]
izero [integer]
- Called from:
- Call to:
fatal_error(),warning(),write_zprof(),erfunc(),get_radial_distance(),parabola(),fourier_transform(),not_implemented(),stop_it_if_any(),sum_xy(),setup_extrapol_fact(),field_extrapol_z_parallel(),mag_init()
- subroutine initcond/hatwave(ampl, f, i, width[, kx[, ky[, kz[, power[, pos]]]]])
cosine wave (as initial condition)
9-jan-08/axel: adapted from coswave
22-jul-22/axel: added keyword pos for positive values only
- Parameters:
ampl [real]
f (,,*,*) [real,contiguous]
i [integer]
width [real]
kx [real]
ky [real]
kz [real]
power [real]
pos [real]
- Called from:
- Call to:
fatal_error(),warning(),write_zprof(),erfunc(),get_radial_distance(),parabola(),fourier_transform(),not_implemented(),stop_it_if_any(),sum_xy(),setup_extrapol_fact(),field_extrapol_z_parallel(),mag_init()
- subroutine initcond/sinwave(ampl, f, i[, kx[, ky[, kz]]])
sine wave (as initial condition)
14-nov-03/axel: adapted from sound wave
- Parameters:
ampl [real]
f (,,*,*) [real,contiguous]
i [integer]
kx [real]
ky [real]
kz [real]
- Called from:
register_magnetic(),initialize_magnetic(),init_aa(),register_density(),initialize_density(),init_lnrho(),register_testflow(),initialize_testflow(),init_uutest(),initialize_testfield_general()- Call to:
fatal_error(),warning(),write_zprof(),erfunc(),get_radial_distance(),parabola(),fourier_transform(),not_implemented(),stop_it_if_any(),sum_xy(),setup_extrapol_fact(),field_extrapol_z_parallel(),mag_init()
- subroutine initcond/sinwave_phase(f, i, ampl, kx, ky, kz, phase[, lnorm_kk])
Sine wave (as initial condition)
23-jan-06/anders: adapted from sinwave.
- Parameters:
f (,,*,*) [real,contiguous]
i [integer]
ampl [real]
kx [real]
ky [real]
kz [real]
phase [real]
lnorm_kk [logical]
- Called from:
register_magnetic(),initialize_magnetic(),init_aa(),register_density(),initialize_density(),init_lnrho()- Call to:
fatal_error(),warning(),write_zprof(),erfunc(),get_radial_distance(),parabola(),fourier_transform(),not_implemented(),stop_it_if_any(),sum_xy(),setup_extrapol_fact(),field_extrapol_z_parallel(),mag_init()
- subroutine initcond/coswave_phase(f, i, ampl, kx, ky, kz, phase[, lnorm_kk])
Cosine wave (as initial condition)
13-jun-06/anders: adapted from sinwave-phase.
- Parameters:
f (,,*,*) [real,contiguous]
i [integer]
ampl [real]
kx [real]
ky [real]
kz [real]
phase [real]
lnorm_kk [logical]
- Called from:
- Call to:
fatal_error(),warning(),write_zprof(),erfunc(),get_radial_distance(),parabola(),fourier_transform(),not_implemented(),stop_it_if_any(),sum_xy(),setup_extrapol_fact(),field_extrapol_z_parallel(),mag_init()
- subroutine initcond/hawley_etal99a(ampl, f, i, lxyz)
velocity perturbations as used by Hawley et al (1999, ApJ,518,394)
13-jun-05/maurice reyes: sent to axel via email
- Parameters:
ampl [real]
f (,,*,*) [real,contiguous]
i [integer]
lxyz (3) [real]
- Call to:
fatal_error(),warning(),write_zprof(),erfunc(),get_radial_distance(),parabola(),fourier_transform(),not_implemented(),stop_it_if_any(),sum_xy(),setup_extrapol_fact(),field_extrapol_z_parallel(),mag_init()
- subroutine initcond/stratification(f, strati_type)
Read mean stratification from “stratification.dat”.
8-apr-03/axel: coded
23-may-04/anders: made structure for other input variables 30-apr-16/axel: adapted for polytropic eos 28-jun-19/nishant: added an option to use stratification file without
the ghost cells; use lnoghost_strati=T in init_pars
20-Aug-2025/Kishore: cleaned up handling of lnoghost_strati (reduced duplicated code)
- Parameters:
f (,,*,*) [real,contiguous]
strati_type [character]
- Use :
equationofstate(eoscalc(),cs2top(),cs2bot()),sub(write_zprof()),cdata(lnoghost_strati())- Called from:
- Call to:
fatal_error(),warning(),write_zprof(),erfunc(),get_radial_distance(),parabola(),fourier_transform(),not_implemented(),stop_it_if_any(),sum_xy(),setup_extrapol_fact(),field_extrapol_z_parallel(),mag_init()
- subroutine initcond/stratification_x(f, strati_type)
read mean stratification from “stratification.dat”
02-mar-09/petri: adapted from stratification
- Parameters:
f (,,*,*) [real,contiguous]
strati_type [character]
- Use :
- Called from:
- Call to:
fatal_error(),erfunc(),get_radial_distance(),parabola(),fourier_transform(),not_implemented(),stop_it_if_any(),sum_xy(),setup_extrapol_fact(),field_extrapol_z_parallel(),mag_init(),warning()
- subroutine initcond/stratification_xz(f, strati_type)
read mean stratification from “stratification_xz.dat”
09-aug-14/axel: adapted from stratification
- Parameters:
f (,,*,*) [real,contiguous]
strati_type [character]
- Use :
- Call to:
fatal_error(),erfunc(),get_radial_distance(),parabola(),fourier_transform(),not_implemented(),stop_it_if_any(),sum_xy(),setup_extrapol_fact(),field_extrapol_z_parallel(),mag_init(),warning()
- subroutine initcond/planet_hc(ampl, f, eps, radius, gamma, cs20, rho0, width)
Ellipsoidal planet solution (Goldreich, Narayan, Goodman 1987)
6-jul-02/axel: coded
22-feb-03/axel: fixed 3-D background solution for enthalpy 26-Jul-03/anders: Revived from June 1 version
- Parameters:
ampl [real]
f (,,*,*) [real,contiguous]
eps [real]
radius [real]
gamma [real]
cs20 [real]
rho0 [real]
width [real]
- Use :
mpicomm(mpireduce_sum(),mpibcast_real(),mpi_comm_pencil())- Called from:
- Call to:
erfunc(),get_radial_distance(),parabola(),fatal_error(),fourier_transform(),not_implemented(),stop_it_if_any(),sum_xy(),setup_extrapol_fact(),field_extrapol_z_parallel(),mag_init(),warning()
- subroutine initcond/planet(rbound, f, eps, radius, gamma, cs20, rho0, width, hh0)
Cylindrical planet solution (Goldreich, Narayan, Goodman 1987)
jun-03/anders: coded (adapted from old ‘planet’, now ‘planet_hc’)
- Parameters:
rbound [real]
f (,,*,*) [real,contiguous]
eps [real]
radius [real]
gamma [real]
cs20 [real]
rho0 [real]
width [real]
hh0 [real]
- Use :
mpicomm(mpireduce_sum(),mpibcast_real(),mpi_comm_pencil())- Called from:
- Call to:
erfunc(),get_radial_distance(),parabola(),fatal_error(),fourier_transform(),not_implemented(),stop_it_if_any(),sum_xy(),setup_extrapol_fact(),field_extrapol_z_parallel(),mag_init(),warning()
- subroutine initcond/vortex_2d(f, b_ell, width, rbound)
Ellipsoidal planet solution (Goldreich, Narayan, Goodman 1987)
8-jun-04/anders: adapted from planet
- Parameters:
f (,,*,*) [real,contiguous]
b_ell [real]
width [real]
rbound [real]
- Call to:
erfunc(),get_radial_distance(),parabola(),fatal_error(),fourier_transform(),not_implemented(),stop_it_if_any(),sum_xy(),setup_extrapol_fact(),field_extrapol_z_parallel(),mag_init(),warning()
- subroutine initcond/baroclinic(f, gamma, dlnrhobdx, co1_ss, co2_ss, cs20)
Remark 4-dez-09 bing: this routine is nowhere called! Is it still in use?
Baroclinic shearing sheet initial condition 11-nov-03/anders: coded
- Parameters:
f (,,*,*) [real,contiguous]
gamma [real]
dlnrhobdx [real]
co1_ss [real]
co2_ss [real]
cs20 [real]
- Call to:
erfunc(),get_radial_distance(),parabola(),fatal_error(),fourier_transform(),not_implemented(),stop_it_if_any(),sum_xy(),setup_extrapol_fact(),field_extrapol_z_parallel(),mag_init(),warning()
- subroutine initcond/crazy(ampl, f, i)
A crazy initial condition (was useful to initialize all points with finite values)
19-may-02/axel: coded
- Parameters:
ampl [real]
f (,,*,*) [real,contiguous]
i [integer]
- Called from:
- Call to:
erfunc(),get_radial_distance(),parabola(),fatal_error(),fourier_transform(),not_implemented(),stop_it_if_any(),sum_xy(),setup_extrapol_fact(),field_extrapol_z_parallel(),mag_init(),warning()
- subroutine initcond/strange(ampl, f, i)
A strange initial condition !
24-april-09/dhruba: coded
- Parameters:
ampl [real]
f (,,*,*) [real,contiguous]
i [integer]
- Called from:
- Call to:
erfunc(),get_radial_distance(),parabola(),fatal_error(),fourier_transform(),not_implemented(),stop_it_if_any(),sum_xy(),setup_extrapol_fact(),field_extrapol_z_parallel(),mag_init(),warning()
- subroutine initcond/htanh(ampl, f, i1, eps)
Horizontal flux tanh (for vector potential, or passive scalar)
30-may-11/axel: tanh layer
- Parameters:
ampl [real]
f (,,*,*) [real,contiguous]
i1 [integer]
eps [real]
- Call to:
erfunc(),get_radial_distance(),parabola(),fatal_error(),fourier_transform(),not_implemented(),stop_it_if_any(),sum_xy(),setup_extrapol_fact(),field_extrapol_z_parallel(),mag_init(),warning()
- subroutine initcond/vtube(ampl, f, i1, i2, radius)
Vertical flux tube (for vector potential) Note: in Cartesian coords this cannot be used for periodic xy mesh
1-apr-13/axel+MR: coded for cylindrical coordinates
14-jul-13/axel: adapted for Cartesian coordinates
- Parameters:
ampl [real]
f (,,*,*) [real,contiguous]
i1 [integer]
i2 [integer]
radius [real]
- Call to:
erfunc(),get_radial_distance(),parabola(),fatal_error(),fourier_transform(),not_implemented(),stop_it_if_any(),sum_xy(),setup_extrapol_fact(),field_extrapol_z_parallel(),mag_init(),warning()
- subroutine initcond/vtube_peri(ampl, f, i1, i2, radius)
Vertical flux tube (for vector potential) for periodic xy mesh
14-jul-13/axel: coded
- Parameters:
ampl [real]
f (,,*,*) [real,contiguous]
i1 [integer]
i2 [integer]
radius [real]
- Call to:
erfunc(),get_radial_distance(),parabola(),fatal_error(),fourier_transform(),not_implemented(),stop_it_if_any(),sum_xy(),setup_extrapol_fact(),field_extrapol_z_parallel(),mag_init(),warning()
- subroutine initcond/htube(ampl, f, i1, i2, radius, eps, center1_x, center1_z)
Horizontal flux tube (for vector potential, or passive scalar)
7-jun-02/axel+vladimir: coded
11-sep-02/axel: allowed for scalar field (if i1=i2)
- Parameters:
ampl [real]
f (,,*,*) [real,contiguous]
i1 [integer]
i2 [integer]
radius [real]
eps [real]
center1_x [real]
center1_z [real]
- Called from:
- Call to:
erfunc(),get_radial_distance(),parabola(),fatal_error(),fourier_transform(),not_implemented(),stop_it_if_any(),sum_xy(),setup_extrapol_fact(),field_extrapol_z_parallel(),mag_init(),warning()
- subroutine initcond/htube_x(ampl, f, i1, i2, radius, eps, center1_y, center1_z)
Horizontal flux tube pointing in the x-direction (for vector potential, or passive scalar)
- 14-apr-09/axel: adapted from htube, used in paper with Violaine Auger
in Vermersch & Brandenburg (2009, AN 330, 797-806).
- Parameters:
ampl [real]
f (,,*,*) [real,contiguous]
i1 [integer]
i2 [integer]
radius [real]
eps [real]
center1_y [real]
center1_z [real]
- Called from:
- Call to:
erfunc(),get_radial_distance(),parabola(),fatal_error(),fourier_transform(),not_implemented(),stop_it_if_any(),sum_xy(),setup_extrapol_fact(),field_extrapol_z_parallel(),mag_init(),warning()
- subroutine initcond/htube_erf(ampl, f, i1, i2, a, eps, center1_x, center1_z, width)
Horizontal flux tube (for vector potential) which gives error-function border profile for the magnetic field., or passive scalar
18-mar-09/dhruba: adapted from htube
- Parameters:
ampl [real]
f (,,*,*) [real,contiguous]
i1 [integer]
i2 [integer]
a [real]
eps [real]
center1_x [real]
center1_z [real]
width [real]
- Use :
- Called from:
- Call to:
erfunc(),get_radial_distance(),parabola(),fatal_error(),fourier_transform(),not_implemented(),stop_it_if_any(),sum_xy(),setup_extrapol_fact(),field_extrapol_z_parallel(),mag_init(),warning()
- subroutine initcond/htube2(ampl, f, i1, i2, radius, epsilon_nonaxi)
Horizontal flux tube (for vector potential, or passive scalar)
7-jun-02/axel+vladimir: coded
11-sep-02/axel: allowed for scalar field (if i1=i2)
- Parameters:
ampl [real]
f (,,*,*) [real,contiguous]
i1 [integer]
i2 [integer]
radius [real]
epsilon_nonaxi [real]
- Called from:
- Call to:
erfunc(),get_radial_distance(),parabola(),fatal_error(),fourier_transform(),not_implemented(),stop_it_if_any(),sum_xy(),setup_extrapol_fact(),field_extrapol_z_parallel(),mag_init(),warning()
- subroutine initcond/htube2_x(ampl, f, i1, i2, radius, epsilon_nonaxi, qtube, center1_y, center1_z[, scale_y])
Horizontal twisted flux tube in the x-direction (for vector potential, or passive scalar) y axis can be stretched to form a flattened tube
17-may-15/piyali.chatterjee: coded from htube2
- Parameters:
ampl [real]
f (,,*,*) [real,contiguous]
i1 [integer]
i2 [integer]
radius [real]
epsilon_nonaxi [real]
qtube [real]
center1_y [real]
center1_z [real]
scale_y [real]
- Call to:
erfunc(),get_radial_distance(),parabola(),fatal_error(),fourier_transform(),not_implemented(),stop_it_if_any(),sum_xy(),setup_extrapol_fact(),field_extrapol_z_parallel(),mag_init(),warning()
- subroutine initcond/magsupport(ampl, f, gravz, cs0, rho0)
magnetically supported horizontal flux layer (for aa): By^2 = By0^2 * exp(-z/H), where H=2*cs20/abs(gravz) and ampl=cs0*sqrt(2*rho0) should be used when invoking this routine. Here, ampl=pmag/pgas.
7-dec-02/axel: coded
- Parameters:
ampl [real]
f (,,*,*) [real,contiguous]
gravz [real]
cs0 [real]
rho0 [real]
- Called from:
- Call to:
erfunc(),get_radial_distance(),parabola(),fatal_error(),fourier_transform(),not_implemented(),stop_it_if_any(),sum_xy(),setup_extrapol_fact(),field_extrapol_z_parallel(),mag_init(),warning()
- subroutine initcond/hfluxlayer(ampl, f, i, zflayer, width)
Horizontal flux layer (for vector potential)
19-jun-02/axel: coded
- Parameters:
ampl [real]
f (,,*,*) [real,contiguous]
i [integer]
zflayer [real]
width [real]
- Called from:
- Call to:
erfunc(),get_radial_distance(),parabola(),fatal_error(),fourier_transform(),not_implemented(),stop_it_if_any(),sum_xy(),setup_extrapol_fact(),field_extrapol_z_parallel(),mag_init(),warning()
- subroutine initcond/hfluxlayer_y(ampl, f, i, zflayer, width[, ladd_bb])
Horizontal flux layer (for vector potential)
09-apr-10/piyali: copied from hfluxlayer
- Parameters:
ampl [real]
f (,,*,*) [real,contiguous]
i [integer]
zflayer [real]
width [real]
ladd_bb [logical,in,]
- Called from:
- Call to:
erfunc(),get_radial_distance(),parabola(),fatal_error(),fourier_transform(),not_implemented(),stop_it_if_any(),sum_xy(),setup_extrapol_fact(),field_extrapol_z_parallel(),mag_init(),warning()
- subroutine initcond/hfluxlayer_y_theta(ampl, f, i)
Horizontal flux layer (for vector potential)
19-jul-13/axel+illa: copied from hfluxlayer_y
- Parameters:
ampl [real]
f (,,*,*) [real,contiguous]
i [integer]
- Call to:
erfunc(),get_radial_distance(),parabola(),fatal_error(),fourier_transform(),not_implemented(),stop_it_if_any(),sum_xy(),setup_extrapol_fact(),field_extrapol_z_parallel(),mag_init(),warning()
- subroutine initcond/vfluxlayer(ampl, f, i, xflayer, width)
Vertical flux layer (for vector potential)
22-mar-04/axel: coded
- Parameters:
ampl [real]
f (,,*,*) [real,contiguous]
i [integer]
xflayer [real]
width [real]
- Called from:
- Call to:
erfunc(),get_radial_distance(),parabola(),fatal_error(),fourier_transform(),not_implemented(),stop_it_if_any(),sum_xy(),setup_extrapol_fact(),field_extrapol_z_parallel(),mag_init(),warning()
- subroutine initcond/arcade_x(ampl, f, i, kx, kz)
Arcade-like structures around x=0
17-jun-04/axel: coded
- Parameters:
ampl [real]
f (,,*,*) [real,contiguous]
i [integer]
kx [real]
kz [real]
- Called from:
- Call to:
erfunc(),get_radial_distance(),parabola(),fatal_error(),fourier_transform(),not_implemented(),stop_it_if_any(),sum_xy(),setup_extrapol_fact(),field_extrapol_z_parallel(),mag_init(),warning()
- subroutine initcond/halfcos_x(ampl, f, i)
Half-cosine (i.e., like gaussian bump, but periodic) for Bx field
19-jun-02/axel: coded
- Parameters:
ampl [real]
f (,,*,*) [real,contiguous]
i [integer]
- Called from:
- Call to:
erfunc(),get_radial_distance(),parabola(),fatal_error(),fourier_transform(),not_implemented(),stop_it_if_any(),sum_xy(),setup_extrapol_fact(),field_extrapol_z_parallel(),mag_init(),warning()
- subroutine initcond/halfcos_z(ampl, f, i)
Half-cosine (i.e., like gaussian bump, but periodic) for Bz field
19-jun-02/axel: coded
- Parameters:
ampl [real]
f (,,*,*) [real,contiguous]
i [integer]
- Call to:
erfunc(),get_radial_distance(),parabola(),fatal_error(),fourier_transform(),not_implemented(),stop_it_if_any(),sum_xy(),setup_extrapol_fact(),field_extrapol_z_parallel(),mag_init(),warning()
- subroutine initcond/uniform_x(ampl, f, i)
Uniform B_x field (for vector potential)
19-jun-02/axel: coded
- Parameters:
ampl [real]
f (,,*,*) [real,contiguous]
i [integer]
- Called from:
- Call to:
erfunc(),get_radial_distance(),parabola(),fatal_error(),fourier_transform(),not_implemented(),stop_it_if_any(),sum_xy(),setup_extrapol_fact(),field_extrapol_z_parallel(),mag_init(),warning()
- subroutine initcond/uniform_y(ampl, f, i)
Uniform B_y field (for vector potential)
27-jul-02/axel: coded
- Parameters:
ampl [real]
f (,,*,*) [real,contiguous]
i [integer]
- Called from:
- Call to:
erfunc(),get_radial_distance(),parabola(),fatal_error(),fourier_transform(),not_implemented(),stop_it_if_any(),sum_xy(),setup_extrapol_fact(),field_extrapol_z_parallel(),mag_init(),warning()
- subroutine initcond/uniform_z(ampl, f, i)
Uniform B_z field (for vector potential)
24-jul-03/axel: adapted from uniform_x
- Parameters:
ampl [real]
f (,,*,*) [real,contiguous]
i [integer]
- Called from:
- Call to:
erfunc(),get_radial_distance(),parabola(),fatal_error(),fourier_transform(),not_implemented(),stop_it_if_any(),sum_xy(),setup_extrapol_fact(),field_extrapol_z_parallel(),mag_init(),warning()
- subroutine initcond/uniform_phi(ampl, f, i)
Uniform B_phi field (for vector potential)
27-jul-02/axel: coded
- Parameters:
ampl [real]
f (,,*,*) [real,contiguous]
i [integer]
- Called from:
- Call to:
erfunc(),get_radial_distance(),parabola(),fatal_error(),fourier_transform(),not_implemented(),stop_it_if_any(),sum_xy(),setup_extrapol_fact(),field_extrapol_z_parallel(),mag_init(),warning()
- subroutine initcond/gaussian_by_z(ampl, f, i, z0_gaussian, width_gaussian)
Gaussian B_y field (for vector potential)
29-mar-23/nishant+rajesh: coded
- Parameters:
ampl [real]
f (,,*,*) [real,contiguous]
i [integer]
z0_gaussian [real]
width_gaussian [real]
- Use :
- Call to:
erfunc(),get_radial_distance(),parabola(),fatal_error(),fourier_transform(),not_implemented(),stop_it_if_any(),sum_xy(),setup_extrapol_fact(),field_extrapol_z_parallel(),mag_init(),warning()
- subroutine initcond/phi_comp_over_r(ampl, f, i)
B_phi ~ 1/R field (in terms of vector potential) meaningful mainly in cylindrical coordinates, otherwise it will be By~1/x
05-jul-07/mgellert: coded
- Parameters:
ampl [real]
f (,,*,*) [real,contiguous]
i [integer]
- Called from:
- Call to:
get_radial_distance(),parabola(),fatal_error(),fourier_transform(),not_implemented(),stop_it_if_any(),sum_xy(),setup_extrapol_fact(),field_extrapol_z_parallel(),mag_init(),warning()
- subroutine initcond/vfield(ampl, f, i[, kx])
Vertical field, for potential field test
14-jun-02/axel: coded 02-aug-2005/joishi: allowed for arbitrary kx
- Parameters:
ampl [real]
f (,,*,*) [real,contiguous]
i [integer]
kx [real]
- Called from:
- Call to:
get_radial_distance(),parabola(),fatal_error(),fourier_transform(),not_implemented(),stop_it_if_any(),sum_xy(),setup_extrapol_fact(),field_extrapol_z_parallel(),mag_init(),warning()
- subroutine initcond/vfield2(ampl, f, i)
Vertical field, zero on boundaries
22-jun-04/anders: adapted from vfield
- Parameters:
ampl [real]
f (,,*,*) [real,contiguous]
i [integer]
- Called from:
- Call to:
get_radial_distance(),parabola(),fatal_error(),fourier_transform(),not_implemented(),stop_it_if_any(),sum_xy(),setup_extrapol_fact(),field_extrapol_z_parallel(),mag_init(),warning()
- subroutine initcond/trilinear(f, ivar, amplx, amply, amplz)
Produce a profile that is linear in any non-periodic direction, but periodic in periodic ones (for testing purposes).
5-nov-02/wolf: coded
23-nov-02/axel: included scaling factor ampl, corrected lperi argument
- Parameters:
f (,,*,*) [real,contiguous]
ivar [integer]
amplx [real]
amply [real]
amplz [real]
- Call to:
parabola(),fatal_error(),fourier_transform(),not_implemented(),stop_it_if_any(),sum_xy(),setup_extrapol_fact(),field_extrapol_z_parallel(),mag_init(),warning()
- subroutine initcond/triquad(ampl, f, ivar[, kx[, ky[, kz[, kxx[, kyy[, kzz]]]]]])
Produce a profile that is quadratic in any non-periodic direction, but constant in periodic ones, with optional coefficients.
20-jul-09/hubbard: coded
- Parameters:
ampl [real]
f (,,*,*) [real,contiguous]
ivar [integer]
kx [real]
ky [real]
kz [real]
kxx [real]
kyy [real]
kzz [real]
- Called from:
register_density(),initialize_density(),init_lnrho(),register_pscalar(),initialize_pscalar(),init_lncc()- Call to:
parabola(),fatal_error(),fourier_transform(),not_implemented(),stop_it_if_any(),sum_xy(),setup_extrapol_fact(),field_extrapol_z_parallel(),mag_init(),warning()
- subroutine initcond/isotdisk(powerlr, f, ivar, zoverh, hoverr)
eek
21-jul-09/hubbard: coded
- Parameters:
powerlr [real]
f (,,*,*) [real,contiguous]
ivar [integer]
zoverh [real]
hoverr [real]
- Called from:
- Call to:
fatal_error(),fourier_transform(),not_implemented(),stop_it_if_any(),sum_xy(),setup_extrapol_fact(),field_extrapol_z_parallel(),mag_init(),warning()
- subroutine initcond/cos_cos_sin(ampl, f, ivar)
Produce a profile that is linear in any non-periodic direction, but periodic in periodic ones (for testing purposes).
7-dec-02/axel: coded
- Parameters:
ampl [real]
f (,,*,*) [real,contiguous]
ivar [integer]
- Call to:
fatal_error(),fourier_transform(),not_implemented(),stop_it_if_any(),sum_xy(),setup_extrapol_fact(),field_extrapol_z_parallel(),mag_init(),warning()
- subroutine initcond/tor_pert(ampl, f, ivar)
Produce a profile that is periodic in the y- and z-directions. For testing the Balbus-Hawley instability of a toroidal magnetic field
12-feb-03/ulf: coded
- Parameters:
ampl [real]
f (,,*,*) [real,contiguous]
ivar [integer]
- Call to:
fatal_error(),fourier_transform(),not_implemented(),stop_it_if_any(),sum_xy(),setup_extrapol_fact(),field_extrapol_z_parallel(),mag_init(),warning()
- subroutine initcond/const_omega(ampl, f, ivar)
Set up profile for differential rotation
16-jul-03/axel: coded
- Parameters:
ampl [real]
f (,,*,*) [real,contiguous]
ivar [integer]
- Call to:
fatal_error(),fourier_transform(),not_implemented(),stop_it_if_any(),sum_xy(),setup_extrapol_fact(),field_extrapol_z_parallel(),mag_init(),warning()
- subroutine initcond/diffrot(ampl, f, ivar)
Set up profile for differential rotation
16-jul-03/axel: coded
- Parameters:
ampl [real]
f (,,*,*) [real,contiguous]
ivar [integer]
- Called from:
- Call to:
fatal_error(),fourier_transform(),not_implemented(),stop_it_if_any(),sum_xy(),setup_extrapol_fact(),field_extrapol_z_parallel(),mag_init(),warning()
- subroutine initcond/olddiffrot(ampl, f, ivar)
Set up profile for differential rotation
16-jul-03/axel: coded
- Parameters:
ampl [real]
f (,,*,*) [real,contiguous]
ivar [integer]
- Call to:
fatal_error(),fourier_transform(),not_implemented(),stop_it_if_any(),sum_xy(),setup_extrapol_fact(),field_extrapol_z_parallel(),mag_init(),warning()
- subroutine initcond/powern(ampl, initpower, cutoff, f, i1, i2)
Produces k^initpower*exp(-k**2/cutoff**2) spectrum. Still just one processor (but can be remeshed afterwards).
07-may-03/tarek: coded
- Parameters:
ampl [real]
initpower [real]
cutoff [real]
f (,,*,*) [real,contiguous]
i1 [integer]
i2 [integer]
- Use :
- Call to:
fatal_error(),fourier_transform(),not_implemented(),stop_it_if_any(),sum_xy(),setup_extrapol_fact(),field_extrapol_z_parallel(),mag_init(),warning()
- subroutine initcond/power_randomphase(ampl, initpower, kgaussian, kpeak, cutoff, f, i1, i2[, lscale_tobox])
Produces k^initpower*exp(-k**2/cutoff**2) spectrum. However, initpower=-3 produces a k^{-1} spectrum.
07-may-03/tarek: coded 08-may-08/nils: adapted to work on multiple processors 06-jul-08/nils+andre: Fixed problem when running on
mult. procs (thanks to Andre Kapelrud for finding the bug)
- 08-feb-21/jennifer: added a Gaussian (adapted from power_randomphase_hel
but with a shift in k)
- Parameters:
ampl [real]
initpower [real]
kgaussian [real]
kpeak [real]
cutoff [real]
f (,,*,*) [real,contiguous]
i1 [integer]
i2 [integer]
lscale_tobox [logical,in,]
- Use :
- Called from:
- Call to:
fatal_error(),not_implemented(),stop_it_if_any(),sum_xy(),setup_extrapol_fact(),field_extrapol_z_parallel(),mag_init(),warning()
- subroutine initcond/power_randomphase_hel(ampl, initpower, initpower2, cutoff, ncutoff, kpeak, f, i1, i2, relhel, kgaussian, lskip_projection, lvectorpotential[, lscale_tobox[, lsquash[, k1hel[, k2hel[, lremain_in_fourier[, lpower_profile_file[, power_filename[, qexp[, lno_noise[, nfact0[, lfactors0[, compk0[, llogbranch0[, initpower_med0[, kpeak_log0[, kbreak0[, ldouble0[, nfactd0[, qirro[, lsqrt_qirro[, time[, cs[, lreinit[, ltime_old[, ltime_new[, lrho_nonuni[, ilnr[, l2d[, lnot_amp[, lrandom_ampl[, lfixed_phase]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]])
Produces helical (q**n * (1+q)**(N-n))*exp(-k**l/cutoff**l) spectrum when kgaussian=0, where q=k/kpeak, n=initpower, N=initpower2, and l=2*ncutoff. The relative helicity is relhel.
- Parameters:
initpower [real] ::
- 0 -> k^2 (if used for vector potential)
=2 -> k^4
=-3 -> k^{-1} =-3.67 k^{-5/3} =-5 -> k^{-3}
Note that the rms value is unchanged if kpeak is changed. Thus, to reproduce an unchanged subinertial range after increasing kpeak, for example, one has to increase ampl by a factor 1/kpeak**2.5, e.g., from 3e-4 to 17e-4.
08-sep-14/axel: adapted from power_randomphase 17-sep-18/axel: added optional wavenumber interval for helical field. 28-jan-19/axel: special treatment of 2-D case (nz==1) 14-aug-20/axel: adapted for fft_xyz_parallel 7-aug-22/alberto: added optional logarithmic branch and double
broken power law
ampl [real]
initpower2 [real]
cutoff [real]
ncutoff [real]
kpeak [real]
f (,,*,*) [real,contiguous]
i1 [integer]
i2 [integer]
relhel [real]
kgaussian [real]
lskip_projection [logical]
lvectorpotential [logical]
lscale_tobox [logical,in,]
lsquash [logical,in,]
k1hel [real,in,]
k2hel [real,in,]
lremain_in_fourier [logical,in,]
lpower_profile_file [logical,in,]
power_filename [character,in,]
qexp [real,in,]
lno_noise [logical,in,]
nfact0 [real,in,]
lfactors0 [logical,in,]
compk0 [real,in,]
llogbranch0 [logical,in,]
initpower_med0 [real,in,]
kpeak_log0 [real,in,]
kbreak0 [real,in,]
ldouble0 [logical,in,]
nfactd0 [real,in,]
qirro [real,in,]
lsqrt_qirro [logical,in,]
time [real,in,]
cs [real,in,]
lreinit [logical,in,]
ltime_old [logical,in,]
ltime_new [logical,in,]
lrho_nonuni [logical,in,]
ilnr [integer,in,]
l2d [logical,in,]
lnot_amp [logical,in,]
lrandom_ampl [logical,in,]
lfixed_phase [logical,in,]
- Use :
fourier(fft_xyz_parallel()),general(loptest(),roptest())- Called from:
- Call to:
fatal_error(),not_implemented(),stop_it_if_any(),sum_xy(),setup_extrapol_fact(),field_extrapol_z_parallel(),mag_init(),warning()
- subroutine initcond/bunch_davies(f, i1a, i1b, i2a, i2b, ampl, kpeak, deriv_prefactor[, lappy_bd_k1d_factor[, lapply_bd_kny_factor[, linv]]])
21-mar-25/axel: adapted from power_randomphase_hel 21-may-25/axel: when kpeak<0, interpret is as sharp cutoff; powerlaw otherwise. 12-apr-26/axel: added lappy_BD_k1D_factor, hardwired linv=T (indep of N, F -> scales with N^6 in 3-D)
- Parameters:
f (,,*,*) [real,contiguous]
i1a [integer]
i1b [integer]
i2a [integer]
i2b [integer]
ampl [real]
kpeak [real]
deriv_prefactor [real]
lappy_bd_k1d_factor [logical]
lapply_bd_kny_factor [logical]
linv [logical]
- Use :
fourier(fft_xyz_parallel()),general(loptest(),roptest())- Call to:
fatal_error(),not_implemented(),stop_it_if_any(),sum_xy(),setup_extrapol_fact(),field_extrapol_z_parallel(),mag_init(),warning()
- subroutine initcond/random_isotropic_ks(initpower, f, i1, n_modes)
produces random, isotropic field from energy spectrum following the KS method (Malik and Vassilicos, 1999.)
more to do; unsatisfactory so far - at least for a steep power-law energy spectrum
24-sept-04/snod: coded first attempt
- Parameters:
initpower [real]
f (,,*,*) [real,contiguous]
i1 [integer]
n_modes [integer] :: sum over N_modes modes
- Use :
- Called from:
- Call to:
not_implemented(),stop_it_if_any(),fatal_error(),sum_xy(),setup_extrapol_fact(),field_extrapol_z_parallel(),mag_init(),warning()
- subroutine initcond/random_isotropic_shell(f, jf, ampl0, z1, z2)
random_isotropic_shell
25-jun-15/axel: coded
- Parameters:
f (,,*,*) [real,contiguous]
jf [integer]
ampl0 [real]
z1 [real]
z2 [real]
- Use :
- Call to:
not_implemented(),stop_it_if_any(),fatal_error(),sum_xy(),setup_extrapol_fact(),field_extrapol_z_parallel(),mag_init(),warning()
- subroutine initcond/corona_init(f, gamma)
Initialize the density for a given temperature profile in the vertical (z) direction by solving for hydrostatic equilibrium. The temperature is hard coded as three polynomials.
07-dec-05/bing : coded.
- Parameters:
f (,,*,*) [real,contiguous]
gamma [real]
- Use :
equationofstate(lnrho0(),cs20(),cs2top(),cs2bot()),mpicomm(mpibcast_real())- Called from:
- Call to:
not_implemented(),stop_it_if_any(),fatal_error(),sum_xy(),setup_extrapol_fact(),field_extrapol_z_parallel(),mag_init(),warning()
- subroutine initcond/mdi_init(f, periodic, z0aa)
Intialize the vector potential by potential field extrapolation of a mdi magnetogram
13-dec-05/bing : coded.
- Parameters:
f (,,*,*) [real,inout,contiguous]
periodic [logical,in] :: ‘)
z0aa [real,in]
- Use :
fourier(fourier_transform_other(),kx_fft(),ky_fft()),mpicomm(mpibcast_real(),stop_it_if_any())- Called from:
- Call to:
not_implemented(),stop_it_if_any(),fatal_error(),sum_xy(),setup_extrapol_fact(),field_extrapol_z_parallel(),mag_init(),warning()
- subroutine initcond/mag_init(f)
Intialize the vector potential with a potential field extrapolation.
29-Mar-2011/Bourdin.KIS : coded, adapted parts from ‘mdi_init’.
- Parameters:
f (,,*,*) [real,inout,contiguous]
- Use :
fourier(setup_extrapol_fact(),field_extrapol_z_parallel()),mpicomm(stop_it_if_any(),mpisend_real(),mpirecv_real(),sum_xy())- Called from:
phi_siny_over_r2(),sinxsinz(),sinx_siny_sinz(),sinx_siny_cosz(),x3_siny_cosz(),x_siny_cosz(),x1_siny_cosz(),x32_siny_cosz(),x1_cosy_cosz(),lnx_cosy_cosz(),cosx_siny_cosz(),sinx_cosy_cosz(),sin2x_sin2y_cosz(),cosxz_cosz(),cosyz_sinz(),cosx_cosy_cosz(),cosx_cosz(),cosy_cosz(),cosy_sinz(),x3_cosy_cosz(),cosx_coscosy_cosz(),cos2x_cos2y_cos2z(),xpoint(),xpoint2(),innerbox(),couette(),couette_rings(),hat(),hat3d(),gaussian(),gaussian3d(),gaussianpos(),parabola(),wave(),linprof(),wave_uu(),acosy(),modes(),modev(),modeb(),jump(),bjump(),bjumpz(),beltrami_old(),abc_field(),beltrami(),beltramik_general(),beltrami_general(),bihelical(),bhyperz(),beltrami_complex(),bessel_x(),bessel_az_x(),straining(),rolls(),robertsflow(),rotated_robertsflow(),exponential(),vecpatternxy(),bipolar(),bipolar_restzero(),soundwave(),coswave(),sph_constb(),hatwave(),sinwave(),sinwave_phase(),coswave_phase(),hawley_etal99a(),stratification(),stratification_x(),stratification_xz(),planet_hc(),planet(),vortex_2d(),baroclinic(),crazy(),strange(),htanh(),vtube(),vtube_peri(),htube(),htube_x(),htube_erf(),htube2(),htube2_x(),magsupport(),hfluxlayer(),hfluxlayer_y(),hfluxlayer_y_theta(),vfluxlayer(),arcade_x(),halfcos_x(),halfcos_z(),uniform_x(),uniform_y(),uniform_z(),uniform_phi(),gaussian_by_z(),phi_comp_over_r(),vfield(),vfield2(),trilinear(),triquad(),isotdisk(),cos_cos_sin(),tor_pert(),const_omega(),diffrot(),olddiffrot(),powern(),power_randomphase(),power_randomphase_hel(),bunch_davies(),random_isotropic_ks(),random_isotropic_shell(),corona_init(),mdi_init(),mag_init(),mag_az_init()- Call to:
fatal_error(),not_implemented(),stop_it_if_any(),sum_xy(),setup_extrapol_fact(),field_extrapol_z_parallel(),mag_init(),warning()
- subroutine initcond/mag_az_init(f)
Intialize the vector potential A with a potential field extrapolation from the bottom boundary read from a file.
30-Mar-2018/Bourdin.KIS : coded.
- Parameters:
f (,,*,*) [real,inout,contiguous]
- Use :
- Call to:
fatal_error(),mag_init(),stop_it_if_any(),warning(),not_implemented()
- subroutine initcond/file_init(f)
Intialize the vector potential with a vector potential A from a file.
30-Mar-2018/Bourdin.KIS : coded.
- Parameters:
f (,,*,*) [real,inout,contiguous]
- Use :
mpicomm(stop_it_if_any(),distribute_xy(),mpisend_real(),mpirecv_real())- Call to:
fatal_error(),stop_it_if_any(),warning(),not_implemented()
- subroutine initcond/temp_hydrostatic(f, rho0, gamma)
- 07-dec-05/bingcoded.
intialize the density for a given temperature profile in vertical z direction by solving the hydrostatic equilibrium: dlnrho = - dlnTT + (cp-cv)/T g dz
- Parameters:
f (,,*,*) [real,contiguous]
rho0 [real]
gamma [real]
- Use :
equationofstate(lnrho0(),cs2top(),cs2bot()),gravity(gravz()),mpicomm(mpibcast_real())- Call to:
- subroutine initcond/const_lou(ampl, f, i)
PLEASE ADD A DESCRIPTION
5-nov-05/weezy: coded
- Parameters:
ampl [real]
f (,,*,*) [real,contiguous]
i [integer]
- Called from:
- Call to:
- subroutine initcond/ferriere_uniform_x(ampl, f, i)
Uniform B_x field propto rho (for vector potential)
This routine sets up an initial magnetic field x-parallel with a magnitude directly proportional to the density. In entropy.f90 we require Galactic-hs or Ferriere-hs to be set for initss, in density.f90 Galactic-hs should be set for initlnrho and in gravity_simple.f90 use Ferriere for gravz_profile
09-jan-10/fred: coded
- Parameters:
ampl [real]
f (,,*,*) [real,contiguous]
i [integer]
- Use :
- Called from:
- Call to:
- subroutine initcond/ferriere_uniform_y(ampl, f, i)
Uniform B_y field (for vector potential)
22-jan-10/fred
This routine sets up an initial magnetic field y-parallel(azimuthal) with a magnitude directly proportional to the density. In entropy.f90 we require Galactic-hs or Ferriere-hs to be set for initss, in density.f90 Galactic-hs should be set for initlnrho and in gravity_simple.f90 use Ferriere for gravz_profile
- Parameters:
ampl [real]
f (,,*,*) [real,contiguous]
i [integer]
- Use :
- Called from:
- Call to:
- subroutine initcond/rotblob(ampl, incl_alpha, f, i, radius[, xsphere[, ysphere[, zsphere]]])
Rigid rotating sphere initial velocity with inclination angle alpha.
18-feb-10/mvaisala: coded
- Parameters:
ampl [real]
incl_alpha [real]
f (,,*,*) [real,contiguous]
i [integer]
radius [real]
xsphere [real]
ysphere [real]
zsphere [real]
- Call to:
- subroutine initcond/rotblob_yz(ampl, f, i, radius[, xsphere[, ysphere[, zsphere]]])
Rigid rotating sphere initial velocity with inclination angle alpha.
18-feb-10/mvaisala: coded
- Parameters:
ampl [real]
f (,,*,*) [real,contiguous]
i [integer]
radius [real]
xsphere [real]
ysphere [real]
zsphere [real]
- Call to:
- subroutine initcond/dipole(f, ix, amp[, r_inner_[, r_outer_]])
initial vector potential for a purely poloidal axisymmetric field vec{B} sim [f_r costheta, f_theta sintheta, 0]
18-jun-13/MR: coded
- Parameters:
f (,,*,*) [real,contiguous]
ix [integer]
amp [real]
r_inner [real]
r_outer [real]
- Call to:
- subroutine initcond/quadrupole(f, ix, amp[, r_inner_[, r_outer_]])
initial vector potential for a purely poloidal axisymmetric field vec{B} sim [f_r costheta, f_theta sintheta, 0]
30-nov-25/axel: adapted from dipole
- Parameters:
f (,,*,*) [real,contiguous]
ix [integer]
amp [real]
r_inner [real]
r_outer [real]
- Call to:
- subroutine initcond/quadrupole2(f, ix, amp[, r_inner_[, r_outer_]])
initial vector potential for a purely poloidal axisymmetric field vec{B} sim [f_r costheta, f_theta sintheta, 0]
30-nov-25/axel: adapted from dipole
- Parameters:
f (,,*,*) [real,contiguous]
ix [integer]
amp [real]
r_inner [real]
r_outer [real]
- Call to:
- subroutine initcond/quadrupole3(f, ix, amp[, r_inner_[, r_outer_]])
initial vector potential for a purely poloidal axisymmetric field vec{B} sim [f_r costheta, f_theta sintheta, 0]
30-nov-25/axel: adapted from dipole
- Parameters:
f (,,*,*) [real,contiguous]
ix [integer]
amp [real]
r_inner [real]
r_outer [real]
- Call to:
- subroutine initcond/dipolea(f, ix, amp, r, angle)
initial vector potential for dipole A
- Parameters:
f (,,*,*) [real,contiguous]
ix [integer]
amp [real]
r [real]
angle [real]
- Call to:
- subroutine initcond/dipoleb(f, ix, amp, e, angle)
initial vector potential for dipole B
- Parameters:
f (,,*,*) [real,contiguous]
ix [integer]
amp [real]
e [real]
angle [real]
- Call to:
- subroutine initcond/switchback(f, ix, amp, amp2[, r_inner_[, r_outer_]])
initial vector potential for a purely poloidal axisymmetric field vec{B} sim [f_r costheta, f_theta sintheta, 0]
18-jun-13/MR: coded
- Parameters:
f (,,*,*) [real,contiguous]
ix [integer]
amp [real]
amp2 [real]
r_inner [real]
r_outer [real]
- Call to:
- subroutine initcond/dipole_tor(f, ix, amp[, ladd])
initial vector potential for a purely toroidal axisymmetric field B_phi sim sintheta. Radial dependence parabolic and vanishing at boundaries.
18-jun-13/MR: coded
- Parameters:
f (,,*,*) [real,contiguous]
ix [integer]
amp [real]
ladd [logical]
- Use :
- Call to:
- subroutine initcond/tanh_hyperbola(amp, f, ix, yzero, delta, kk)
initial vector potential as used by Moffatt and Hunt, “A model for magnetic reconnection”, 2002.
- Parameters:
amp [real]
f (,,*,*) [real,contiguous]
ix [integer,in]
yzero [real]
delta [real]
kk [real]
- subroutine initcond/sech2x(amp, f, ix, width)
initial vector potential for tearing instability
23 Mar 2026/vinay.kumar
- Parameters:
amp [real]
f (,,*,*) [real,contiguous]
ix [integer,in]
width [real]
- subroutine initcond/coalesce_tubes(amp, f, ix, width, cs20)
- Parameters:
amp [real,in]
f (,,*,*) [real,contiguous]
ix [integer,in]
width [real,in]
cs20 [real,in]
- subroutine initcond/coalesce_tubes_pe(amp, f, ix, width, cs20)
- Parameters:
amp [real,in]
f (,,*,*) [real,contiguous]
ix [integer,in]
width [real,in]
cs20 [real,in]
- subroutine initcond/pre_stellar_cloud(f, datafile, mass_cloud, cloud_mode, t_cloud_out_rel, dens_coeff, temp_coeff, temp_trans, temp_coeff_out)
Creates a isothermal or modified Bonnor-Ebert Sphere to be used as a prestellar cloud.
- Parameters:
datafile [character] :: The file that includes the density and temp distribution BE_resolution: The resolution of isothemal BE-solutions
mass_cloud [real] ::
mass of the cloud in solar masses
13-jul-10/mvaisala: created
f (,,*,*) [real,inout,contiguous]
cloud_mode [character]
t_cloud_out_rel [real]
dens_coeff [real]
temp_coeff [real]
temp_trans [real]
temp_coeff_out [real]
- Use :
- Call to:
- subroutine initcond/read_outside_scal_array(f, datafile, i)
Reads a pre-generated setup of a scalar variable (i.e. lnrho) from an ascii file, generated by an external script. 13-may-13/mvaisala: created
- Parameters:
f (,,*,*) [real,inout,contiguous]
datafile [character]
i [integer]
- Call to:
- subroutine initcond/read_outside_vec_array(f, datafile, i[, lbinary[, ampl]])
Reads a pre-generated setup of a vector variable (i.e. uu) from an ascii file, generated by an external script. 13-may-13/mvaisala: created
- Parameters:
f (,,*,*) [real,inout,contiguous]
datafile [character]
i [integer]
lbinary [logical]
ampl [real]
- Use :
- Call to: