noforcing

Module

Description

$Id$

This module contains routines both for delta-correlated and continuous forcing. The fcont pencil is only provided for continuous forcing.

** AUTOMATIC CPARAM.INC GENERATION ************************ Declare (for generation of cparam.inc) the number of f array variables and auxiliary variables added by this module

CPARAM logical, parameter :: lforcing = .false.

MVAR CONTRIBUTION 0 MAUX CONTRIBUTION 0

PENCILS PROVIDED fcont(3,n_forcing_cont_max); curlfcont(3,n_forcing_cont_max)


Quick access

Variables:

alpha_shift, ampl1_ff, ampl_bb, ampl_double_ff, b0_mode, bconst, beta_gp, bslope, calc_counter_centrifugal, calc_fluxring_cylindrical, calc_force_ampl, calc_gp_tc13, calc_tg_random, channel_force, ck_equator_gap, ck_gap_step, cklist, cosxt, cosyt, coszt, crosshel, cs0eff, dforce, dtforce_ampl, dtforce_duration, ell_shift, embedx, embedy, embedz, enum_iforcing_cont, eps_fcont, equator, eta_gp, expmk2x2, expmk2y2, fconst_coefs_hel, fcont_ampl, fcont_from_file, force, force1_scl, force2, force2_scl, force_direction, force_double, force_strength, forcing_2drandom_xy, forcing_2drandom_xy_simple, forcing_abc, forcing_blobhs_random, forcing_blobs, forcing_chandra_kendall, forcing_cktest, forcing_coefs_hel, forcing_coefs_hel2, forcing_cont_after_boundary, forcing_diffrot, forcing_fountain, forcing_gaussianpot, forcing_gp, forcing_gp92, forcing_hel, forcing_hel_both, forcing_hel_kprof, forcing_hel_noshear, forcing_hel_smooth, forcing_hillrain, forcing_hshear, forcing_irro, forcing_mhd_mode, forcing_nocos, forcing_roberts, forcing_spherical_radial, forcing_tg, forcing_tidal, forcing_twist, forcing_white_noise, fountain, fpre, fxyz_coefs_hel, get_2dmodes, height_ff, hel_vec, helsign, i2fff, i2ffx, i2ffy, i2ffz, icklist, idiag_bfm, idiag_ffm, idiag_fxbym, idiag_fxbzm, idiag_ofm, idiag_rufint, idiag_rufm, idiag_ruxfxm, idiag_ruxfym, idiag_ruyfxm, idiag_ruyfym, idiag_ruzfzm, idiag_ufm, ifcont_aux, iff, iff_aux, ifff, iffx, iffy, iffz, iforce, iforce2, iforce_profile, iforce_tprofile, iforcing_cont, iforcing_zsym, ifx, ify, ifz, input_persist_forcing, input_persist_forcing_id, input_persistent_forcing, itestfield_forcing_offset, itestflow_forcing_offset, iylm_list, iylm_rot, jtest_aa0, jtest_uu0, k1xyz, k2d, kav2, kf_fcont, kf_fcont_x, kf_fcont_y, kf_fcont_z, kfountain, kkx2, kky2, kkz2, kmax_gp, kmin_gp, kx_2df, kx_ff, ky_2df, ky_ff, kz_ff, kzlarge, l2dxz, l2dyz, laniso_forcing_old, lavoid_xymean, lavoid_ymean, lavoid_zmean, lconservative_hydro, lconservative_ptr, lcrosshel_forcing, ldiscrete_phases, lembed, lfastck, lfastsr, lfcont_as_comaux, lff_as_aux, lforce_always_all_compomemts, lforce_cuty, lforce_peri, lforce_ramp_down, lforcing2_curl, lforcing2_same, lforcing_coefs_hel_double, lforcing_osc, lforcing_osc2, lforcing_osc_double, lgentle, lhelical_test, lhydro_forcing, lisotropize_sr, lmagnetic_forcing, lmhd_forcing, lmomentum_ff, lneutral_forcing, location2, lrandom_time, lsamesign, lshearing_adjust_old, ltestfield_forcing, ltestflow_forcing, lwork_ff, lwrite_gausspot_to_file, lwrite_gausspot_to_file_always, lwrite_psi, lxxcorr_forcing, lxycorr_forcing, max_force, n_axisrot_angles, n_equator_ff, n_forcing_cont, n_hel_sin_pow, ncol, nexp_ff, nk2, nk_gp, nlist_ck, nlocation, old_forcing_evector, omega_double_ff, omega_fcont, omega_ff, omega_tidal, omegay_fcont, omegaz_fcont, phi1_ff, phi2_ff, phi_tidal, profx_ampl, profx_ampl1, profx_hel, profy_ampl, profy_hel, profz_ampl, profz_hel, profz_k, psif, qdouble_profile, r0_tidal, r_ff, r_ff_hel, radius_ff, random2d_kmax, random2d_kmin, random2d_kmodes, random2d_nmodes, rcyl_ff, rel_zcomp, rylm_list, rylm_rot, sinxt, sinyt, sinzt, slope_ff, sr_alpha_shift, sr_ell_shift, tauforce_ramp_down, tcor_gp, tforce_ramp_down, tforce_start, tforce_start2, tforce_stop, tforce_stop2, tgentle, theta_tg, torus, wff2_ampl, wff_ampl, width_bb, width_fcont, width_ff, work_ff, x1_fcont, x2_fcont, xff2_ampl, xff_ampl, xi_gp, xmaxf, xminf, yff2_ampl, yff_ampl, ymaxf, yminf, z_bb, z_center, z_center_fcont, zff2_ampl, zff_ampl, zff_height, zff_hel, zpsi_list

Routines:

addforce(), calc_diagnostics_forcing(), calc_pencils_forcing(), forcing_after_boundary(), forcing_clean_up(), forcing_cont(), forcing_pars_hel(), initialize_forcing(), input_persistent_forcing(), output_persistent_forcing(), pencil_criteria_forcing(), pencil_interdep_forcing(), read_forcing_run_pars(), register_forcing(), rprint_forcing(), write_forcing_run_pars()

Needed modules

Variables

  • forcing/lhydro_forcing [logical,public/optional/default=.false.]
  • forcing/ltestflow_forcing [logical,public/optional/default=.false.]
  • forcing/n_forcing_cont [integer,public/optional/default=n_forcing_cont_max]

Subroutines and functions

subroutine  forcing/register_forcing()

add forcing in timestep() 11-may-2002/wolf: coded

identify version number

Called from:

register_modules()

Call to:

svn_id(), output_persistent_forcing()

subroutine  forcing/initialize_forcing()

initialize random number generator in processor-dependent fashion see comments in start.f90 for details

Called from:

register_modules(), initialize_modules()

Call to:

output_persistent_forcing()

subroutine  forcing/addforce(f)

add forcing in timestep()

Parameters:

f (mx,my,mz,mfarray) [real]

Called from:

helper_loop(), reload(), gen_output(), timeloop()

Call to:

output_persistent_forcing()

subroutine  forcing/forcing_after_boundary(f)

precalculate parameters that are new at each timestep, but the same for all pencils

Parameters:

f (mx,my,mz,mfarray) [real,in]

Called from:

pde(), write_diagnostics(), calc_all_module_diagnostic_auxiliaries(), perform_diagnostics(), finalize_diagnostics()

Call to:

output_persistent_forcing()

subroutine  forcing/pencil_criteria_forcing()

Dummy routine

Called from:

register_modules(), initialize_modules(), finalize_modules(), choose_pencils()

Call to:

output_persistent_forcing()

subroutine  forcing/pencil_interdep_forcing(lpencil_in)

Dummy routine

Parameters:

lpencil_in (npencils) [logical]

Called from:

register_modules(), initialize_modules(), finalize_modules(), choose_pencils()

Call to:

output_persistent_forcing()

subroutine  forcing/calc_pencils_forcing(f, p)

Dummy routine

Parameters:
Called from:

pde(), write_diagnostics(), calc_all_module_diagnostic_auxiliaries(), perform_diagnostics(), finalize_diagnostics()

Call to:

output_persistent_forcing()

subroutine  forcing/calc_diagnostics_forcing(p)

dummy routine

Parameters:

p [pencil_case]

Called from:

pde(), write_diagnostics(), calc_all_module_diagnostic_auxiliaries()

Call to:

output_persistent_forcing()

subroutine  forcing/forcing_cont(force)
Parameters:

force (nx,3) [real,out]

Called from:

register_testflow(), initialize_testflow(), init_uutest(), pencil_criteria_testflow(), pencil_interdep_testflow(), read_testflow_init_pars(), write_testflow_init_pars(), read_testflow_run_pars(), write_testflow_run_pars(), duutest_dt(), get_slices_testflow(), testflow_before_boundary(), calc_ltestflow_nonlin_terms()

Call to:

output_persistent_forcing()

subroutine  forcing/read_forcing_run_pars(iomsg)
Parameters:

iomsg [character,out]

Call to:

output_persistent_forcing()

subroutine  forcing/write_forcing_run_pars(unit)
Parameters:

unit [integer,in]

Called from:

get_datadir(), get_snapdir(), read_all_init_pars(), read_all_run_pars(), get_downpars()

Call to:

output_persistent_forcing()

subroutine  forcing/input_persistent_forcing([id[, done]])

Read in the stored time of the next SNI

Parameters:
  • id [integer]

  • done [logical]

Called from:

input_persistent()

Call to:

output_persistent_forcing()

function  forcing/output_persistent_forcing()

Writes out the time of the next SNI

16-nov-11/MR: changed into logical function

Return:

output_persistent_forcing [logical]

Called from:

register_forcing(), initialize_forcing(), addforce(), forcing_after_boundary(), pencil_criteria_forcing(), pencil_interdep_forcing(), calc_pencils_forcing(), calc_diagnostics_forcing(), forcing_cont(), read_forcing_run_pars(), write_forcing_run_pars(), input_persistent_forcing(), input_persistent(), output_persistent()

subroutine  forcing/rprint_forcing(lreset[, lwrite])

reads and registers print parameters relevant for hydro part

26-jan-04/axel: coded

Parameters:
  • lreset [logical]

  • lwrite [logical]

Called from:

register_modules(), initialize_modules(), finalize_modules(), choose_pencils(), rprint_list()

subroutine  forcing/forcing_pars_hel(force_fact, kkx, kky, kkz, nk, kav, coef1, coef2, coef3, kk, phase, fact, fda)
Parameters:
  • force_fact [real,in]

  • kkx (nk) [real,in]

  • kky (nk) [real,in]

  • kkz (nk) [real,in]

  • nk [integer,in,]

  • kav [real,in]

  • coef1 (3) [real,out]

  • coef2 (3) [real,out]

  • coef3 (3) [real,out]

  • kk (3) [real,out]

  • phase [real,out]

  • fact [real,out]

  • fda (3) [real,out]

Use :

general (keep_compiler_quiet())

subroutine  forcing/forcing_clean_up()

12-aug-09/dhruba: coded dummy routine.

Called from:

helper_loop(), reload()