forcing
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 = .true.
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
cdata: $Id$general(keep_compiler_quiet()): $Id$messages: $Id$geometrical_types: $Id$
Variables
- forcing/abc_a (n_forcing_cont_max) [real,private/optional/default=1.]
- forcing/abc_b (n_forcing_cont_max) [real,private/optional/default=1.]
- forcing/abc_c (n_forcing_cont_max) [real,private/optional/default=1.]
- forcing/alpha_shift [real,private/optional/default=5.0]
- forcing/ampl1_ff (n_forcing_cont_max) [real,private/optional/default=0.]
- forcing/ampl_bb (n_forcing_cont_max) [real,private/optional/default=5.0e-2]
- forcing/ampl_diffrot [real,private/optional/default=1.0]
- forcing/ampl_double_ff [real,private/optional/default=0.0]
- forcing/ampl_ff (n_forcing_cont_max) [real,private/optional/default=1.]
- forcing/b0_mode [real,private/optional/default=0.0]
- forcing/bconst [real,private/optional/default=1.0]
- forcing/beta_gp [real,private/optional/default=1.3333]
- forcing/bslope [real,private/optional/default=0.0]
- forcing/calc_counter_centrifugal [private]
- forcing/calc_fluxring_cylindrical [private]
- forcing/calc_force_ampl [private]
- forcing/calc_gp_tc13 [private]
- forcing/calc_tg_random [private]
- forcing/channel_force [integer,private/optional/default=1]
- forcing/ck_equator_gap [real,private/optional/default=0.0]
- forcing/ck_gap_step [real,private/optional/default=0.0]
- forcing/cklist (*,*) [real,private/allocatable]
- forcing/cosx (mx,n_forcing_cont_max) [real,private]
- forcing/cosxt (mx,n_forcing_cont_max) [real,private]
- forcing/cosy (my,n_forcing_cont_max) [real,private]
- forcing/cosyt (my,n_forcing_cont_max) [real,private]
- forcing/cosz (mz,n_forcing_cont_max) [real,private]
- forcing/coszt (mz,n_forcing_cont_max) [real,private]
- forcing/crosshel [real,private/optional/default=0.0]
- forcing/cs0 [real,private]
- forcing/cs0eff [real,private/optional/default=impossible]
- forcing/dtforce [real,private/optional/default=0.0]
- forcing/dtforce_ampl [real,private/optional/default=0.5]
- forcing/dtforce_duration [real,private/optional/default=-1.0]
- forcing/ell_shift [integer,private/optional/default=0]
- forcing/embedx (mx,n_forcing_cont_max) [real,private]
- forcing/embedy (my,n_forcing_cont_max) [real,private]
- forcing/embedz (mz,n_forcing_cont_max) [real,private]
- forcing/enum_iforcing_cont (n_forcing_cont_max) [integer,private/optional/default=0]
- forcing/eps_fcont (n_forcing_cont_max) [real,private/optional/default=0.]
- forcing/equator [real,private/optional/default=0.0]
- forcing/eta_bb (n_forcing_cont_max) [real,private/optional/default=1.0e-4]
- forcing/eta_gp (100,n_forcing_cont_max) [real,private]
- forcing/expmk2x2 (mx,n_forcing_cont_max) [real,private]
- forcing/expmk2y2 (my,n_forcing_cont_max) [real,private]
- forcing/fconst_coefs_hel [private]
- forcing/fcont_ampl (n_forcing_cont_max) [real,private/optional/default=1.]
- forcing/fcont_from_file (*,*,*,*) [real,private/allocatable]
- forcing/force [real,private/optional/default=0.0]
- forcing/force1_scl [real,private/optional/default=1.0]
- forcing/force2 [real,private/optional/default=0.0]
- forcing/force2_scl [real,private/optional/default=1.0]
- forcing/force_direction (3) [real,private/optional/default=(/0.,0.,0./)]
- forcing/force_double [real,private/optional/default=0.0]
- forcing/force_strength [real,private/optional/default=0.0]
- forcing/forcing_2drandom_xy [private]
- forcing/forcing_2drandom_xy_simple [private]
- forcing/forcing_abc [private]
- forcing/forcing_blobhs_random [private]
- forcing/forcing_blobs [private]
- forcing/forcing_chandra_kendall [private]
- forcing/forcing_coefs_hel [private]
- forcing/forcing_coefs_hel2 [private]
- forcing/forcing_cont_after_boundary [private]
- forcing/forcing_diffrot [private]
- forcing/forcing_fountain [private]
- forcing/forcing_gaussianpot [private]
- forcing/forcing_gp [private]
- forcing/forcing_gp92 [private]
- forcing/forcing_hel [private]
- forcing/forcing_hel_both [private]
- forcing/forcing_hel_kprof [private]
- forcing/forcing_hel_smooth [private]
- forcing/forcing_hillrain [private]
- forcing/forcing_hshear [private]
- forcing/forcing_irro [private]
- forcing/forcing_mhd_mode [private]
- forcing/forcing_nocos [private]
- forcing/forcing_spherical_radial [private]
- forcing/forcing_tg [private]
- forcing/forcing_tidal [private]
- forcing/forcing_twist [private]
- forcing/forcing_white_noise [private]
- forcing/fountain [real,private/optional/default=1.0]
- forcing/fpre [real,private/optional/default=1.0]
- forcing/fxyz_coefs_hel [private]
- forcing/get_2dmodes [private]
- forcing/height_ff [real,private/optional/default=0.0]
- forcing/hel_vec [private]
- forcing/helsign [integer,private/optional/default=0.0]
- forcing/i2fff [integer,private]
- forcing/i2ffx [integer,private]
- forcing/i2ffy [integer,private]
- forcing/i2ffz [integer,private]
- forcing/icklist [integer,private]
- forcing/id_block_persistent [integer,private/parameter/optional/default=2000]
- forcing/id_record_dt_gw [integer,private/parameter/optional/default=350]
- forcing/id_record_eps_rkf [integer,private/parameter/optional/default=331]
- forcing/id_record_forcing_location [integer,private/parameter/optional/default=270]
- forcing/id_record_forcing_torus [integer,private/parameter/optional/default=272]
- forcing/id_record_forcing_tsforce [integer,private/parameter/optional/default=271]
- forcing/id_record_hydro_ampl [integer,private/parameter/optional/default=286]
- forcing/id_record_hydro_avec_gb [integer,private/parameter/optional/default=289]
- forcing/id_record_hydro_location [integer,private/parameter/optional/default=285]
- forcing/id_record_hydro_phase1 [integer,private/parameter/optional/default=281]
- forcing/id_record_hydro_phase2 [integer,private/parameter/optional/default=282]
- forcing/id_record_hydro_qvec_gb [integer,private/parameter/optional/default=288]
- forcing/id_record_hydro_tphase [integer,private/parameter/optional/default=280]
- forcing/id_record_hydro_tsforce [integer,private/parameter/optional/default=284]
- forcing/id_record_hydro_wavenumber [integer,private/parameter/optional/default=287]
- forcing/id_record_ism_bold_mass [integer,private/parameter/optional/default=252]
- forcing/id_record_ism_pos_next_old [integer,private/parameter/optional/default=251]
- forcing/id_record_ism_snrs [integer,private/parameter/optional/default=259]
- forcing/id_record_ism_snrs_old [integer,private/parameter/optional/default=1002]
- forcing/id_record_ism_t_cluster [integer,private/parameter/optional/default=261]
- forcing/id_record_ism_t_next_old [integer,private/parameter/optional/default=250]
- forcing/id_record_ism_t_next_sni [integer,private/parameter/optional/default=253]
- forcing/id_record_ism_t_next_snii [integer,private/parameter/optional/default=254]
- forcing/id_record_ism_toggle_old [integer,private/parameter/optional/default=1001]
- forcing/id_record_ism_toggle_sni [integer,private/parameter/optional/default=257]
- forcing/id_record_ism_toggle_snii [integer,private/parameter/optional/default=258]
- forcing/id_record_ism_x_cluster [integer,private/parameter/optional/default=255]
- forcing/id_record_ism_y_cluster [integer,private/parameter/optional/default=256]
- forcing/id_record_ism_z_cluster [integer,private/parameter/optional/default=260]
- forcing/id_record_iteration_number [integer,private/parameter/optional/default=100]
- forcing/id_record_magnetic_ampl [integer,private/parameter/optional/default=312]
- forcing/id_record_magnetic_phase [integer,private/parameter/optional/default=311]
- forcing/id_record_random_seeds [integer,private/parameter/optional/default=1]
- forcing/id_record_random_seeds2 [integer,private/parameter/optional/default=2]
- forcing/id_record_shear_delta_y [integer,private/parameter/optional/default=320]
- forcing/id_record_special_lnkmin0 [integer,private/parameter/optional/default=340]
- forcing/id_record_time_step [integer,private/parameter/optional/default=330]
- forcing/idiag_bfm [integer,private/optional/default=0]
- forcing/idiag_ffm [integer,private/optional/default=0]
- forcing/idiag_jfm [integer,private/optional/default=0]
- forcing/idiag_ofm [integer,private/optional/default=0]
- forcing/idiag_qfm [integer,private/optional/default=0]
- forcing/idiag_rufint [integer,private/optional/default=0]
- forcing/idiag_rufm [integer,private/optional/default=0]
- forcing/idiag_ruxfxm [integer,private/optional/default=0]
- forcing/idiag_ruxfym [integer,private/optional/default=0]
- forcing/idiag_ruyfxm [integer,private/optional/default=0]
- forcing/idiag_ruyfym [integer,private/optional/default=0]
- forcing/idiag_ruzfzm [integer,private/optional/default=0]
- forcing/idiag_ufm [integer,private/optional/default=0]
- forcing/ifcont_aux (n_forcing_cont_max) [integer,private/optional/default=0]
- forcing/iff [integer,private/optional/default=0]
- forcing/iff_aux [integer,private/optional/default=0]
- forcing/ifff [integer,private]
- forcing/iffx [integer,private]
- forcing/iffy [integer,private]
- forcing/iffz [integer,private]
- forcing/iforce [character,private/optional/default='zero']
- forcing/iforce2 [character,private/optional/default='zero']
- forcing/iforce_profile [character,private/optional/default='nothing']
- forcing/iforce_tprofile [character,private/optional/default='nothing']
- forcing/iforcing_cont (n_forcing_cont_max) [character,private/optional/default='nothing']
- forcing/iforcing_zsym [integer,private/optional/default=0]
- forcing/ifx [integer,private]
- forcing/ify [integer,private]
- forcing/ifz [integer,private]
- forcing/input_persist_forcing [private]
- forcing/input_persist_forcing_id [private]
- forcing/input_persistent_forcing [public]
- forcing/iylm_list (*,*,*) [real,private/allocatable]
- forcing/iylm_rot (*,*,*,*) [real,private/allocatable]
- forcing/jtest_aa0 [integer,private/optional/default=5]
- forcing/jtest_uu0 [integer,private/optional/default=1]
- forcing/k1_ff [real,private/optional/default=1.0]
- forcing/k1xyz (3) [real,private/optional/default=0.]
- forcing/k2d [integer,private]
- forcing/kav [real,private]
- forcing/kav2 [real,private]
- forcing/kf_fcont (n_forcing_cont_max) [real,private/optional/default=impossible]
- forcing/kf_fcont_x (n_forcing_cont_max) [real,private/optional/default=impossible]
- forcing/kf_fcont_y (n_forcing_cont_max) [real,private/optional/default=impossible]
- forcing/kf_fcont_z (n_forcing_cont_max) [real,private/optional/default=impossible]
- forcing/kfountain [integer,private/optional/default=5]
- forcing/kkx (*) [real,private/allocatable]
- forcing/kkx2 (*) [real,private/allocatable]
- forcing/kky (*) [real,private/allocatable]
- forcing/kky2 (*) [real,private/allocatable]
- forcing/kkz (*) [real,private/allocatable]
- forcing/kkz2 (*) [real,private/allocatable]
- forcing/kmax_gp [real,private/optional/default=2.0]
- forcing/kmin_gp [real,private/optional/default=1.0]
- forcing/ks_a (*,*) [real,private/allocatable]
- forcing/ks_b (*,*) [real,private/allocatable]
- forcing/ks_k (*,*) [real,private/allocatable]
- forcing/ks_modes [integer,private/optional/default=25]
- forcing/ks_omega (*) [real,private/allocatable]
- forcing/kx_2df [real,private/optional/default=0.0]
- forcing/kx_ff [real,private/optional/default=1.0]
- forcing/ky_2df [real,private/optional/default=0.0]
- forcing/ky_ff [real,private/optional/default=1.0]
- forcing/kz_ff [real,private/optional/default=1.0]
- forcing/kzlarge [integer,private/optional/default=1]
- forcing/l2dxz [logical,private]
- forcing/l2dyz [logical,private]
- forcing/laniso_forcing_old [logical,private/optional/default=.true.]
- forcing/lavoid_xymean [logical,private/optional/default=.false.]
- forcing/lavoid_ymean [logical,private/optional/default=.false.]
- forcing/lavoid_zmean [logical,private/optional/default=.false.]
- forcing/lconservative_hydro [logical,private/optional/default=.false.]
- forcing/lconservative_ptr [logical,private/pointer]
- forcing/lcrosshel_forcing [logical,private/optional/default=.false.]
- forcing/ldiscrete_phases [logical,private/optional/default=.false.]
- forcing/lembed [logical,private/optional/default=.false.]
- forcing/lfastck [logical,private/optional/default=.false.]
- forcing/lfastsr [logical,private/optional/default=.false.]
- forcing/lfcont_as_comaux [logical,private/optional/default=.false.]
- forcing/lff_as_aux [logical,private/optional/default=.false.]
- forcing/lforce_always_all_compomemts [logical,private/optional/default=.false.]
- forcing/lforce_cuty [logical,private/optional/default=.false.]
- forcing/lforce_peri [logical,private/optional/default=.false.]
- forcing/lforce_ramp_down [logical,private/optional/default=.false.]
- forcing/lforcing2_curl [logical,private/optional/default=.false.]
- forcing/lforcing2_same [logical,private/optional/default=.false.]
- forcing/lforcing_coefs_hel_double [logical,private/optional/default=.false.]
- forcing/lforcing_osc [logical,private/optional/default=.false.]
- forcing/lforcing_osc2 [logical,private/optional/default=.false.]
- forcing/lforcing_osc_double [logical,private/optional/default=.false.]
- forcing/lgentle (n_forcing_cont_max) [logical,private/optional/default=.false.]
- forcing/lhelical_test [logical,private/optional/default=.false.]
- forcing/lhydro_forcing [logical,public/optional/default=.true.]
- forcing/lisotropize_sr [logical,private/optional/default=.false.]
- forcing/lmagnetic_forcing [logical,private/optional/default=.false.]
- forcing/lmhd_forcing [logical,private]
- forcing/lmomentum_ff [logical,private/optional/default=.false.]
- forcing/lneutral_forcing [logical,private/optional/default=.false.]
- forcing/location (3) [real,private]
- forcing/location2 (3) [real,private]
- forcing/location_fixed (3,2) [real,private/optional/default=0.]
- forcing/lrandom_location [logical,private/optional/default=.true.]
- forcing/lrandom_time [logical,private/optional/default=.false.]
- forcing/lsamesign [logical,private/optional/default=.true.]
- forcing/lscale_kvector_fac [logical,private/optional/default=.false.]
- forcing/lscale_kvector_tobox [logical,private/optional/default=.false.]
- forcing/lshearing_adjust_old [logical,private/optional/default=.false.]
- forcing/ltestfield_forcing [logical,private/optional/default=.false.]
- forcing/ltestflow_forcing [logical,public/optional/default=.false.]
- forcing/lwork_ff [logical,private/optional/default=.false.]
- forcing/lwrite_gausspot_to_file [logical,private/optional/default=.false.]
- forcing/lwrite_gausspot_to_file_always [logical,private/optional/default=.false.]
- forcing/lwrite_psi [logical,private/optional/default=.false.]
- forcing/lxxcorr_forcing [logical,private/optional/default=.false.]
- forcing/lxycorr_forcing [logical,private/optional/default=.false.]
- forcing/max_force [real,private/optional/default=impossible]
- forcing/n_axisrot_angles [integer,private/optional/default=10]
- forcing/n_equator_ff [real,private/optional/default=1.0]
- forcing/n_forcing_cont [integer,public/optional/default=n_forcing_cont_max]
- forcing/n_hel_sin_pow [real,private/optional/default=0.0]
- forcing/ncol [integer,private/optional/default=7]
- forcing/nexp_ff [real,private/optional/default=1.0]
- forcing/nk [integer,private]
- forcing/nk2 [integer,private]
- forcing/nk_gp [integer,private/optional/default=2]
- forcing/nlist_ck [integer,private/optional/default=25]
- forcing/nlocation [integer,private/optional/default=1]
- forcing/old_forcing_evector [logical,private/optional/default=.false.]
- forcing/omega_double_ff [real,private/optional/default=0.0]
- forcing/omega_exponent [real,private/optional/default=1.0]
- forcing/omega_fcont (n_forcing_cont_max) [real,private/optional/default=0.]
- forcing/omega_ff [real,private/optional/default=0.0]
- forcing/omega_tidal [real,private/optional/default=1.0]
- forcing/omega_vortex [real,private/optional/default=0.0]
- forcing/omegay_fcont (n_forcing_cont_max) [real,private/optional/default=0.]
- forcing/omegaz_fcont (n_forcing_cont_max) [real,private/optional/default=0.]
- forcing/phi1_ff (my,n_forcing_cont_max) [real,private]
- forcing/phi2_ff (mx,n_forcing_cont_max) [real,private]
- forcing/phi_tidal [real,private/optional/default=1.0]
- forcing/psif (*,*,*) [real,private/allocatable]
- forcing/r0_tidal [real,private/optional/default=1.0]
- forcing/r_ff [real,private/optional/default=0.0]
- forcing/r_ff_hel [real,private/optional/default=0.0]
- forcing/radius_ff [real,private/optional/default=0.0]
- forcing/random2d_kmax [integer,private/optional/default=0]
- forcing/random2d_kmin [integer,private/optional/default=0]
- forcing/random2d_kmodes (*,*) [integer,private/allocatable]
- forcing/random2d_nmodes [integer,private]
- forcing/random_isotropic_ks_setup_test [private]
- forcing/rcyl_ff [real,private/optional/default=0.0]
- forcing/reference_state (*,*) [real,private/pointer]
- forcing/rel_zcomp [real,private/optional/default=1.0]
- forcing/relhel [real,private/optional/default=1.0]
- forcing/rylm_list (*,*,*) [real,private/allocatable]
- forcing/rylm_rot (*,*,*,*) [real,private/allocatable]
- forcing/scale_kvectorx [real,private/optional/default=1.0]
- forcing/scale_kvectory [real,private/optional/default=1.0]
- forcing/scale_kvectorz [real,private/optional/default=1.0]
- forcing/sinx (mx,n_forcing_cont_max) [real,private]
- forcing/sinxt (mx,n_forcing_cont_max) [real,private]
- forcing/siny (my,n_forcing_cont_max) [real,private]
- forcing/sinyt (my,n_forcing_cont_max) [real,private]
- forcing/sinz (mz,n_forcing_cont_max) [real,private]
- forcing/sinzt (mz,n_forcing_cont_max) [real,private]
- forcing/slope_ff [real,private/optional/default=0.0]
- forcing/sr_alpha_shift [logical,private/optional/default=.false.]
- forcing/sr_ell_shift [logical,private/optional/default=.false.]
- forcing/tauforce_ramp_down [real,private/optional/default=1.0]
- forcing/tcor_gp [real,private/optional/default=1.0]
- forcing/tforce_ramp_down [real,private/optional/default=1.1]
- forcing/tforce_start [real,private/optional/default=0.0]
- forcing/tforce_start2 [real,private/optional/default=0.0]
- forcing/tforce_stop [real,private/optional/default=impossible]
- forcing/tforce_stop2 [real,private/optional/default=impossible]
- forcing/tgentle (n_forcing_cont_max) [real,private/optional/default=0.]
- forcing/theta_tg (n_forcing_cont_max) [real,private/optional/default=0.]
- forcing/torus [torus_rect,private/save]
- forcing/tsforce [real,private/optional/default=-10.0]
- forcing/wff2_ampl [real,private/optional/default=0.0]
- forcing/wff_ampl [real,private/optional/default=0.0]
- forcing/width_bb (n_forcing_cont_max) [real,private/optional/default=0.1]
- forcing/width_fcont (n_forcing_cont_max) [real,private/optional/default=1.]
- forcing/width_ff [real,private/optional/default=0.5]
- forcing/work_ff [real,private/optional/default=0.0]
- forcing/x1_fcont (n_forcing_cont_max) [real,private/optional/default=0.]
- forcing/x2_fcont (n_forcing_cont_max) [real,private/optional/default=0.]
- forcing/xff2_ampl [real,private/optional/default=0.0]
- forcing/xff_ampl [real,private/optional/default=0.0]
- forcing/xi_gp (100,n_forcing_cont_max) [real,private]
- forcing/xmaxf [real,private/optional/default=0.0]
- forcing/xminf [real,private/optional/default=0.0]
- forcing/yff2_ampl [real,private/optional/default=0.0]
- forcing/yff_ampl [real,private/optional/default=0.0]
- forcing/ymaxf [real,private/optional/default=0.0]
- forcing/yminf [real,private/optional/default=0.0]
- forcing/z_bb (n_forcing_cont_max) [real,private/optional/default=0.1]
- forcing/z_center [real,private/optional/default=0.0]
- forcing/z_center_fcont (n_forcing_cont_max) [real,private/optional/default=0.]
- forcing/zff2_ampl [real,private/optional/default=0.0]
- forcing/zff_ampl [real,private/optional/default=0.0]
- forcing/zff_height [real,private/optional/default=1.0]
- forcing/zff_hel [real,private/optional/default=0.0]
- forcing/zpsi_list (*,*,*) [real,private/allocatable]
Subroutines and functions
- subroutine forcing/register_forcing()
add forcing in timestep 11-may-2002/wolf: coded
- Use :
- Call to:
svn_id(),fatal_error(),erfunc(),inevitably_fatal_error(),warning(),register_report_aux(),file_open_hdf5(),file_close_hdf5(),timing(),del2v_etc(),dot_mn(),multsv_mn(),curl(),gij_psi(),curl_mn(),gij_psi_etc(),read_snaptime(),update_snaptime(),blob(),save_name(),not_implemented(),forcing_cont(),gij(),getnu(),vortex(),integrate_mn_name(),output_persistent_forcing()
- subroutine forcing/initialize_forcing()
read seed field parameters nothing done from start.f90
25-sep-2014/MR: determine n_forcing_cont according to the actual selection 23-jan-2015/MR: reference state now fetched here and stored in module variable 15-feb-2015/MR: returning before entering continuous forcing section when
no such forcing is requested
18-dec-2015/MR: minimal wavevectors k1xyz moved here from grid 14-Jun-2016/MR+NS: added forcing sinx*exp(-z^2) 11-May-2017/NS: added forcing Aycont_z 08-Aug-2019/MR: moved reading of k.dat, k_double.dat from individual subroutines
-> nk, kav, kk[xyz] and nk2, kav2, kk2[xyz], respectively, now module variables.
- 16-Aug-2023/MR+ABa: Added a non-helical spherical forcing acting only in the
radial direction that consists of Bessel functions in the radial and randomized spherical Harmonics around the x-axis in the horizontal direction.
- Use :
general(bessj(),itoa()),sharedvariables(get_shared_variable()),sub(step(),erfunc(),stepdown(),register_report_aux()),equationofstate(cs20()),hdf5_io(file_close_hdf5(),file_open_hdf5(),input_hdf5())- Call to:
fatal_error(),erfunc(),inevitably_fatal_error(),warning(),register_report_aux(),file_open_hdf5(),file_close_hdf5(),timing(),del2v_etc(),dot_mn(),multsv_mn(),curl(),gij_psi(),curl_mn(),gij_psi_etc(),read_snaptime(),update_snaptime(),blob(),save_name(),not_implemented(),forcing_cont(),gij(),getnu(),vortex(),integrate_mn_name(),output_persistent_forcing()
- subroutine forcing/addforce(f)
Add forcing at the end of each time step. Since forcing is constant during one time step, this can be added as an Euler 1st order step
- Parameters:
f (,,*,*) [real,contiguous]
- Call to:
timing(),warning(),del2v_etc(),dot_mn(),fatal_error(),multsv_mn(),curl(),gij_psi(),curl_mn(),gij_psi_etc(),read_snaptime(),update_snaptime(),blob(),save_name(),not_implemented(),forcing_cont(),gij(),getnu(),vortex(),integrate_mn_name(),output_persistent_forcing()
- subroutine forcing/forcing_pars_hel(coef1, coef2, coef3, fda, kk, phase, fact)
Calculates position-independent and 1D coefficients for helical forcing. But this routine doesn’t seem to be called from anywhere anymore.
- 4-oct-17/MR: outsourced from forcing_hel.
- Spotted bug: for old_forcing_evector=T, kk and ee remain undefined
needs to be fixed
- Parameters:
coef1 (3) [real,out]
coef2 (3) [real,out]
coef3 (3) [real,out]
fda (3) [real,out]
kk (3) [real,out]
phase [real,out]
fact [real,out]
- Use :
- Call to:
fatal_error(),multsv_mn(),dot_mn(),curl(),del2v_etc(),gij_psi(),curl_mn(),gij_psi_etc(),read_snaptime(),update_snaptime(),blob(),save_name(),not_implemented(),forcing_cont(),gij(),getnu(),vortex(),warning(),integrate_mn_name(),output_persistent_forcing()
- subroutine forcing/forcing_after_boundary(f)
- Parameters:
f (,,*,*) [real,out,contiguous]
- Call to:
forcing_cont(),multsv_mn(),gij(),curl_mn(),fatal_error(),getnu(),vortex(),warning(),dot_mn(),integrate_mn_name(),output_persistent_forcing()
- subroutine forcing/pencil_criteria_forcing()
All pencils that the Forcing module depends on are specified here.
24-mar-08/axel: adapted from density.f90
- subroutine forcing/pencil_interdep_forcing(lpencil_in)
Interdependency among pencils from the Forcing module is specified here.
24-mar-08/axel: adapted from density.f90
- Parameters:
lpencil_in (npencils) [logical]
- Call to:
forcing_cont(),multsv_mn(),gij(),curl_mn(),fatal_error(),getnu(),vortex(),warning(),dot_mn(),integrate_mn_name(),output_persistent_forcing()
- subroutine forcing/calc_pencils_forcing(f, p)
Calculate forcing pencils.
- 24-mar-08/axel: adapted from density.f90
6-feb-09/axel: added epsilon factor in ABC flow (eps_fcont=1. -> nocos)
- Parameters:
f (,,*,*) [real,inout,contiguous]
p [pencil_case,inout]
- Use :
sub(multsv_mn(),gij(),curl_mn())- Call to:
forcing_cont(),multsv_mn(),gij(),curl_mn(),fatal_error(),getnu(),vortex(),warning(),dot_mn(),integrate_mn_name(),output_persistent_forcing()
- subroutine forcing/forcing_cont(i, force[, rho1])
- 9-apr-10/MR: added RobertsFlow_exact forcing, compensates nunabla^2 u
and u.grad u for Roberts geometry
4-nov-11/MR: now also compensates Coriolis force 16-jun-23/Kishore G: Added ability to read forcing function from a file.
Note: It is not enough to set lforcing_cont = T in input parameters of forcing one must also set lforcing_cont_uu = T in hydro for the continuous-in-time forcing to be added to velocity. Alternatively, one can set lforcing_cont_bb = T in magnetic.
- Parameters:
- Use :
gravity(gravz()),sub(quintic_step(),quintic_der_step(),step(),vortex()),viscosity(getnu())- Call to:
fatal_error(),getnu(),vortex(),warning(),dot_mn(),integrate_mn_name(),output_persistent_forcing()
- subroutine forcing/calc_diagnostics_forcing(p)
Calculate diagnostics for continuous forcing.
17-sep-06/axel: coded
- Parameters:
p [pencil_case,in]
- Use :
- Call to:
- subroutine forcing/read_forcing_run_pars(iomsg)
- Parameters:
iomsg [character,out]
- Use :
- Call to:
- subroutine forcing/write_forcing_run_pars(unit)
- Parameters:
unit [integer,in]
- Call to:
- function forcing/output_persistent_forcing()
This is used, for example, for forcing functions with temporal memory, such as in the paper by Mee & Brandenburg (2006, MNRAS)
21-dec-05/tony: coded 13-Dec-2011/Bourdin.KIS: reworked
- Return:
output_persistent_forcing [logical]
- Use :
- 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]
- Use :
- subroutine forcing/forcing_clean_up()
deallocate the variables needed for forcing
12-aug-09/dhruba: coded
- subroutine forcing/pushpars2c(p_par)
- Parameters:
p_par (100) [integer]
- Use :
syscalls(copy_addr()),general(string_to_enum())