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 [public]

    Overload the `gaunoise’ function

  • initcond/gaunoise_prof_scal [private]
  • initcond/gaunoise_prof_vect [private]
  • initcond/gaunoise_rprof [public]

    Overload the `gaunoise_rprof’ function

  • 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 [public]

    Overload the `posnoise’ function

  • initcond/posnoise_rel [public]

    Overload the `posnoise’ function

  • 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:

register_magnetic(), initialize_magnetic(), init_aa()

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:

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/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:

register_magnetic(), initialize_magnetic(), init_aa()

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:

register_magnetic(), initialize_magnetic(), init_aa()

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:

register_magnetic(), initialize_magnetic(), init_aa()

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 :

general (roptest())

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:

register_magnetic(), initialize_magnetic(), init_aa()

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:

register_magnetic(), initialize_magnetic(), init_aa()

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:

register_magnetic(), initialize_magnetic(), init_aa()

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:

register_magnetic(), initialize_magnetic(), init_aa()

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:

register_magnetic(), initialize_magnetic(), init_aa()

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:

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/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:

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/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:

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/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:

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/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:

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_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:

register_magnetic(), initialize_magnetic(), init_aa()

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:

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/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:

register_magnetic(), initialize_magnetic(), init_aa()

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:

register_magnetic(), initialize_magnetic(), init_aa()

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:

register_magnetic(), initialize_magnetic(), init_aa()

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 :

sub (cubic_step())

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 :

sub (cubic_step())

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:

register_magnetic(), initialize_magnetic(), init_aa()

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:

register_magnetic(), initialize_magnetic(), init_aa()

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:

register_magnetic(), initialize_magnetic(), init_aa()

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:

register_magnetic(), initialize_magnetic(), init_aa()

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:

register_magnetic(), initialize_magnetic(), init_aa()

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:

register_magnetic(), initialize_magnetic(), init_aa()

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:

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(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:

register_magnetic(), initialize_magnetic(), init_aa()

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:

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/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:

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/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:

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/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 :

equationofstate (eoscalc())

Called from:

register_density(), initialize_density(), init_lnrho()

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 :

equationofstate (eoscalc())

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:

register_density(), initialize_density(), init_lnrho()

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:

register_density(), initialize_density(), init_lnrho()

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:

register_magnetic(), initialize_magnetic(), init_aa()

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:

register_magnetic(), initialize_magnetic(), init_aa()

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:

register_magnetic(), initialize_magnetic(), init_aa()

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:

register_magnetic(), initialize_magnetic(), init_aa()

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 :

sub (erfunc())

Called from:

register_magnetic(), initialize_magnetic(), init_aa()

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:

register_pscalar(), initialize_pscalar(), init_lncc()

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:

register_magnetic(), initialize_magnetic(), init_aa()

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:

register_magnetic(), initialize_magnetic(), init_aa()

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:

register_magnetic(), initialize_magnetic(), init_aa()

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:

register_magnetic(), initialize_magnetic(), init_aa()

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:

register_magnetic(), initialize_magnetic(), init_aa()

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:

register_magnetic(), initialize_magnetic(), init_aa()

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:

register_magnetic(), initialize_magnetic(), init_aa()

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:

register_magnetic(), initialize_magnetic(), init_aa()

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:

register_magnetic(), initialize_magnetic(), init_aa()

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:

register_magnetic(), initialize_magnetic(), init_aa()

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 :

sub (erfunc())

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:

register_magnetic(), initialize_magnetic(), init_aa()

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:

register_magnetic(), initialize_magnetic(), init_aa()

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:

register_magnetic(), initialize_magnetic(), init_aa()

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:

register_density(), initialize_density(), init_lnrho()

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:

register_magnetic(), initialize_magnetic(), init_aa()

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 :

fourier (fourier_transform())

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 :

fourier (fft_xyz_parallel())

Called from:

register_magnetic(), initialize_magnetic(), init_aa()

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:

register_particles_special()

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 :

sub (cross(), dot(), dot2())

Called from:

register_magnetic(), initialize_magnetic(), init_aa()

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 :

sub (cross(), dot(), dot2())

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:

register_density(), initialize_density(), init_lnrho()

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:

register_magnetic(), initialize_magnetic(), init_aa()

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 :

mpicomm (stop_it_if_any(), distribute_xy())

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:

warning(), fatal_error(), not_implemented()

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:

register_magnetic(), initialize_magnetic(), init_aa()

Call to:

fatal_error(), not_implemented()

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 :

mpicomm (mpireduce_sum(), mpibcast_real())

Called from:

register_magnetic(), initialize_magnetic(), init_aa()

Call to:

fatal_error(), not_implemented()

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 :

mpicomm (mpireduce_sum(), mpibcast_real())

Called from:

register_magnetic(), initialize_magnetic(), init_aa()

Call to:

fatal_error(), not_implemented()

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:

fatal_error(), not_implemented()

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:

fatal_error(), not_implemented()

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:

fatal_error(), not_implemented()

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:

fatal_error(), not_implemented()

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:

fatal_error(), not_implemented()

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:

fatal_error(), not_implemented()

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:

not_implemented()

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:

not_implemented()

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:

not_implemented()

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 :

general (loptest())

Call to:

not_implemented()

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 :

equationofstate (eoscalc())

Call to:

fatal_error(), input_snap(), input_snap_finalize()

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:

fatal_error(), input_snap(), input_snap_finalize()

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 :

io (input_snap(), input_snap_finalize())

Call to:

fatal_error(), input_snap(), input_snap_finalize()