sub
Module
Description
$Id$
This module contains useful subroutines.
Rules:
Please do not put very specific subroutines here. If a subroutine is only needed by a single module, put it directly in that module.
Please DO NOT use large arrays or global arrays [e.g. of size (mx,my,mz) or (nxgrid,nygrid,nzgrid)]
Quick access
- Variables:
binomial_coeffs,calc_diffusive_flux,characteristic_speed,check_for_nans_globally,cross,cross_0,cubic_der_step,cubic_der_step_mn,cubic_der_step_pt,cubic_step,cubic_step_mn,cubic_step_pt,d2f_dxj,del2,del2_main,del2_other,der_4th_stag,diff_flux,dot,dot2,dot2_0,dot2_3d,dot_0,dot_add,dot_mn_add,dot_mn_sub,dot_sub,finalize_aver,finalize_aver_1d,finalize_aver_2d,finalize_aver_3d,finalize_aver_4d,find_index_by_bisection,gaussian_kernel,get_random_vec,grad,grad_main,grad_other,h_dot_grad,h_dot_grad_scl,insert_carray,insert_carray_mult,insert_rarray,max_for_dt,max_for_dt_1_1_1_nx,max_for_dt_1_nx,max_for_dt_nx_nx,meanyz,meanyz_s,meanyz_v,minmod_alt,mult_mat_vv,mult_mat_vv_mn,multm2,multm2_sym,multmm_sc,multmm_sc_mn,multmv,multmv_mn_transp,multmv_transp,multsv,multsv_add,multsv_add_mn,multsv_mn_inplace,multvs,multvs_mn,multvv_mat,multvv_mat_mn,multvv_smat,multvv_smat_add,multvv_smat_add_mn,multvv_smat_mn,pencil_add1,pencil_add2,pencil_divide1,pencil_divide2,pencil_multiply1,pencil_multiply2,pencil_subtract1,pencil_subtract2,pi_function,poly,poly_0,poly_1,poly_3,power_law,power_law_mn,power_law_pt,quintic_der_step,quintic_der_step_mn,quintic_der_step_pt,quintic_step,quintic_step_mn,quintic_step_pt,sine_step,sine_step_mn,sine_step_pt,slope_lim_lin_interpol,slope_limiter,smth_kernel,step,step_scalar,u_dot_grad,u_dot_grad_alt,u_dot_grad_scl,u_dot_grad_scl_alt,u_dot_grad_vec,u_dot_grad_vec_alt,u_grad_kurganov_tadmore,ylm_core- Routines:
bij_tilde(),blob(),blobs(),bspline_basis(),bspline_interpolation(),bspline_precondition(),calc_all_diff_fluxes(),calc_del6_for_upwind(),calc_scl_factor(),calc_sij2(),calc_slope_diff_flux(),coeff_ydep(),control_file_exists(),cross_mixed(),cross_mn(),curl(),curl_horizontal(),curl_mn(),curl_other(),curli(),d2fi_dxj(),del2fi_dxjk(),del2fj(),del2m3x3_sym(),del2v(),del2v_etc(),del2vi_etc(),del4(),del4graddiv(),del4v(),del6(),del6_other(),del6_strict(),del6fj(),del6fjv(),del6v(),der6_step(),der_step(),der_stepdown(),despike(),det3x3mat(),div(),div_mn(),div_mn_2tensor(),div_other(),div_tensor(),dot2_mn(),dot2_mx(),dot2fj(),dot_mn(),dot_mn_sm(),dot_mn_sv(),dot_mn_sv_pencil(),dot_mn_vm(),dot_mn_vm_trans(),doupwind(),dyadic2(),dyadic2_other(),erfunc(),eulag_filter(),find_max_fvec(),find_rms_fvec(),find_xyrms_fvec(),fourier_single_mode(),g2ij(),gamma_function(),get_dxyzs(),get_nseed(),get_radial_distance(),get_smooth_kernel(),get_where(),gij(),gij_etc(),gij_psi(),gij_psi_etc(),gij_v_times_s(),gijl_symmetric(),global_mean(),grad5(),gradf_upw1st(),h_dot_grad_vec(),hypergeometric2f1(),identify_bcs(),interp1(),inv2_3x3mat(),inverse_parse_bc(),invmat_db(),kronecker_delta(),len_fmtd_expr(),levi_civita(),linarray2matrix(),location_in_proc(),lower_triangular_index(),lubksb(),ludcmp(),matrix2linarray(),max_mn(),mult_matrix(),multm2_mn(),multm2_sym_mn(),multmv_mn(),multsm_mn(),multsv_mn(),multsv_mn_add(),noform(),nou_dot_grad_scl(),one_minus_exp(),parse_bc(),parse_bc_rad(),parse_bc_radg(),parse_shell(),periodic_fold_back(),position(),rdim(),read_line_from_file(),read_snaptime(),register_report_aux(),remove_mean(),remove_mean_value(),remove_prof(),scalartripleproduct(),set_dt(),set_next_dt(),shift_dt(),smooth(),smooth_kernel(),smooth_mn(),smoothing_kernel(),stagger_to_base_interp_1st(),stagger_to_base_interp_3rd(),step_vector(),stepdown(),sum_mn(),symmetrise3x3_ut2lt(),tensor_diffusion_coef(),trace_mn(),traceless_strain(),u_dot_grad_mat(),unit_vector(),update_snaptime(),vec_dot_3tensor(),vecout(),vecout_finalize(),vecout_initialize(),vortex(),write_dx_general(),write_xprof(),write_yprof(),write_zprof(),xlocation(),ylm(),ylm_other(),ylocation(),zlocation()
Needed modules
Variables
- sub/binomial_coeffs [private]
- sub/calc_diffusive_flux [private]
- sub/characteristic_speed [private]
- sub/check_for_nans_globally [public]
- sub/cross [public]
- sub/cross_0 [private]
- sub/cubic_der_step [public]
- sub/cubic_der_step_mn [private]
- sub/cubic_der_step_pt [private]
- sub/cubic_step [public]
- sub/cubic_step_mn [private]
- sub/cubic_step_pt [private]
- sub/d2f_dxj [private]
- sub/del2_main [private]
- sub/del2_other [private]
- sub/der_4th_stag [private]
- sub/diff_flux [private]
- sub/dot [public]
- sub/dot2 [public]
- sub/dot2_0 [private]
- sub/dot2_3d [private]
- sub/dot_0 [private]
- sub/dot_add [public]
- sub/dot_mn_add [private]
- sub/dot_mn_sub [private]
- sub/dot_sub [public]
- sub/finalize_aver [public]
- sub/finalize_aver_1d [private]
- sub/finalize_aver_2d [private]
- sub/finalize_aver_3d [private]
- sub/finalize_aver_4d [private]
- sub/find_index_by_bisection [public]
- sub/gaussian_kernel [private]
- sub/get_random_vec [public]
- sub/grad_main [private]
grad of an ‘mvar’ variable
- sub/grad_other [private]
grad of another field (mx,my,mz)
- sub/h_dot_grad [public]
- sub/h_dot_grad_scl [private]
- sub/insert [public]
Overload the ‘insert’ function
- sub/insert_carray [private]
- sub/insert_carray_mult [private]
- sub/insert_rarray [private]
- sub/max_for_dt [public]
- sub/max_for_dt_1_1_1_nx [private]
- sub/max_for_dt_1_nx [private]
- sub/max_for_dt_nx_nx [private]
- sub/meanyz [public]
- sub/meanyz_s [private]
- sub/meanyz_v [private]
- sub/minmod_alt [private]
- sub/mult_mat_vv [public]
- sub/mult_mat_vv_mn [private]
- sub/multm2 [public]
- sub/multm2_sym [public]
- sub/multmm_sc [public]
- sub/multmm_sc_mn [private]
- sub/multmv [public]
- sub/multmv_mn_transp [private]
- sub/multmv_transp [public]
- sub/multsv [public]
- sub/multsv_add [public]
- sub/multsv_add_mn [private]
- sub/multsv_mn_inplace [private]
- sub/multvs [public]
- sub/multvs_mn [private]
- sub/multvv_mat [public]
- sub/multvv_mat_mn [private]
- sub/multvv_smat [public]
- sub/multvv_smat_add [public]
- sub/multvv_smat_add_mn [private]
- sub/multvv_smat_mn [private]
- sub/pencil_add1 [private]
- sub/pencil_add2 [private]
- sub/pencil_divide1 [private]
- sub/pencil_divide2 [private]
- sub/pencil_multiply1 [private]
- sub/pencil_multiply2 [private]
- sub/pencil_subtract1 [private]
- sub/pencil_subtract2 [private]
- sub/pi_function [private]
- sub/poly_0 [private]
- sub/poly_1 [private]
- sub/poly_3 [private]
- sub/power_law [public]
- sub/power_law_mn [private]
- sub/power_law_pt [private]
- sub/quintic_der_step [public]
- sub/quintic_der_step_mn [private]
- sub/quintic_der_step_pt [private]
- sub/quintic_step [public]
- sub/quintic_step_mn [private]
- sub/quintic_step_pt [private]
- sub/sine_step [public]
- sub/sine_step_mn [private]
- sub/sine_step_pt [private]
- sub/slope_lim_lin_interpol [private]
- sub/slope_limiter [private]
- sub/smth_kernel (7,7,7) [real,private/parameter/optional/default=reshape((/6.03438e-15,9.07894e-11,1.24384e-08,5.46411e-08,1.24384e-08,9.07894e-11,5.03438e-15,9.07894e-11,2.21580e-07,9.14337e-06,2.69243e-05,9.14337e-06,2.21580e-07,9.07894e-11,1.24384e-08,9.14337e-06,0.000183649,0.000425400,0.000183649,9.14337e-06,1.24384e-08,5.46411e-08,2.69243e-05,0.000425400,0.000909623,0.000425400,2.69243e-05,5.46411e-08,1.24384e-08,9.14337e-06,0.000183649,0.000425400,0.000183649,9.14337e-06,1.24384e-08,9.07894e-11,2.21580e-07,9.14337e-06,2.69243e-05,9.14337e-06,2.21580e-07,9.07894e-11,5.03438e-15,9.07894e-11,1.24384e-08,5.46411e-08,1.24384e-08,9.07894e-11,5.03438e-15,9.07894e-11,2.21580e-07,9.14337e-06,2.69243e-05,9.14337e-06,2.21580e-07,9.07894e-11,2.21580e-07,7.31878e-05,0.000909623,0.00179548,0.000909623,7.31878e-05,2.21580e-07,9.14337e-06,0.000909623,0.00550289,0.00854438,0.00550289,0.000909623,9.14337e-06,2.69243e-05,0.00179548,0.00854438,0.0122469,0.00854438,0.00179548,2.69243e-05,9.14337e-06,0.000909623,0.00550289,0.00854438,0.00550289,0.000909623,9.14337e-06,2.21580e-07,7.31878e-05,0.000909623,0.00179548,0.000909623,7.31878e-05,2.21580e-07,9.07894e-11,2.21580e-07,9.14337e-06,2.69243e-05,9.14337e-06,2.21580e-07,9.07894e-11,1.24384e-08,9.14337e-06,0.000183649,0.000425400,0.000183649,9.14337e-06,1.24384e-08,9.14337e-06,0.000909623,0.00550289,0.00854438,0.00550289,0.000909623,9.14337e-06,0.000183649,0.00550289,0.0162043,0.0197919,0.0162043,0.00550289,0.000183649,0.000425400,0.00854438,0.0197919,0.0223153,0.0197919,0.00854438,0.000425400,0.000183649,0.00550289,0.0162043,0.0197919,0.0162043,0.00550289,0.000183649,9.14337e-06,0.000909623,0.00550289,0.00854438,0.00550289,0.000909623,9.14337e-06,1.24384e-08,9.14337e-06,0.000183649,0.000425400,0.000183649,9.14337e-06,1.24384e-08,5.46411e-08,2.69243e-05,0.000425400,0.000909623,0.000425400,2.69243e-05,5.46411e-08,2.69243e-05,0.00179548,0.00854438,0.0122469,0.00854438,0.00179548,2.69243e-05,0.000425400,0.00854438,0.0197919,0.0223153,0.0197919,0.00854438,0.000425400,0.000909623,0.0122469,0.0223153,0.0232260,0.0223153,0.0122469,0.000909623,0.000425400,0.00854438,0.0197919,0.0223153,0.0197919,0.00854438,0.000425400,2.69243e-05,0.00179548,0.00854438,0.0122469,0.00854438,0.00179548,2.69243e-05,5.46411e-08,2.69243e-05,0.000425400,0.000909623,0.000425400,2.69243e-05,5.46411e-08,1.24384e-08,9.14337e-06,0.000183649,0.000425400,0.000183649,9.14337e-06,1.24384e-08,9.14337e-06,0.000909623,0.00550289,0.00854438,0.00550289,0.000909623,9.14337e-06,0.000183649,0.00550289,0.0162043,0.0197919,0.0162043,0.00550289,0.000183649,0.000425400,0.00854438,0.0197919,0.0223153,0.0197919,0.00854438,0.000425400,0.000183649,0.00550289,0.0162043,0.0197919,0.0162043,0.00550289,0.000183649,9.14337e-06,0.000909623,0.00550289,0.00854438,0.00550289,0.000909623,9.14337e-06,1.24384e-08,9.14337e-06,0.000183649,0.000425400,0.000183649,9.14337e-06,1.24384e-08,9.07894e-11,2.21580e-07,9.14337e-06,2.69243e-05,9.14337e-06,2.21580e-07,9.07894e-11,2.21580e-07,7.31878e-05,0.000909623,0.00179548,0.000909623,7.31878e-05,2.21580e-07,9.14337e-06,0.000909623,0.00550289,0.00854438,0.00550289,0.000909623,9.14337e-06,2.69243e-05,0.00179548,0.00854438,0.0122469,0.00854438,0.00179548,2.69243e-05,9.14337e-06,0.000909623,0.00550289,0.00854438,0.00550289,0.000909623,9.14337e-06,2.21580e-07,7.31878e-05,0.000909623,0.00179548,0.000909623,7.31878e-05,2.21580e-07,9.07894e-11,2.21580e-07,9.14337e-06,2.69243e-05,9.14337e-06,2.21580e-07,9.07894e-11,5.03438e-15,9.07894e-11,1.24384e-08,5.46411e-08,1.24384e-08,9.07894e-11,5.03438e-15,9.07894e-11,2.21580e-07,9.14337e-06,2.69243e-05,9.14337e-06,2.21580e-07,9.07894e-11,1.24384e-08,9.14337e-06,0.000183649,0.000425400,0.000183649,9.14337e-06,1.24384e-08,5.46411e-08,2.69243e-05,0.000425400,0.000909623,0.000425400,2.69243e-05,5.46411e-08,1.24384e-08,9.14337e-06,0.000183649,0.000425400,0.000183649,9.14337e-06,1.24384e-08,9.07894e-11,2.21580e-07,9.14337e-06,2.69243e-05,9.14337e-06,2.21580e-07,9.07894e-11,5.03438e-15,9.07894e-11,1.24384e-08,5.46411e-08,1.24384e-08,9.07894e-11,5.03438e-15/),(/7,7,7/))]
- sub/step [public]
- sub/step_scalar [private]
- sub/u_dot_grad [public]
- sub/u_dot_grad_alt [public]
- sub/u_dot_grad_scl [private]
- sub/u_dot_grad_scl_alt [private]
- sub/u_dot_grad_vec [private]
- sub/u_dot_grad_vec_alt [private]
- sub/u_grad_kurganov_tadmore [private]
- sub/ylm_core [private]
Subroutines and functions
- subroutine sub/max_mn(a, res)
successively calculate maximum of a, which is supplied at each call. Start from scratch if lfirstpoint=.true.
1-apr-01/axel+wolf: coded
- Parameters:
a (nx) [real,in]
res [real,inout]
- Called from:
update_char_vel_magnetic(),set_ambipolar_diffusion(),diamagnetism(),register_polymer(),initialize_polymer(),init_poly(),pencil_criteria_polymer(),pencil_interdep_polymer(),calc_pencils_polymer(),dpoly_dt(),calc_diagnostics_polymer()- Call to:
fatal_error(),det3x3mat(),dyadic2_other(),der3(),der4(),der5(),der6(),gij(),symmetrise3x3_ut2lt(),div(),not_implemented(),del4(),del6_strict(),del6(),der4i2j(),der2i2j2k(),der5i1j(),der3i3j(),der3i2j1k(),der4i1j1k(),del6fj(),vec_dot_3tensor(),doupwind(),dot_mn(),der2_minmod(),der_upwind1st(),warning(),read_snaptime(),shift_dt(),get_smooth_kernel(),noform(),len_fmtd_expr(),error(),levi_civita(),kronecker_delta(),ylm_other(),ylm(),step_vector(),der_step(),der6_step(),stepdown(),der_stepdown(),control_file_exists(),read_line_from_file(),hypergeometric2f1(),gamma_function(),dot2_mn(),multsv_mn(),multmv_mn(),one_minus_exp(),erfunc(),interp1(),lubksb(),bspline_basis(),location_in_proc(),xlocation(),ylocation(),zlocation(),deri_3d_inds(),calc_del6_for_upwind(),global_mean(),find_max_fvec(),find_rms_fvec(),find_xyrms_fvec(),div_mn(),traceless_strain(),multm2_sym_mn(),update_on_gpu(),get_dxyzs(),mpiabort()
- subroutine sub/sum_mn(a, res)
Successively calculate the sum over all points of a, which is supplied at each call. Start from zero if lfirstpoint=.true.
1-apr-01/axel+wolf: coded
- Parameters:
a (nx) [real]
res [real]
- Called from:
register_density(),initialize_density(),init_lnrho(),pde(),write_diagnostics(),calc_all_module_diagnostic_auxiliaries(),perform_diagnostics(),finalize_diagnostics()- Call to:
fatal_error(),det3x3mat(),dyadic2_other(),der3(),der4(),der5(),der6(),gij(),symmetrise3x3_ut2lt(),div(),not_implemented(),del4(),del6_strict(),del6(),der4i2j(),der2i2j2k(),der5i1j(),der3i3j(),der3i2j1k(),der4i1j1k(),del6fj(),vec_dot_3tensor(),doupwind(),dot_mn(),der2_minmod(),der_upwind1st(),warning(),read_snaptime(),shift_dt(),get_smooth_kernel(),noform(),len_fmtd_expr(),error(),levi_civita(),kronecker_delta(),ylm_other(),ylm(),step_vector(),der_step(),der6_step(),stepdown(),der_stepdown(),control_file_exists(),read_line_from_file(),hypergeometric2f1(),gamma_function(),dot2_mn(),multsv_mn(),multmv_mn(),one_minus_exp(),erfunc(),interp1(),lubksb(),bspline_basis(),location_in_proc(),xlocation(),ylocation(),zlocation(),deri_3d_inds(),calc_del6_for_upwind(),global_mean(),find_max_fvec(),find_rms_fvec(),find_xyrms_fvec(),div_mn(),traceless_strain(),multm2_sym_mn(),update_on_gpu(),get_dxyzs(),mpiabort()
- subroutine sub/dot_mn(a, b, c[, ladd])
Dot product, c=a.b, on pencil arrays.
3-apr-01/axel+gitta: coded
24-jun-08/MR: ladd added for incremental work
- Parameters:
a (,) [real,in]
b (,) [real,in]
c (*) [real,inout]
ladd [logical,in,]
- Use :
- Called from:
register_magnetic(),initialize_magnetic(),init_aa(),pencil_criteria_magnetic(),pencil_interdep_magnetic(),magnetic_after_boundary(),daa_dt(),read_magnetic_init_pars(),write_magnetic_init_pars(),read_magnetic_run_pars(),write_magnetic_run_pars(),time_integrals_magnetic(),df_diagnos_magnetic(),rescaling_magnetic(),update_char_vel_magnetic(),set_ambipolar_diffusion(),diamagnetism(),set_border_magnetic(),eta_shell(),calc_bthresh(),calc_tau_aa_exterior(),helflux(),curflux_ds(),curflux(),register_pscalar(),initialize_pscalar(),init_lncc(),pencil_criteria_pscalar(),pencil_interdep_pscalar(),calc_pencils_pscalar(),calc_diagnostics_pscalar(),dlncc_dt(),read_pscalar_init_pars(),write_pscalar_init_pars(),read_pscalar_run_pars(),write_pscalar_run_pars(),rprint_pscalar(),get_slices_pscalar(),pscalar_before_boundary(),calc_mpscalar(),register_radiation(),radtransfer(),initialize_radiation(),init_rad(),pencil_criteria_radiation(),pencil_interdep_radiation(),calc_pencils_radiation(),read_radiation_init_pars(),write_radiation_init_pars(),read_radiation_run_pars(),write_radiation_run_pars(),rprint_radiation(),get_slices_radiation(),calc_ode_diagnostics_special(),prep_rhs_special(),register_testscalar(),initialize_testscalar(),init_cctest(),pencil_criteria_testscalar(),pencil_interdep_testscalar(),read_testscalar_init_pars(),write_testscalar_init_pars(),read_testscalar_run_pars(),write_testscalar_run_pars(),dcctest_dt(),get_slices_testscalar(),testscalar_after_boundary(),calc_pencils_magnetic(),sine_avoid_boundary(),radiative_cooling(),radiative_pressure(),de_dt(),flux_limiter(),max_mn(),sum_mn(),dot_mn(),vec_dot_3tensor(),matrix2linarray(),linarray2matrix(),inv2_3x3mat(),scalartripleproduct(),det3x3mat(),dot_mn_sv(),dot_mn_sv_pencil(),dot_mn_sm(),dot_mn_vm(),dot_mn_vm_trans(),dot2_mn(),dot2_mx(),dot2fj(),dyadic2(),dyadic2_other(),trace_mn(),mult_matrix(),multm2_mn(),multm2_sym_mn(),multmv_mn(),invmat_db(),multsv_mn(),multsv_mn_add(),multsm_mn(),cross_mn(),cross_mixed(),gij(),gij_v_times_s(),gijl_symmetric(),grad5(),div(),div_tensor(),div_other(),div_mn(),div_mn_2tensor(),curl_mn(),curl_horizontal(),curl(),curl_other(),curli(),del2v(),del2m3x3_sym(),del2fj(),del2fi_dxjk(),d2fi_dxj(),symmetrise3x3_ut2lt(),del2v_etc(),del2vi_etc(),del4v(),del6v(),bij_tilde(),gij_etc(),g2ij(),del4(),del6(),del6_strict(),del4graddiv(),del6_other(),del6fj(),del6fjv(),u_dot_grad_mat(),nou_dot_grad_scl(),h_dot_grad_vec(),gradf_upw1st(),rdim(),read_snaptime(),update_snaptime(),shift_dt(),set_next_dt(),set_dt(),vecout(),vecout_initialize(),vecout_finalize(),despike(),smooth_kernel(),smooth(),smooth_mn(),get_smooth_kernel(),eulag_filter(),identify_bcs(),lower_triangular_index(),step_vector(),der6_step(),stepdown(),der_stepdown(),coeff_ydep(),parse_bc(),inverse_parse_bc(),parse_bc_rad(),parse_bc_radg(),parse_shell(),control_file_exists(),read_line_from_file(),get_nseed(),get_where(),write_dx_general(),write_zprof(),write_yprof(),write_xprof(),remove_prof(),blob(),blobs(),gamma_function(),tensor_diffusion_coef()- Call to:
det3x3mat(),dyadic2_other(),fatal_error(),der3(),der4(),der5(),der6(),gij(),symmetrise3x3_ut2lt(),div(),not_implemented(),del4(),del6_strict(),del6(),der4i2j(),der2i2j2k(),der5i1j(),der3i3j(),der3i2j1k(),der4i1j1k(),del6fj(),vec_dot_3tensor(),doupwind(),dot_mn(),der2_minmod(),der_upwind1st(),warning(),read_snaptime(),shift_dt(),get_smooth_kernel(),noform(),len_fmtd_expr(),error(),levi_civita(),kronecker_delta(),ylm_other(),ylm(),step_vector(),der_step(),der6_step(),stepdown(),der_stepdown(),control_file_exists(),read_line_from_file(),hypergeometric2f1(),gamma_function(),dot2_mn(),multsv_mn(),multmv_mn(),one_minus_exp(),erfunc(),interp1(),lubksb(),bspline_basis(),location_in_proc(),xlocation(),ylocation(),zlocation(),deri_3d_inds(),calc_del6_for_upwind(),global_mean(),find_max_fvec(),find_rms_fvec(),find_xyrms_fvec(),div_mn(),traceless_strain(),multm2_sym_mn(),update_on_gpu(),get_dxyzs(),mpiabort()
- subroutine sub/vec_dot_3tensor(a, b, c)
- Dot product of a vector with 3 tensor,
c_ij = a_k b_ijk
28-aug-08/dhruba : coded
- Parameters:
- Called from:
max_mn(),sum_mn(),dot_mn(),vec_dot_3tensor(),matrix2linarray(),linarray2matrix(),inv2_3x3mat(),scalartripleproduct(),det3x3mat(),dot_mn_sv(),dot_mn_sv_pencil(),dot_mn_sm(),dot_mn_vm(),dot_mn_vm_trans(),dot2_mn(),dot2_mx(),dot2fj(),dyadic2(),dyadic2_other(),trace_mn(),mult_matrix(),multm2_mn(),multm2_sym_mn(),multmv_mn(),invmat_db(),multsv_mn(),multsv_mn_add(),multsm_mn(),cross_mn(),cross_mixed(),gij(),gij_v_times_s(),gijl_symmetric(),grad5(),div(),div_tensor(),div_other(),div_mn(),div_mn_2tensor(),curl_mn(),curl_horizontal(),curl(),curl_other(),curli(),del2v(),del2m3x3_sym(),del2fj(),del2fi_dxjk(),d2fi_dxj(),symmetrise3x3_ut2lt(),del2v_etc(),del2vi_etc(),del4v(),del6v(),bij_tilde(),gij_etc(),g2ij(),del4(),del6(),del6_strict(),del4graddiv(),del6_other(),del6fj(),del6fjv(),u_dot_grad_mat()- Call to:
det3x3mat(),dyadic2_other(),fatal_error(),der3(),der4(),der5(),der6(),gij(),symmetrise3x3_ut2lt(),div(),not_implemented(),del4(),del6_strict(),del6(),der4i2j(),der2i2j2k(),der5i1j(),der3i3j(),der3i2j1k(),der4i1j1k(),del6fj(),vec_dot_3tensor(),doupwind(),dot_mn(),der2_minmod(),der_upwind1st(),warning(),read_snaptime(),shift_dt(),get_smooth_kernel(),noform(),len_fmtd_expr(),error(),levi_civita(),kronecker_delta(),ylm_other(),ylm(),step_vector(),der_step(),der6_step(),stepdown(),der_stepdown(),control_file_exists(),read_line_from_file(),hypergeometric2f1(),gamma_function(),dot2_mn(),multsv_mn(),multmv_mn(),one_minus_exp(),erfunc(),interp1(),lubksb(),bspline_basis(),location_in_proc(),xlocation(),ylocation(),zlocation(),deri_3d_inds(),calc_del6_for_upwind(),global_mean(),find_max_fvec(),find_rms_fvec(),find_xyrms_fvec(),div_mn(),traceless_strain(),multm2_sym_mn(),update_on_gpu(),get_dxyzs(),mpiabort()
- subroutine sub/matrix2linarray(mm, aa)
converts a 3X3 matrix to an array of length 9
18-sep-15/dhruba: coded
- Parameters:
mm (3,3) [real,in]
aa (9) [real,out]
- Called from:
register_particles_caustics(),initialize_particles_caustics(),init_particles_caustics(),dcaustics_dt(),dcaustics_dt_pencil(),register_particles_grad(),initialize_particles_grad(),pencil_criteria_par_grad(),set_particle_grad(),dsigmap_dt_pencil(),register_particles_lyapunov(),initialize_particles_lyapunov(),init_particles_lyapunov(),dlyapunov_dt(),dlyapunov_dt_pencil()- Call to:
det3x3mat(),dyadic2_other(),fatal_error(),der3(),der4(),der5(),der6(),gij(),symmetrise3x3_ut2lt(),div(),not_implemented(),del4(),del6_strict(),del6(),der4i2j(),der2i2j2k(),der5i1j(),der3i3j(),der3i2j1k(),der4i1j1k(),del6fj(),vec_dot_3tensor(),doupwind(),dot_mn(),der2_minmod(),der_upwind1st(),warning(),read_snaptime(),shift_dt(),get_smooth_kernel(),noform(),len_fmtd_expr(),error(),levi_civita(),kronecker_delta(),ylm_other(),ylm(),step_vector(),der_step(),der6_step(),stepdown(),der_stepdown(),control_file_exists(),read_line_from_file(),hypergeometric2f1(),gamma_function(),dot2_mn(),multsv_mn(),multmv_mn(),one_minus_exp(),erfunc(),interp1(),lubksb(),bspline_basis(),location_in_proc(),xlocation(),ylocation(),zlocation(),deri_3d_inds(),calc_del6_for_upwind(),global_mean(),find_max_fvec(),find_rms_fvec(),find_xyrms_fvec(),div_mn(),traceless_strain(),multm2_sym_mn(),update_on_gpu(),get_dxyzs(),mpiabort()
- subroutine sub/linarray2matrix(aa, mm)
converts a 3X3 matrix to an array of length 9
18-sep-15/dhruba: coded
- Parameters:
aa (9) [real,in]
mm (3,3) [real,out]
- Called from:
register_particles_caustics(),initialize_particles_caustics(),init_particles_caustics(),dcaustics_dt(),dcaustics_dt_pencil(),register_particles_grad(),initialize_particles_grad(),pencil_criteria_par_grad(),set_particle_grad(),dsigmap_dt_pencil(),register_particles_lyapunov(),initialize_particles_lyapunov(),init_particles_lyapunov(),dlyapunov_dt(),dlyapunov_dt_pencil(),register_particles_tetrad(),initialize_particles_tetrad(),init_particles_tetrad(),dtetrad_dt(),dtetrad_dt_pencil()- Call to:
det3x3mat(),dyadic2_other(),fatal_error(),der3(),der4(),der5(),der6(),gij(),symmetrise3x3_ut2lt(),div(),not_implemented(),del4(),del6_strict(),del6(),der4i2j(),der2i2j2k(),der5i1j(),der3i3j(),der3i2j1k(),der4i1j1k(),del6fj(),vec_dot_3tensor(),doupwind(),dot_mn(),der2_minmod(),der_upwind1st(),warning(),read_snaptime(),shift_dt(),get_smooth_kernel(),noform(),len_fmtd_expr(),error(),levi_civita(),kronecker_delta(),ylm_other(),ylm(),step_vector(),der_step(),der6_step(),stepdown(),der_stepdown(),control_file_exists(),read_line_from_file(),hypergeometric2f1(),gamma_function(),dot2_mn(),multsv_mn(),multmv_mn(),one_minus_exp(),erfunc(),interp1(),lubksb(),bspline_basis(),location_in_proc(),xlocation(),ylocation(),zlocation(),deri_3d_inds(),calc_del6_for_upwind(),global_mean(),find_max_fvec(),find_rms_fvec(),find_xyrms_fvec(),div_mn(),traceless_strain(),multm2_sym_mn(),update_on_gpu(),get_dxyzs(),mpiabort()
- subroutine sub/inv2_3x3mat(a, qq)
calcualates the second invariant of a 3X3 matrix directly
- Parameters:
a (3,3) [real,in]
qq [real,out]
- Called from:
register_particles_caustics(),initialize_particles_caustics(),init_particles_caustics(),dcaustics_dt()- Call to:
det3x3mat(),dyadic2_other(),fatal_error(),der3(),der4(),der5(),der6(),gij(),symmetrise3x3_ut2lt(),div(),not_implemented(),del4(),del6_strict(),del6(),der4i2j(),der2i2j2k(),der5i1j(),der3i3j(),der3i2j1k(),der4i1j1k(),del6fj(),vec_dot_3tensor(),doupwind(),dot_mn(),der2_minmod(),der_upwind1st(),warning(),read_snaptime(),shift_dt(),get_smooth_kernel(),noform(),len_fmtd_expr(),error(),levi_civita(),kronecker_delta(),ylm_other(),ylm(),step_vector(),der_step(),der6_step(),stepdown(),der_stepdown(),control_file_exists(),read_line_from_file(),hypergeometric2f1(),gamma_function(),dot2_mn(),multsv_mn(),multmv_mn(),one_minus_exp(),erfunc(),interp1(),lubksb(),bspline_basis(),location_in_proc(),xlocation(),ylocation(),zlocation(),deri_3d_inds(),calc_del6_for_upwind(),global_mean(),find_max_fvec(),find_rms_fvec(),find_xyrms_fvec(),div_mn(),traceless_strain(),multm2_sym_mn(),update_on_gpu(),get_dxyzs(),mpiabort()
- subroutine sub/scalartripleproduct(a, b, c, product)
- Parameters:
a (3) [real,in]
b (3) [real,in]
c (3) [real,in]
product [real]
- Called from:
register_particles_tetrad(),initialize_particles_tetrad(),init_particles_tetrad(),dtetrad_dt()- Call to:
det3x3mat(),dyadic2_other(),fatal_error(),der3(),der4(),der5(),der6(),gij(),symmetrise3x3_ut2lt(),div(),not_implemented(),del4(),del6_strict(),del6(),der4i2j(),der2i2j2k(),der5i1j(),der3i3j(),der3i2j1k(),der4i1j1k(),del6fj(),vec_dot_3tensor(),doupwind(),dot_mn(),der2_minmod(),der_upwind1st(),warning(),read_snaptime(),shift_dt(),get_smooth_kernel(),noform(),len_fmtd_expr(),error(),levi_civita(),kronecker_delta(),ylm_other(),ylm(),step_vector(),der_step(),der6_step(),stepdown(),der_stepdown(),control_file_exists(),read_line_from_file(),hypergeometric2f1(),gamma_function(),dot2_mn(),multsv_mn(),multmv_mn(),one_minus_exp(),erfunc(),interp1(),lubksb(),bspline_basis(),location_in_proc(),xlocation(),ylocation(),zlocation(),deri_3d_inds(),calc_del6_for_upwind(),global_mean(),find_max_fvec(),find_rms_fvec(),find_xyrms_fvec(),div_mn(),traceless_strain(),multm2_sym_mn(),update_on_gpu(),get_dxyzs(),mpiabort()
- subroutine sub/det3x3mat(a, det)
calculates determinant of a 3X3 matrix directly
- Parameters:
a (3,3) [real,in]
det [real,out]
- Called from:
register_particles_caustics(),initialize_particles_caustics(),init_particles_caustics(),dcaustics_dt(),max_mn(),sum_mn(),dot_mn(),vec_dot_3tensor(),matrix2linarray(),linarray2matrix(),inv2_3x3mat(),scalartripleproduct()- Call to:
dyadic2_other(),fatal_error(),der3(),der4(),der5(),der6(),gij(),symmetrise3x3_ut2lt(),div(),not_implemented(),del4(),del6_strict(),del6(),der4i2j(),der2i2j2k(),der5i1j(),der3i3j(),der3i2j1k(),der4i1j1k(),del6fj(),vec_dot_3tensor(),doupwind(),dot_mn(),der2_minmod(),der_upwind1st(),warning(),read_snaptime(),shift_dt(),get_smooth_kernel(),noform(),len_fmtd_expr(),error(),levi_civita(),kronecker_delta(),ylm_other(),ylm(),step_vector(),der_step(),der6_step(),stepdown(),der_stepdown(),control_file_exists(),read_line_from_file(),hypergeometric2f1(),gamma_function(),dot2_mn(),multsv_mn(),multmv_mn(),one_minus_exp(),erfunc(),interp1(),lubksb(),bspline_basis(),location_in_proc(),xlocation(),ylocation(),zlocation(),deri_3d_inds(),calc_del6_for_upwind(),global_mean(),find_max_fvec(),find_rms_fvec(),find_xyrms_fvec(),div_mn(),traceless_strain(),multm2_sym_mn(),update_on_gpu(),get_dxyzs(),mpiabort()
- subroutine sub/dot_mn_sv(a, b, c)
Dot product, c=a.b, between non-pencilized vector and pencil array.
10-oct-06/axel: coded
- Parameters:
- Called from:
register_magnetic(),initialize_magnetic(),init_aa(),pencil_criteria_magnetic(),pencil_interdep_magnetic(),daa_dt(),time_integrals_magnetic(),df_diagnos_magnetic(),update_char_vel_magnetic(),set_ambipolar_diffusion(),diamagnetism(),calc_pencils_magnetic()- Call to:
dyadic2_other(),fatal_error(),der3(),der4(),der5(),der6(),gij(),symmetrise3x3_ut2lt(),div(),not_implemented(),del4(),del6_strict(),del6(),der4i2j(),der2i2j2k(),der5i1j(),der3i3j(),der3i2j1k(),der4i1j1k(),del6fj(),vec_dot_3tensor(),doupwind(),dot_mn(),der2_minmod(),der_upwind1st(),warning(),read_snaptime(),shift_dt(),get_smooth_kernel(),noform(),len_fmtd_expr(),error(),levi_civita(),kronecker_delta(),ylm_other(),ylm(),step_vector(),der_step(),der6_step(),stepdown(),der_stepdown(),control_file_exists(),read_line_from_file(),hypergeometric2f1(),gamma_function(),dot2_mn(),multsv_mn(),multmv_mn(),one_minus_exp(),erfunc(),interp1(),lubksb(),bspline_basis(),location_in_proc(),xlocation(),ylocation(),zlocation(),deri_3d_inds(),calc_del6_for_upwind(),global_mean(),find_max_fvec(),find_rms_fvec(),find_xyrms_fvec(),div_mn(),traceless_strain(),multm2_sym_mn(),update_on_gpu(),get_dxyzs(),mpiabort()
- subroutine sub/dot_mn_sv_pencil(a, b, c)
Dot product, c=a.b, between pencilized vector and pencil scalar.
02-sep-2025/alberto: coded
- Parameters:
- Call to:
dyadic2_other(),fatal_error(),der3(),der4(),der5(),der6(),gij(),symmetrise3x3_ut2lt(),div(),not_implemented(),del4(),del6_strict(),del6(),der4i2j(),der2i2j2k(),der5i1j(),der3i3j(),der3i2j1k(),der4i1j1k(),del6fj(),vec_dot_3tensor(),doupwind(),dot_mn(),der2_minmod(),der_upwind1st(),warning(),read_snaptime(),shift_dt(),get_smooth_kernel(),noform(),len_fmtd_expr(),error(),levi_civita(),kronecker_delta(),ylm_other(),ylm(),step_vector(),der_step(),der6_step(),stepdown(),der_stepdown(),control_file_exists(),read_line_from_file(),hypergeometric2f1(),gamma_function(),dot2_mn(),multsv_mn(),multmv_mn(),one_minus_exp(),erfunc(),interp1(),lubksb(),bspline_basis(),location_in_proc(),xlocation(),ylocation(),zlocation(),deri_3d_inds(),calc_del6_for_upwind(),global_mean(),find_max_fvec(),find_rms_fvec(),find_xyrms_fvec(),div_mn(),traceless_strain(),multm2_sym_mn(),update_on_gpu(),get_dxyzs(),mpiabort()
- subroutine sub/dot_mn_sm(a, b, c)
Dot product, c=a.b, between non-pencilized vector and pencil matrix.
10-oct-06/axel: coded
- Parameters:
- Called from:
register_magnetic(),initialize_magnetic(),init_aa(),pencil_criteria_magnetic(),pencil_interdep_magnetic(),daa_dt(),time_integrals_magnetic(),df_diagnos_magnetic(),update_char_vel_magnetic(),set_ambipolar_diffusion(),diamagnetism(),calc_pencils_magnetic()- Call to:
dyadic2_other(),fatal_error(),der3(),der4(),der5(),der6(),gij(),symmetrise3x3_ut2lt(),div(),not_implemented(),del4(),del6_strict(),del6(),der4i2j(),der2i2j2k(),der5i1j(),der3i3j(),der3i2j1k(),der4i1j1k(),del6fj(),vec_dot_3tensor(),doupwind(),dot_mn(),der2_minmod(),der_upwind1st(),warning(),read_snaptime(),shift_dt(),get_smooth_kernel(),noform(),len_fmtd_expr(),error(),levi_civita(),kronecker_delta(),ylm_other(),ylm(),step_vector(),der_step(),der6_step(),stepdown(),der_stepdown(),control_file_exists(),read_line_from_file(),hypergeometric2f1(),gamma_function(),dot2_mn(),multsv_mn(),multmv_mn(),one_minus_exp(),erfunc(),interp1(),lubksb(),bspline_basis(),location_in_proc(),xlocation(),ylocation(),zlocation(),deri_3d_inds(),calc_del6_for_upwind(),global_mean(),find_max_fvec(),find_rms_fvec(),find_xyrms_fvec(),div_mn(),traceless_strain(),multm2_sym_mn(),update_on_gpu(),get_dxyzs(),mpiabort()
- subroutine sub/dot_mn_vm(a, b, c)
Dot product, c=a.b, between pencil vector and pencil matrix.
10-oct-06/axel: coded
- Parameters:
- Called from:
register_polymer(),initialize_polymer(),init_poly(),pencil_criteria_polymer(),pencil_interdep_polymer(),calc_pencils_polymer()- Call to:
dyadic2_other(),fatal_error(),der3(),der4(),der5(),der6(),gij(),symmetrise3x3_ut2lt(),div(),not_implemented(),del4(),del6_strict(),del6(),der4i2j(),der2i2j2k(),der5i1j(),der3i3j(),der3i2j1k(),der4i1j1k(),del6fj(),vec_dot_3tensor(),doupwind(),dot_mn(),der2_minmod(),der_upwind1st(),warning(),read_snaptime(),shift_dt(),get_smooth_kernel(),noform(),len_fmtd_expr(),error(),levi_civita(),kronecker_delta(),ylm_other(),ylm(),step_vector(),der_step(),der6_step(),stepdown(),der_stepdown(),control_file_exists(),read_line_from_file(),hypergeometric2f1(),gamma_function(),dot2_mn(),multsv_mn(),multmv_mn(),one_minus_exp(),erfunc(),interp1(),lubksb(),bspline_basis(),location_in_proc(),xlocation(),ylocation(),zlocation(),deri_3d_inds(),calc_del6_for_upwind(),global_mean(),find_max_fvec(),find_rms_fvec(),find_xyrms_fvec(),div_mn(),traceless_strain(),multm2_sym_mn(),update_on_gpu(),get_dxyzs(),mpiabort()
- subroutine sub/dot_mn_vm_trans(a, b, c)
Dot product, c=a.b, between pencil vector and pencil matrix. I think the name of dot_mn_vm is not right and should have been transposed.
10-oct-06/axel: coded
- Parameters:
- Call to:
dyadic2_other(),fatal_error(),der3(),der4(),der5(),der6(),gij(),symmetrise3x3_ut2lt(),div(),not_implemented(),del4(),del6_strict(),del6(),der4i2j(),der2i2j2k(),der5i1j(),der3i3j(),der3i2j1k(),der4i1j1k(),del6fj(),vec_dot_3tensor(),doupwind(),dot_mn(),der2_minmod(),der_upwind1st(),warning(),read_snaptime(),shift_dt(),get_smooth_kernel(),noform(),len_fmtd_expr(),error(),levi_civita(),kronecker_delta(),ylm_other(),ylm(),step_vector(),der_step(),der6_step(),stepdown(),der_stepdown(),control_file_exists(),read_line_from_file(),hypergeometric2f1(),gamma_function(),dot2_mn(),multsv_mn(),multmv_mn(),one_minus_exp(),erfunc(),interp1(),lubksb(),bspline_basis(),location_in_proc(),xlocation(),ylocation(),zlocation(),deri_3d_inds(),calc_del6_for_upwind(),global_mean(),find_max_fvec(),find_rms_fvec(),find_xyrms_fvec(),div_mn(),traceless_strain(),multm2_sym_mn(),update_on_gpu(),get_dxyzs(),mpiabort()
- subroutine sub/dot2_mn(a, b[, fast_sqrt[, precise_sqrt]])
!$omp declare target
Dot product with itself, to calculate max and rms values of a vector. FAST_SQRT is only correct for ~1e-18 < |a| < 1e18 (for single precision); PRECISE_SQRT works for full range.
- 29-sep-97/axel: coded
1-apr-01/axel: adapted for cache-efficient sub-array formulation
25-jun-05/bing: added optional args for calculating |a|
- Parameters:
- Use :
- Called from:
register_magnetic(),initialize_magnetic(),init_aa(),pencil_criteria_magnetic(),pencil_interdep_magnetic(),daa_dt(),update_char_vel_magnetic(),set_ambipolar_diffusion(),diamagnetism(),time_step(),initialize_power_spectrum(),read_power_spectrum_run_pars(),write_power_spectrum_run_pars(),power(),crossspec(),power_2d(),power_xy(),powerhel(),powerlor(),poweromu(),poweremf(),powertra(),powergws(),powerscl(),power_1d(),pdf(),register_pscalar(),initialize_pscalar(),init_lncc(),pencil_criteria_pscalar(),pencil_interdep_pscalar(),calc_pencils_pscalar(),dlncc_dt(),read_radiation_init_pars(),write_radiation_init_pars(),read_radiation_run_pars(),write_radiation_run_pars(),rprint_radiation(),get_slices_radiation(),special_calc_hydro(),special_calc_density(),special_calc_dustdensity(),special_calc_energy(),special_calc_magnetic(),special_calc_pscalar(),special_calc_particles(),special_calc_chemistry(),special_before_boundary(),calc_ode_diagnostics_special(),prep_rhs_special(),calc_pencils_magnetic(),flux_limiter(),max_mn(),sum_mn(),dot_mn(),vec_dot_3tensor(),matrix2linarray(),linarray2matrix(),inv2_3x3mat(),scalartripleproduct(),det3x3mat(),dot_mn_sv(),dot_mn_sv_pencil(),dot_mn_sm(),dot_mn_vm(),dot_mn_vm_trans(),dot2_mn(),dot2_mx(),dot2fj(),dyadic2(),trace_mn(),mult_matrix(),multm2_mn(),multm2_sym_mn(),multmv_mn(),invmat_db(),multsv_mn(),multsv_mn_add(),multsm_mn(),cross_mn(),cross_mixed(),gij(),gij_v_times_s(),gijl_symmetric(),grad5(),div(),div_tensor(),div_other(),div_mn(),div_mn_2tensor(),curl_mn(),curl_horizontal(),curl(),curl_other(),curli(),del2v(),del2m3x3_sym(),del2fj(),del2fi_dxjk(),d2fi_dxj(),symmetrise3x3_ut2lt(),del2v_etc(),del2vi_etc(),del4v(),del6v(),bij_tilde(),gij_etc(),g2ij(),del4(),del6(),del6_strict(),del4graddiv(),del6_other(),del6fj(),del6fjv(),u_dot_grad_mat(),nou_dot_grad_scl(),h_dot_grad_vec(),gradf_upw1st(),rdim(),read_snaptime(),update_snaptime(),shift_dt(),set_next_dt(),set_dt(),vecout(),vecout_initialize(),vecout_finalize(),despike(),smooth_kernel(),smooth(),smooth_mn(),get_smooth_kernel(),eulag_filter(),identify_bcs(),lower_triangular_index(),step_vector(),der6_step(),stepdown(),der_stepdown(),coeff_ydep(),parse_bc(),inverse_parse_bc(),parse_bc_rad(),parse_bc_radg(),parse_shell(),control_file_exists(),read_line_from_file(),get_nseed(),get_where(),write_dx_general(),write_zprof(),write_yprof(),write_xprof(),remove_prof(),blob(),blobs(),gamma_function(),tensor_diffusion_coef(),initialize_timestep()- Call to:
dyadic2_other(),fatal_error(),der3(),der4(),der5(),der6(),gij(),symmetrise3x3_ut2lt(),div(),not_implemented(),del4(),del6_strict(),del6(),der4i2j(),der2i2j2k(),der5i1j(),der3i3j(),der3i2j1k(),der4i1j1k(),del6fj(),vec_dot_3tensor(),doupwind(),dot_mn(),der2_minmod(),der_upwind1st(),warning(),read_snaptime(),shift_dt(),get_smooth_kernel(),noform(),len_fmtd_expr(),error(),levi_civita(),kronecker_delta(),ylm_other(),ylm(),step_vector(),der_step(),der6_step(),stepdown(),der_stepdown(),control_file_exists(),read_line_from_file(),hypergeometric2f1(),gamma_function(),dot2_mn(),multsv_mn(),multmv_mn(),one_minus_exp(),erfunc(),interp1(),lubksb(),bspline_basis(),location_in_proc(),xlocation(),ylocation(),zlocation(),deri_3d_inds(),calc_del6_for_upwind(),global_mean(),find_max_fvec(),find_rms_fvec(),find_xyrms_fvec(),div_mn(),traceless_strain(),multm2_sym_mn(),update_on_gpu(),get_dxyzs(),mpiabort()
- subroutine sub/dot2_mx(a, b)
Dot product with itself.
21-aug-22/axel: adapted from dot2_mn
- Parameters:
- Call to:
dyadic2_other(),fatal_error(),der3(),der4(),der5(),der6(),gij(),symmetrise3x3_ut2lt(),div(),not_implemented(),del4(),del6_strict(),del6(),der4i2j(),der2i2j2k(),der5i1j(),der3i3j(),der3i2j1k(),der4i1j1k(),del6fj(),vec_dot_3tensor(),doupwind(),dot_mn(),der2_minmod(),der_upwind1st(),warning(),read_snaptime(),shift_dt(),get_smooth_kernel(),noform(),len_fmtd_expr(),error(),levi_civita(),kronecker_delta(),ylm_other(),ylm(),step_vector(),der_step(),der6_step(),stepdown(),der_stepdown(),control_file_exists(),read_line_from_file(),hypergeometric2f1(),gamma_function(),dot2_mn(),multsv_mn(),multmv_mn(),one_minus_exp(),erfunc(),interp1(),lubksb(),bspline_basis(),location_in_proc(),xlocation(),ylocation(),zlocation(),deri_3d_inds(),calc_del6_for_upwind(),global_mean(),find_max_fvec(),find_rms_fvec(),find_xyrms_fvec(),div_mn(),traceless_strain(),multm2_sym_mn(),update_on_gpu(),get_dxyzs(),mpiabort()
- subroutine sub/dot2fj(a, vec, b)
Dot product with itself, multiplied by anisotropic factor.
20-dec-12/wlad: adapted from dot2_mn
- Parameters:
- Call to:
dyadic2_other(),fatal_error(),der3(),der4(),der5(),der6(),gij(),symmetrise3x3_ut2lt(),div(),not_implemented(),del4(),del6_strict(),del6(),der4i2j(),der2i2j2k(),der5i1j(),der3i3j(),der3i2j1k(),der4i1j1k(),del6fj(),vec_dot_3tensor(),doupwind(),dot_mn(),der2_minmod(),der_upwind1st(),warning(),read_snaptime(),shift_dt(),get_smooth_kernel(),noform(),len_fmtd_expr(),error(),levi_civita(),kronecker_delta(),ylm_other(),ylm(),step_vector(),der_step(),der6_step(),stepdown(),der_stepdown(),control_file_exists(),read_line_from_file(),hypergeometric2f1(),gamma_function(),dot2_mn(),multsv_mn(),multmv_mn(),one_minus_exp(),erfunc(),interp1(),lubksb(),bspline_basis(),location_in_proc(),xlocation(),ylocation(),zlocation(),deri_3d_inds(),calc_del6_for_upwind(),global_mean(),find_max_fvec(),find_rms_fvec(),find_xyrms_fvec(),div_mn(),traceless_strain(),multm2_sym_mn(),update_on_gpu(),get_dxyzs(),mpiabort()
- subroutine sub/dyadic2(a, b)
Dyadic product of a penciled vector with itself.
24-jan-09/axel: coded
- Parameters:
- Call to:
dyadic2_other(),fatal_error(),der3(),der4(),der5(),der6(),gij(),symmetrise3x3_ut2lt(),div(),not_implemented(),del4(),del6_strict(),del6(),der4i2j(),der2i2j2k(),der5i1j(),der3i3j(),der3i2j1k(),der4i1j1k(),del6fj(),vec_dot_3tensor(),doupwind(),dot_mn(),der2_minmod(),der_upwind1st(),warning(),read_snaptime(),shift_dt(),get_smooth_kernel(),noform(),len_fmtd_expr(),error(),levi_civita(),kronecker_delta(),ylm_other(),ylm(),step_vector(),der_step(),der6_step(),stepdown(),der_stepdown(),control_file_exists(),read_line_from_file(),hypergeometric2f1(),gamma_function(),dot2_mn(),multsv_mn(),multmv_mn(),one_minus_exp(),erfunc(),interp1(),lubksb(),bspline_basis(),location_in_proc(),xlocation(),ylocation(),zlocation(),deri_3d_inds(),calc_del6_for_upwind(),global_mean(),find_max_fvec(),find_rms_fvec(),find_xyrms_fvec(),div_mn(),traceless_strain(),multm2_sym_mn(),update_on_gpu(),get_dxyzs(),mpiabort()
- function sub/dyadic2_other(a)
Dyadic product of a vector with itself for non-pencil data.
26-may-19/MR: aped from dyadic2
- Parameters:
a (3) [real,in]
- Return:
b (3,3) [real]
- Called from:
max_mn(),sum_mn(),dot_mn(),vec_dot_3tensor(),matrix2linarray(),linarray2matrix(),inv2_3x3mat(),scalartripleproduct(),det3x3mat(),dot_mn_sv(),dot_mn_sv_pencil(),dot_mn_sm(),dot_mn_vm(),dot_mn_vm_trans(),dot2_mn(),dot2_mx(),dot2fj(),dyadic2()- Call to:
fatal_error(),der3(),der4(),der5(),der6(),gij(),symmetrise3x3_ut2lt(),div(),not_implemented(),del4(),del6_strict(),del6(),der4i2j(),der2i2j2k(),der5i1j(),der3i3j(),der3i2j1k(),der4i1j1k(),del6fj(),vec_dot_3tensor(),doupwind(),dot_mn(),der2_minmod(),der_upwind1st(),warning(),read_snaptime(),shift_dt(),get_smooth_kernel(),noform(),len_fmtd_expr(),error(),levi_civita(),kronecker_delta(),ylm_other()
- subroutine sub/trace_mn(a, b)
Trace of a matrix.
3-apr-01/axel+gitta: coded
- Parameters:
- Called from:
register_polymer(),initialize_polymer(),init_poly(),pencil_criteria_polymer(),pencil_interdep_polymer(),calc_pencils_polymer()- Call to:
fatal_error(),der3(),der4(),der5(),der6(),gij(),symmetrise3x3_ut2lt(),div(),not_implemented(),del4(),del6_strict(),del6(),der4i2j(),der2i2j2k(),der5i1j(),der3i3j(),der3i2j1k(),der4i1j1k(),del6fj(),vec_dot_3tensor(),doupwind(),dot_mn(),der2_minmod(),der_upwind1st(),warning(),read_snaptime(),shift_dt(),get_smooth_kernel(),noform(),len_fmtd_expr(),error(),levi_civita(),kronecker_delta(),ylm_other(),ylm(),step_vector(),der_step(),der6_step(),stepdown(),der_stepdown(),control_file_exists(),read_line_from_file(),hypergeometric2f1(),gamma_function(),dot2_mn(),multsv_mn(),multmv_mn(),one_minus_exp(),erfunc(),interp1(),lubksb(),bspline_basis(),location_in_proc(),xlocation(),ylocation(),zlocation(),deri_3d_inds(),calc_del6_for_upwind(),global_mean(),find_max_fvec(),find_rms_fvec(),find_xyrms_fvec(),div_mn(),traceless_strain(),multm2_sym_mn(),update_on_gpu(),get_dxyzs(),mpiabort()
- subroutine sub/mult_matrix(a, b, c)
Matrix multiplication of two pencil variables.
- Parameters:
- Called from:
register_polymer(),initialize_polymer(),init_poly(),pencil_criteria_polymer(),pencil_interdep_polymer(),calc_pencils_polymer(),dpoly_dt(),calc_diagnostics_polymer()- Call to:
fatal_error(),der3(),der4(),der5(),der6(),gij(),symmetrise3x3_ut2lt(),div(),not_implemented(),del4(),del6_strict(),del6(),der4i2j(),der2i2j2k(),der5i1j(),der3i3j(),der3i2j1k(),der4i1j1k(),del6fj(),vec_dot_3tensor(),doupwind(),dot_mn(),der2_minmod(),der_upwind1st(),warning(),read_snaptime(),shift_dt(),get_smooth_kernel(),noform(),len_fmtd_expr(),error(),levi_civita(),kronecker_delta(),ylm_other(),ylm(),step_vector(),der_step(),der6_step(),stepdown(),der_stepdown(),control_file_exists(),read_line_from_file(),hypergeometric2f1(),gamma_function(),dot2_mn(),multsv_mn(),multmv_mn(),one_minus_exp(),erfunc(),interp1(),lubksb(),bspline_basis(),location_in_proc(),xlocation(),ylocation(),zlocation(),deri_3d_inds(),calc_del6_for_upwind(),global_mean(),find_max_fvec(),find_rms_fvec(),find_xyrms_fvec(),div_mn(),traceless_strain(),multm2_sym_mn(),update_on_gpu(),get_dxyzs(),mpiabort()
- subroutine sub/multm2_mn(a, b)
Matrix squared, gives scalar.
11-nov-02/axel: adapted from multmm_sc_mn
- Parameters:
- Call to:
fatal_error(),der3(),der4(),der5(),der6(),gij(),symmetrise3x3_ut2lt(),div(),not_implemented(),del4(),del6_strict(),del6(),der4i2j(),der2i2j2k(),der5i1j(),der3i3j(),der3i2j1k(),der4i1j1k(),del6fj(),vec_dot_3tensor(),doupwind(),dot_mn(),der2_minmod(),der_upwind1st(),warning(),read_snaptime(),shift_dt(),get_smooth_kernel(),noform(),len_fmtd_expr(),error(),levi_civita(),kronecker_delta(),ylm_other(),ylm(),step_vector(),der_step(),der6_step(),stepdown(),der_stepdown(),control_file_exists(),read_line_from_file(),hypergeometric2f1(),gamma_function(),dot2_mn(),multsv_mn(),multmv_mn(),one_minus_exp(),erfunc(),interp1(),lubksb(),bspline_basis(),location_in_proc(),xlocation(),ylocation(),zlocation(),deri_3d_inds(),calc_del6_for_upwind(),global_mean(),find_max_fvec(),find_rms_fvec(),find_xyrms_fvec(),div_mn(),traceless_strain(),multm2_sym_mn(),update_on_gpu(),get_dxyzs(),mpiabort()
- subroutine sub/multm2_sym_mn(a, b)
Symmetric matrix squared, gives scalar.
24-aug-2011/Bourdin.KIS: adapted from multm2_mn
- Parameters:
- Called from:
max_mn(),sum_mn(),dot_mn(),vec_dot_3tensor(),matrix2linarray(),linarray2matrix(),inv2_3x3mat(),scalartripleproduct(),det3x3mat(),dot_mn_sv(),dot_mn_sv_pencil(),dot_mn_sm(),dot_mn_vm(),dot_mn_vm_trans(),dot2_mn(),dot2_mx(),dot2fj(),dyadic2(),trace_mn(),mult_matrix(),multm2_mn(),multm2_sym_mn(),multmv_mn(),invmat_db(),multsv_mn(),multsv_mn_add(),multsm_mn(),cross_mn(),cross_mixed(),gij(),gij_v_times_s(),gijl_symmetric(),grad5(),div(),div_tensor(),div_other(),div_mn(),div_mn_2tensor(),curl_mn(),curl_horizontal(),curl(),curl_other(),curli(),del2v(),del2m3x3_sym(),del2fj(),del2fi_dxjk(),d2fi_dxj(),symmetrise3x3_ut2lt(),del2v_etc(),del2vi_etc(),del4v(),del6v(),bij_tilde(),gij_etc(),g2ij(),del4(),del6(),del6_strict(),del4graddiv(),del6_other(),del6fj(),del6fjv(),u_dot_grad_mat(),nou_dot_grad_scl(),h_dot_grad_vec(),gradf_upw1st(),rdim(),read_snaptime(),update_snaptime(),shift_dt(),set_next_dt(),set_dt(),vecout(),vecout_initialize(),vecout_finalize(),despike(),smooth_kernel(),smooth(),smooth_mn(),get_smooth_kernel(),eulag_filter(),identify_bcs(),lower_triangular_index(),step_vector(),der6_step(),stepdown(),der_stepdown(),coeff_ydep(),parse_bc(),inverse_parse_bc(),parse_bc_rad(),parse_bc_radg(),parse_shell(),control_file_exists(),read_line_from_file(),get_nseed(),get_where(),write_dx_general(),write_zprof(),write_yprof(),write_xprof(),remove_prof(),blob(),blobs(),gamma_function(),tensor_diffusion_coef(),get_radial_distance(),interp1(),bspline_basis(),bspline_interpolation(),bspline_precondition(),ludcmp(),lubksb(),gij_psi(),gij_psi_etc(),location_in_proc(),xlocation(),ylocation(),zlocation(),position(),fourier_single_mode(),register_report_aux(),unit_vector(),calc_del6_for_upwind(),doupwind(),global_mean(),remove_mean(),find_max_fvec(),find_rms_fvec(),find_xyrms_fvec(),calc_slope_diff_flux(),periodic_fold_back(),calc_all_diff_fluxes(),calc_sij2()- Call to:
fatal_error(),der3(),der4(),der5(),der6(),gij(),symmetrise3x3_ut2lt(),div(),not_implemented(),del4(),del6_strict(),del6(),der4i2j(),der2i2j2k(),der5i1j(),der3i3j(),der3i2j1k(),der4i1j1k(),del6fj(),vec_dot_3tensor(),doupwind(),dot_mn(),der2_minmod(),der_upwind1st(),warning(),read_snaptime(),shift_dt(),get_smooth_kernel(),noform(),len_fmtd_expr(),error(),levi_civita(),kronecker_delta(),ylm_other(),ylm(),step_vector(),der_step(),der6_step(),stepdown(),der_stepdown(),control_file_exists(),read_line_from_file(),hypergeometric2f1(),gamma_function(),dot2_mn(),multsv_mn(),multmv_mn(),one_minus_exp(),erfunc(),interp1(),lubksb(),bspline_basis(),location_in_proc(),xlocation(),ylocation(),zlocation(),deri_3d_inds(),calc_del6_for_upwind(),global_mean(),find_max_fvec(),find_rms_fvec(),find_xyrms_fvec(),div_mn(),traceless_strain(),multm2_sym_mn(),update_on_gpu(),get_dxyzs(),mpiabort()
- subroutine sub/multmv_mn(a, b, c[, ladd])
Matrix multiplied with vector, gives vector.
C_i = A_{i,j} B_j
3-apr-01/axel+gitta: coded
24-jun-08/MR: ladd added for incremental work
- Parameters:
- Use :
- Called from:
max_mn(),sum_mn(),dot_mn(),vec_dot_3tensor(),matrix2linarray(),linarray2matrix(),inv2_3x3mat(),scalartripleproduct(),det3x3mat(),dot_mn_sv(),dot_mn_sv_pencil(),dot_mn_sm(),dot_mn_vm(),dot_mn_vm_trans(),dot2_mn(),dot2_mx(),dot2fj(),dyadic2(),trace_mn(),mult_matrix(),multm2_mn(),multm2_sym_mn(),multmv_mn(),invmat_db(),multsv_mn(),multsv_mn_add(),multsm_mn(),cross_mn(),cross_mixed(),gij(),gij_v_times_s(),gijl_symmetric(),grad5(),div(),div_tensor(),div_other(),div_mn(),div_mn_2tensor(),curl_mn(),curl_horizontal(),curl(),curl_other(),curli(),del2v(),del2m3x3_sym(),del2fj(),del2fi_dxjk(),d2fi_dxj(),symmetrise3x3_ut2lt(),del2v_etc(),del2vi_etc(),del4v(),del6v(),bij_tilde(),gij_etc(),g2ij(),del4(),del6(),del6_strict(),del4graddiv(),del6_other(),del6fj(),del6fjv(),u_dot_grad_mat(),nou_dot_grad_scl(),h_dot_grad_vec(),gradf_upw1st(),rdim(),read_snaptime(),update_snaptime(),shift_dt(),set_next_dt(),set_dt(),vecout(),vecout_initialize(),vecout_finalize(),despike(),smooth_kernel(),smooth(),smooth_mn(),get_smooth_kernel(),eulag_filter(),identify_bcs(),lower_triangular_index(),step_vector(),der6_step(),stepdown(),der_stepdown(),coeff_ydep(),parse_bc(),inverse_parse_bc(),parse_bc_rad(),parse_bc_radg(),parse_shell(),control_file_exists(),read_line_from_file(),get_nseed(),get_where(),write_dx_general(),write_zprof(),write_yprof(),write_xprof(),remove_prof(),blob(),blobs(),gamma_function(),tensor_diffusion_coef()- Call to:
fatal_error(),der3(),der4(),der5(),der6(),gij(),symmetrise3x3_ut2lt(),div(),not_implemented(),del4(),del6_strict(),del6(),der4i2j(),der2i2j2k(),der5i1j(),der3i3j(),der3i2j1k(),der4i1j1k(),del6fj(),vec_dot_3tensor(),doupwind(),dot_mn(),der2_minmod(),der_upwind1st(),warning(),read_snaptime(),shift_dt(),get_smooth_kernel(),noform(),len_fmtd_expr(),error(),levi_civita(),kronecker_delta(),ylm_other(),ylm(),step_vector(),der_step(),der6_step(),stepdown(),der_stepdown(),control_file_exists(),read_line_from_file(),hypergeometric2f1(),gamma_function(),dot2_mn(),multsv_mn(),multmv_mn(),one_minus_exp(),erfunc(),interp1(),lubksb(),bspline_basis(),location_in_proc(),xlocation(),ylocation(),zlocation(),deri_3d_inds(),calc_del6_for_upwind(),global_mean(),find_max_fvec(),find_rms_fvec(),find_xyrms_fvec(),div_mn(),traceless_strain(),multm2_sym_mn(),update_on_gpu(),get_dxyzs(),mpiabort()
- subroutine sub/invmat_db(d, b, mat)
Invert Mij = (delij*(D+B^2) - Bi*Bj
- Parameters:
- Call to:
fatal_error(),der3(),der4(),der5(),der6(),gij(),symmetrise3x3_ut2lt(),div(),not_implemented(),del4(),del6_strict(),del6(),der4i2j(),der2i2j2k(),der5i1j(),der3i3j(),der3i2j1k(),der4i1j1k(),del6fj(),vec_dot_3tensor(),doupwind(),dot_mn(),der2_minmod(),der_upwind1st(),warning(),read_snaptime(),shift_dt(),get_smooth_kernel(),noform(),len_fmtd_expr(),error(),levi_civita(),kronecker_delta(),ylm_other(),ylm(),step_vector(),der_step(),der6_step(),stepdown(),der_stepdown(),control_file_exists(),read_line_from_file(),hypergeometric2f1(),gamma_function(),dot2_mn(),multsv_mn(),multmv_mn(),one_minus_exp(),erfunc(),interp1(),lubksb(),bspline_basis(),location_in_proc(),xlocation(),ylocation(),zlocation(),deri_3d_inds(),calc_del6_for_upwind(),global_mean(),find_max_fvec(),find_rms_fvec(),find_xyrms_fvec(),div_mn(),traceless_strain(),multm2_sym_mn(),update_on_gpu(),get_dxyzs(),mpiabort()
- subroutine sub/multsv_mn(a, b, c)
Vector multiplied with scalar, gives vector.
22-nov-01/nils erland: coded 10-oct-03/axel: a is now the scalar (now consistent with old routines) 24-jun-08/MR: ladd added for incremental work 28-feb-10/bing: removed ladd keyword, use multsv_mn_add instead
- Parameters:
- Called from:
register_magnetic(),initialize_magnetic(),init_aa(),pencil_criteria_magnetic(),pencil_interdep_magnetic(),update_char_vel_magnetic(),initialize_power_spectrum(),read_power_spectrum_run_pars(),write_power_spectrum_run_pars(),power(),crossspec(),power_2d(),power_xy(),powerhel(),powerlor(),poweromu(),poweremf(),powertra(),register_viscosity(),initialize_viscosity(),read_viscosity_run_pars(),write_viscosity_run_pars(),rprint_viscosity(),pencil_criteria_viscosity(),pencil_interdep_viscosity(),calc_pencils_viscosity(),calc_pencils_magnetic(),max_mn(),sum_mn(),dot_mn(),vec_dot_3tensor(),matrix2linarray(),linarray2matrix(),inv2_3x3mat(),scalartripleproduct(),det3x3mat(),dot_mn_sv(),dot_mn_sv_pencil(),dot_mn_sm(),dot_mn_vm(),dot_mn_vm_trans(),dot2_mn(),dot2_mx(),dot2fj(),dyadic2(),trace_mn(),mult_matrix(),multm2_mn(),multm2_sym_mn(),multmv_mn(),invmat_db(),multsv_mn(),multsv_mn_add(),multsm_mn(),cross_mn(),cross_mixed(),gij(),gij_v_times_s(),gijl_symmetric(),grad5(),div(),div_tensor(),div_other(),div_mn(),div_mn_2tensor(),curl_mn(),curl_horizontal(),curl(),curl_other(),curli(),del2v(),del2m3x3_sym(),del2fj(),del2fi_dxjk(),d2fi_dxj(),symmetrise3x3_ut2lt(),del2v_etc(),del2vi_etc(),del4v(),del6v(),bij_tilde(),gij_etc(),g2ij(),del4(),del6(),del6_strict(),del4graddiv(),del6_other(),del6fj(),del6fjv(),u_dot_grad_mat(),nou_dot_grad_scl(),h_dot_grad_vec(),gradf_upw1st(),rdim(),read_snaptime(),update_snaptime(),shift_dt(),set_next_dt(),set_dt(),vecout(),vecout_initialize(),vecout_finalize(),despike(),smooth_kernel(),smooth(),smooth_mn(),get_smooth_kernel(),eulag_filter(),identify_bcs(),lower_triangular_index(),step_vector(),der6_step(),stepdown(),der_stepdown(),coeff_ydep(),parse_bc(),inverse_parse_bc(),parse_bc_rad(),parse_bc_radg(),parse_shell(),control_file_exists(),read_line_from_file(),get_nseed(),get_where(),write_dx_general(),write_zprof(),write_yprof(),write_xprof(),remove_prof(),blob(),blobs(),gamma_function(),tensor_diffusion_coef()- Call to:
fatal_error(),der3(),der4(),der5(),der6(),gij(),symmetrise3x3_ut2lt(),div(),not_implemented(),del4(),del6_strict(),del6(),der4i2j(),der2i2j2k(),der5i1j(),der3i3j(),der3i2j1k(),der4i1j1k(),del6fj(),vec_dot_3tensor(),doupwind(),dot_mn(),der2_minmod(),der_upwind1st(),warning(),read_snaptime(),shift_dt(),get_smooth_kernel(),noform(),len_fmtd_expr(),error(),levi_civita(),kronecker_delta(),ylm_other(),ylm(),step_vector(),der_step(),der6_step(),stepdown(),der_stepdown(),control_file_exists(),read_line_from_file(),hypergeometric2f1(),gamma_function(),dot2_mn(),multsv_mn(),multmv_mn(),one_minus_exp(),erfunc(),interp1(),lubksb(),bspline_basis(),location_in_proc(),xlocation(),ylocation(),zlocation(),deri_3d_inds(),calc_del6_for_upwind(),global_mean(),find_max_fvec(),find_rms_fvec(),find_xyrms_fvec(),div_mn(),traceless_strain(),multm2_sym_mn(),update_on_gpu(),get_dxyzs(),mpiabort()
- subroutine sub/multsv_mn_add(a, b, c)
Vector multiplied with scalar, gives vector. Unfortunately, this has almost the same name as the next one: multsv_add_mn
22-nov-01/nils erland: coded 10-oct-03/axel: a is now the scalar (now consistent with old routines) 24-jun-08/MR: ladd added for incremental work
- Parameters:
- 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(),register_viscosity(),initialize_viscosity(),read_viscosity_run_pars(),write_viscosity_run_pars(),rprint_viscosity(),pencil_criteria_viscosity(),pencil_interdep_viscosity(),calc_pencils_viscosity()- Call to:
fatal_error(),der3(),der4(),der5(),der6(),gij(),symmetrise3x3_ut2lt(),div(),not_implemented(),del4(),del6_strict(),del6(),der4i2j(),der2i2j2k(),der5i1j(),der3i3j(),der3i2j1k(),der4i1j1k(),del6fj(),vec_dot_3tensor(),doupwind(),dot_mn(),der2_minmod(),der_upwind1st(),warning(),read_snaptime(),shift_dt(),get_smooth_kernel(),noform(),len_fmtd_expr(),error(),levi_civita(),kronecker_delta(),ylm_other(),ylm(),step_vector(),der_step(),der6_step(),stepdown(),der_stepdown(),control_file_exists(),read_line_from_file(),hypergeometric2f1(),gamma_function(),dot2_mn(),multsv_mn(),multmv_mn(),one_minus_exp(),erfunc(),interp1(),lubksb(),bspline_basis(),location_in_proc(),xlocation(),ylocation(),zlocation(),deri_3d_inds(),calc_del6_for_upwind(),global_mean(),find_max_fvec(),find_rms_fvec(),find_xyrms_fvec(),div_mn(),traceless_strain(),multm2_sym_mn(),update_on_gpu(),get_dxyzs(),mpiabort()
- subroutine sub/multsm_mn(a, b, c)
Matrix multiplied with scalar, gives matrix.
25-jun-22/axel: adapted from multsv_mn
- Parameters:
- Call to:
fatal_error(),der3(),der4(),der5(),der6(),gij(),symmetrise3x3_ut2lt(),div(),not_implemented(),del4(),del6_strict(),del6(),der4i2j(),der2i2j2k(),der5i1j(),der3i3j(),der3i2j1k(),der4i1j1k(),del6fj(),vec_dot_3tensor(),doupwind(),dot_mn(),der2_minmod(),der_upwind1st(),warning(),read_snaptime(),shift_dt(),get_smooth_kernel(),noform(),len_fmtd_expr(),error(),levi_civita(),kronecker_delta(),ylm_other(),ylm(),step_vector(),der_step(),der6_step(),stepdown(),der_stepdown(),control_file_exists(),read_line_from_file(),hypergeometric2f1(),gamma_function(),dot2_mn(),multsv_mn(),multmv_mn(),one_minus_exp(),erfunc(),interp1(),lubksb(),bspline_basis(),location_in_proc(),xlocation(),ylocation(),zlocation(),deri_3d_inds(),calc_del6_for_upwind(),global_mean(),find_max_fvec(),find_rms_fvec(),find_xyrms_fvec(),div_mn(),traceless_strain(),multm2_sym_mn(),update_on_gpu(),get_dxyzs(),mpiabort()
- subroutine sub/cross_mn(a, b, c)
Cross product, c = a x b, for pencil variables. Previously called crossp.
- Parameters:
- Called from:
register_magnetic(),initialize_magnetic(),init_aa(),pencil_criteria_magnetic(),pencil_interdep_magnetic(),daa_dt(),time_integrals_magnetic(),df_diagnos_magnetic(),update_char_vel_magnetic(),set_ambipolar_diffusion(),diamagnetism(),read_testperturb_init_pars(),write_testperturb_init_pars(),register_testfield(),initialize_testfield(),init_aatest(),pencil_criteria_testfield(),pencil_interdep_testfield(),read_testfield_init_pars(),write_testfield_init_pars(),read_testfield_run_pars(),write_testfield_run_pars(),daatest_dt(),get_slices_testfield(),testfield_before_boundary(),testfield_after_boundary(),initialize_power_spectrum(),read_power_spectrum_run_pars(),write_power_spectrum_run_pars(),power(),crossspec(),power_2d(),power_xy(),powerhel(),powerlor(),poweromu(),poweremf(),powertra(),powergws(),powerscl(),power_1d(),pdf(),pdf_2d(),pdf1d_ang(),power_phi(),powerhel_phi(),power_vec(),polar_spectrum(),power1d_plane(),power_cor(),power_cor_scl(),quadratic_invariants(),power_fft3d_vec(),power_transfer_mag(),calc_pencils_magnetic(),initialize_testfield_general(),calc_uxb(),calc_diffusive_part(),calc_diffusive_part_prof_0d(),calc_diffusive_part_prof_1d(),calc_inverse_matrix(),calc_coefficients(),diagnos_interdep(),rhs_daatest()- Call to:
fatal_error(),der3(),der4(),der5(),der6(),gij(),symmetrise3x3_ut2lt(),div(),not_implemented(),del4(),del6_strict(),del6(),der4i2j(),der2i2j2k(),der5i1j(),der3i3j(),der3i2j1k(),der4i1j1k(),del6fj(),vec_dot_3tensor(),doupwind(),dot_mn(),der2_minmod(),der_upwind1st(),warning(),read_snaptime(),shift_dt(),get_smooth_kernel(),noform(),len_fmtd_expr(),error(),levi_civita(),kronecker_delta(),ylm_other(),ylm(),step_vector(),der_step(),der6_step(),stepdown(),der_stepdown(),control_file_exists(),read_line_from_file(),hypergeometric2f1(),gamma_function(),dot2_mn(),multsv_mn(),multmv_mn(),one_minus_exp(),erfunc(),interp1(),lubksb(),bspline_basis(),location_in_proc(),xlocation(),ylocation(),zlocation(),deri_3d_inds(),calc_del6_for_upwind(),global_mean(),find_max_fvec(),find_rms_fvec(),find_xyrms_fvec(),div_mn(),traceless_strain(),multm2_sym_mn(),update_on_gpu(),get_dxyzs(),mpiabort()
- subroutine sub/cross_mixed(a, b, c)
Cross product, c = a x b, of a pencil and a non-pencil variable.
17-apr-2015/MR: coded
- Parameters:
- Call to:
fatal_error(),der3(),der4(),der5(),der6(),gij(),symmetrise3x3_ut2lt(),div(),not_implemented(),del4(),del6_strict(),del6(),der4i2j(),der2i2j2k(),der5i1j(),der3i3j(),der3i2j1k(),der4i1j1k(),del6fj(),vec_dot_3tensor(),doupwind(),dot_mn(),der2_minmod(),der_upwind1st(),warning(),read_snaptime(),shift_dt(),get_smooth_kernel(),noform(),len_fmtd_expr(),error(),levi_civita(),kronecker_delta(),ylm_other(),ylm(),step_vector(),der_step(),der6_step(),stepdown(),der_stepdown(),control_file_exists(),read_line_from_file(),hypergeometric2f1(),gamma_function(),dot2_mn(),multsv_mn(),multmv_mn(),one_minus_exp(),erfunc(),interp1(),lubksb(),bspline_basis(),location_in_proc(),xlocation(),ylocation(),zlocation(),deri_3d_inds(),calc_del6_for_upwind(),global_mean(),find_max_fvec(),find_rms_fvec(),find_xyrms_fvec(),div_mn(),traceless_strain(),multm2_sym_mn(),update_on_gpu(),get_dxyzs(),mpiabort()
- subroutine sub/gij(f, k, g, nder[, ignoredx])
Calculate gradient of a vector, return matrix.
3-apr-01/axel+gitta: coded
- Parameters:
f (,,*,*) [real,in,contiguous] :: /Hp_ini**2
k [integer,in] :: Over the range of fields
g (nx,3,3) [real,out]
nder [integer]
ignoredx [logical]
- Use :
deriv(der(),der2(),der3(),der4(),der5(),der6()),general(loptest())- Called from:
register_magnetic(),initialize_magnetic(),init_aa(),pencil_criteria_magnetic(),pencil_interdep_magnetic(),calculate_vars_magnetic(),update_char_vel_magnetic(),set_border_neutralvelocity(),calc_viscous_force_neutral(),register_shock(),initialize_shock(),read_shock_run_pars(),write_shock_run_pars(),rprint_shock(),get_slices_shock(),pencil_criteria_shock(),pencil_interdep_shock(),calc_pencils_shock(),calc_shock_profile_simple(),calc_shock_profile(),time_step(),register_testfield(),initialize_testfield(),init_aatest(),pencil_criteria_testfield(),pencil_interdep_testfield(),read_testfield_init_pars(),write_testfield_init_pars(),read_testfield_run_pars(),write_testfield_run_pars(),daatest_dt(),get_slices_testfield(),testfield_before_boundary(),testfield_after_boundary(),register_particles_grad(),initialize_particles_grad(),pencil_criteria_par_grad(),set_particle_grad(),initialize_power_spectrum(),read_power_spectrum_run_pars(),write_power_spectrum_run_pars(),power(),crossspec(),power_2d(),power_xy(),powerhel(),powerlor(),poweromu(),poweremf(),powertra(),powergws(),powerscl(),power_1d(),pdf(),pdf_2d(),pdf1d_ang(),power_phi(),powerhel_phi(),power_vec(),polar_spectrum(),power1d_plane(),power_cor(),power_cor_scl(),quadratic_invariants(),power_fft3d_vec(),power_transfer_mag(),calc_diagnostics_shock(),shock_before_boundary(),special_calc_hydro(),special_calc_density(),special_calc_dustdensity(),special_calc_energy(),special_calc_magnetic(),special_calc_pscalar(),special_calc_particles(),special_calc_chemistry(),special_before_boundary(),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(),register_viscosity(),initialize_viscosity(),read_viscosity_run_pars(),write_viscosity_run_pars(),rprint_viscosity(),pencil_criteria_viscosity(),pencil_interdep_viscosity(),calc_pencils_viscosity(),viscosity_after_boundary(),calc_pencils_magnetic(),max_mn(),sum_mn(),dot_mn(),vec_dot_3tensor(),matrix2linarray(),linarray2matrix(),inv2_3x3mat(),scalartripleproduct(),det3x3mat(),dot_mn_sv(),dot_mn_sv_pencil(),dot_mn_sm(),dot_mn_vm(),dot_mn_vm_trans(),dot2_mn(),dot2_mx(),dot2fj(),dyadic2(),dyadic2_other(),trace_mn(),mult_matrix(),multm2_mn(),multm2_sym_mn(),multmv_mn(),invmat_db(),multsv_mn(),multsv_mn_add(),multsm_mn(),cross_mn(),cross_mixed(),gij(),gij_v_times_s(),gijl_symmetric(),grad5(),div(),div_tensor(),div_other(),div_mn(),div_mn_2tensor(),curl_mn(),curl_horizontal(),curl(),curl_other(),curli(),del2v(),del2m3x3_sym(),del2fj(),del2fi_dxjk(),d2fi_dxj(),symmetrise3x3_ut2lt(),del2v_etc(),del2vi_etc(),del4v(),del6v(),bij_tilde(),gij_etc(),g2ij(),del4(),del6(),del6_strict(),del4graddiv(),del6_other(),del6fj(),del6fjv(),u_dot_grad_mat(),nou_dot_grad_scl(),h_dot_grad_vec(),gradf_upw1st(),rdim(),read_snaptime(),update_snaptime(),shift_dt(),set_next_dt(),set_dt(),vecout(),vecout_initialize(),vecout_finalize(),despike(),smooth_kernel(),smooth(),smooth_mn(),get_smooth_kernel(),eulag_filter(),identify_bcs(),lower_triangular_index(),step_vector(),der6_step(),stepdown(),der_stepdown(),coeff_ydep(),parse_bc(),inverse_parse_bc(),parse_bc_rad(),parse_bc_radg(),parse_shell(),control_file_exists(),read_line_from_file(),get_nseed(),get_where(),write_dx_general(),write_zprof(),write_yprof(),write_xprof(),remove_prof(),blob(),blobs(),gamma_function(),tensor_diffusion_coef(),get_radial_distance(),interp1(),bspline_basis(),bspline_interpolation(),bspline_precondition(),ludcmp(),lubksb(),gij_psi(),gij_psi_etc(),location_in_proc(),xlocation(),ylocation(),zlocation(),position(),fourier_single_mode(),register_report_aux(),unit_vector(),calc_del6_for_upwind(),doupwind(),global_mean(),remove_mean(),find_max_fvec(),find_rms_fvec(),find_xyrms_fvec(),calc_slope_diff_flux(),periodic_fold_back(),calc_all_diff_fluxes(),calc_sij2(),initialize_testfield_general(),calc_uxb(),calc_diffusive_part(),initialize_timestep()- Call to:
fatal_error(),der3(),der4(),der5(),der6(),gij(),symmetrise3x3_ut2lt(),div(),not_implemented(),del4(),del6_strict(),del6(),der4i2j(),der2i2j2k(),der5i1j(),der3i3j(),der3i2j1k(),der4i1j1k(),del6fj(),vec_dot_3tensor(),doupwind(),dot_mn(),der2_minmod(),der_upwind1st(),warning(),read_snaptime(),shift_dt(),get_smooth_kernel(),noform(),len_fmtd_expr(),error(),levi_civita(),kronecker_delta(),ylm_other(),ylm(),step_vector(),der_step(),der6_step(),stepdown(),der_stepdown(),control_file_exists(),read_line_from_file(),hypergeometric2f1(),gamma_function(),dot2_mn(),multsv_mn(),multmv_mn(),one_minus_exp(),erfunc(),interp1(),lubksb(),bspline_basis(),location_in_proc(),xlocation(),ylocation(),zlocation(),deri_3d_inds(),calc_del6_for_upwind(),global_mean(),find_max_fvec(),find_rms_fvec(),find_xyrms_fvec(),div_mn(),traceless_strain(),multm2_sym_mn(),update_on_gpu(),get_dxyzs(),mpiabort()
- subroutine sub/gij_v_times_s(f, k_v, k_s, g)
Calculate gradient of a vector times scalar, return matrix.
28-aug-26/TP: coded
- Parameters:
f (,,*,*) [real,contiguous] :: /Hp_ini**2
k_v [integer]
k_s [integer]
g (nx,3,3) [real]
- Called from:
register_viscosity(),initialize_viscosity(),read_viscosity_run_pars(),write_viscosity_run_pars(),rprint_viscosity(),pencil_criteria_viscosity(),pencil_interdep_viscosity(),calc_pencils_viscosity(),viscosity_after_boundary()- Call to:
gij(),symmetrise3x3_ut2lt(),der5(),fatal_error(),div(),not_implemented(),del4(),del6_strict(),del6(),der4(),der6(),der4i2j(),der2i2j2k(),der5i1j(),der3i3j(),der3i2j1k(),der4i1j1k(),del6fj(),vec_dot_3tensor(),doupwind(),dot_mn(),der2_minmod(),der_upwind1st(),warning(),read_snaptime(),shift_dt(),get_smooth_kernel(),noform(),len_fmtd_expr(),error(),levi_civita(),kronecker_delta(),ylm_other(),ylm(),step_vector(),der_step(),der6_step(),stepdown(),der_stepdown(),control_file_exists(),read_line_from_file(),hypergeometric2f1(),gamma_function(),dot2_mn(),multsv_mn(),multmv_mn(),one_minus_exp(),erfunc(),interp1(),lubksb(),bspline_basis(),location_in_proc(),xlocation(),ylocation(),zlocation(),deri_3d_inds(),calc_del6_for_upwind(),global_mean(),find_max_fvec(),find_rms_fvec(),find_xyrms_fvec(),div_mn(),traceless_strain(),multm2_sym_mn(),update_on_gpu(),get_dxyzs(),mpiabort()
- subroutine sub/gijl_symmetric(f, k, gijl)
Calculate gradient of a (symmetric) second rank matrix, return 3rd rank matrix
18-aug-08/dhruba: coded
- Parameters:
f (,,*,*) [real,in,contiguous] :: /Hp_ini**2
k [integer,in] :: Over the range of fields
gijl (nx,3,3,3) [real,out]
- Use :
- Called from:
register_polymer(),initialize_polymer(),init_poly(),pencil_criteria_polymer(),pencil_interdep_polymer(),calc_pencils_polymer()- Call to:
symmetrise3x3_ut2lt(),der5(),fatal_error(),div(),not_implemented(),del4(),del6_strict(),del6(),der4(),der6(),der4i2j(),der2i2j2k(),der5i1j(),der3i3j(),der3i2j1k(),der4i1j1k(),del6fj(),vec_dot_3tensor(),doupwind(),dot_mn(),der2_minmod(),der_upwind1st(),warning(),read_snaptime(),shift_dt(),get_smooth_kernel(),noform(),len_fmtd_expr(),error(),levi_civita(),kronecker_delta(),ylm_other(),ylm(),step_vector(),der_step(),der6_step(),stepdown(),der_stepdown(),control_file_exists(),read_line_from_file(),hypergeometric2f1(),gamma_function(),dot2_mn(),multsv_mn(),multmv_mn(),one_minus_exp(),erfunc(),interp1(),lubksb(),bspline_basis(),location_in_proc(),xlocation(),ylocation(),zlocation(),deri_3d_inds(),calc_del6_for_upwind(),global_mean(),find_max_fvec(),find_rms_fvec(),find_xyrms_fvec(),gij(),div_mn(),traceless_strain(),multm2_sym_mn(),update_on_gpu(),get_dxyzs(),mpiabort()
- subroutine sub/grad5(f, k, g)
Calculate 5th order gradient of a scalar, get vector.
03-jun-07/anders: adapted
- Parameters:
f (,,*,*) [real,in,contiguous] :: /Hp_ini**2
k [integer,in] :: Over the range of fields
g (nx,3) [real,out]
- Use :
- Called from:
register_pscalar(),initialize_pscalar(),init_lncc(),pencil_criteria_pscalar(),pencil_interdep_pscalar(),calc_pencils_pscalar()- Call to:
der5(),fatal_error(),div(),not_implemented(),symmetrise3x3_ut2lt(),del4(),del6_strict(),del6(),der4(),der6(),der4i2j(),der2i2j2k(),der5i1j(),der3i3j(),der3i2j1k(),der4i1j1k(),del6fj(),vec_dot_3tensor(),doupwind(),dot_mn(),der2_minmod(),der_upwind1st(),warning(),read_snaptime(),shift_dt(),get_smooth_kernel(),noform(),len_fmtd_expr(),error(),levi_civita(),kronecker_delta(),ylm_other(),ylm(),step_vector(),der_step(),der6_step(),stepdown(),der_stepdown(),control_file_exists(),read_line_from_file(),hypergeometric2f1(),gamma_function(),dot2_mn(),multsv_mn(),multmv_mn(),one_minus_exp(),erfunc(),interp1(),lubksb(),bspline_basis(),location_in_proc(),xlocation(),ylocation(),zlocation(),deri_3d_inds(),calc_del6_for_upwind(),global_mean(),find_max_fvec(),find_rms_fvec(),find_xyrms_fvec(),gij(),div_mn(),traceless_strain(),multm2_sym_mn(),update_on_gpu(),get_dxyzs(),mpiabort()
- subroutine sub/div(f, k, g[, ldiff_fluxes[, inds]])
Calculate divergence of vector, get scalar.
13-dec-01/nils: coded 16-jul-02/nils: adapted from pencil_mpi 31-aug-07/wlad: adapted for cylindrical and spherical coords 28-sep-15/Joern+MR: adapted to use for slope-limited diffusive
flux given on a staggered grid. Here the vector field v is stored in
- Parameters:
f (,,*,*) [real,in,contiguous] ::
- /Hp_ini**2
the components in the degenerate directions are missing, and the existing components are always stored in ascending order, e.g., [v_x,v_z] or [v_y,v_z].
16-nov-16/MR: modifications for non-Cartesian coordinates.
k [integer,in] :: Over the range of fields
g (nx) [real,out]
ldiff_fluxes [logical,in,]
inds (3) [integer]
- Use :
- Called from:
register_density(),initialize_density(),init_lnrho(),density_before_boundary(),pencil_criteria_density(),pencil_interdep_density(),density_after_boundary(),dlnrho_dt(),impose_density_floor(),read_density_init_pars(),write_density_init_pars(),read_density_run_pars(),write_density_run_pars(),rprint_density(),get_slices_density(),get_slices_pressure(),get_init_average_density(),calc_pencils_density(),update_char_vel_magnetic(),set_ambipolar_diffusion(),diamagnetism(),register_shock(),initialize_shock(),read_shock_run_pars(),write_shock_run_pars(),rprint_shock(),get_slices_shock(),pencil_criteria_shock(),pencil_interdep_shock(),calc_pencils_shock(),calc_shock_profile(),initialize_power_spectrum(),read_power_spectrum_run_pars(),write_power_spectrum_run_pars(),power(),crossspec(),power_2d(),power_xy(),powerhel(),powerlor(),poweromu(),poweremf(),powertra(),powergws(),powerscl(),register_radiation(),radtransfer(),initialize_radiation(),init_rad(),pencil_criteria_radiation(),pencil_interdep_radiation(),calc_pencils_radiation(),calc_diagnostics_shock(),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(),anelastic_after_mn(),radiative_cooling(),radiative_pressure(),de_dt(),max_mn(),sum_mn(),dot_mn(),vec_dot_3tensor(),matrix2linarray(),linarray2matrix(),inv2_3x3mat(),scalartripleproduct(),det3x3mat(),dot_mn_sv(),dot_mn_sv_pencil(),dot_mn_sm(),dot_mn_vm(),dot_mn_vm_trans(),dot2_mn(),dot2_mx(),dot2fj(),dyadic2(),dyadic2_other(),trace_mn(),mult_matrix(),multm2_mn(),multm2_sym_mn(),multmv_mn(),invmat_db(),multsv_mn(),multsv_mn_add(),multsm_mn(),cross_mn(),cross_mixed(),gij(),gij_v_times_s(),gijl_symmetric(),grad5(),div(),div_tensor()- Call to:
fatal_error(),div(),not_implemented(),symmetrise3x3_ut2lt(),del4(),del6_strict(),del6(),der4(),der6(),der4i2j(),der2i2j2k(),der5i1j(),der3i3j(),der3i2j1k(),der4i1j1k(),del6fj(),vec_dot_3tensor(),doupwind(),dot_mn(),der2_minmod(),der_upwind1st(),warning(),read_snaptime(),shift_dt(),get_smooth_kernel(),noform(),len_fmtd_expr(),error(),levi_civita(),kronecker_delta(),ylm_other(),ylm(),step_vector(),der_step(),der6_step(),stepdown(),der_stepdown(),control_file_exists(),read_line_from_file(),hypergeometric2f1(),gamma_function(),dot2_mn(),multsv_mn(),multmv_mn(),one_minus_exp(),erfunc(),interp1(),lubksb(),bspline_basis(),location_in_proc(),xlocation(),ylocation(),zlocation(),deri_3d_inds(),calc_del6_for_upwind(),global_mean(),find_max_fvec(),find_rms_fvec(),find_xyrms_fvec(),gij(),div_mn(),traceless_strain(),multm2_sym_mn(),update_on_gpu(),get_dxyzs(),mpiabort()
- subroutine sub/div_tensor(f, divergence, itensor)
Calculates the divergence of a symmetric tensor Assumes the tensor is symmetric and that indices are in the following increasing order: :p integer itensor [in]: xx,yy,zz,xy,xz,yz
- Parameters:
f (,,*,*) [real,in,contiguous] :: /Hp_ini**2
divergence (nx,3) [real,out]
- Called from:
initialize_training(),register_training(),read_training_run_pars(),write_training_run_pars(),training_after_boundary(),dtraining_dt(),register_viscosity(),initialize_viscosity(),read_viscosity_run_pars(),write_viscosity_run_pars(),rprint_viscosity(),pencil_criteria_viscosity(),pencil_interdep_viscosity(),calc_pencils_viscosity()- Call to:
div(),not_implemented(),fatal_error(),symmetrise3x3_ut2lt(),del4(),del6_strict(),del6(),der4(),der6(),der4i2j(),der2i2j2k(),der5i1j(),der3i3j(),der3i2j1k(),der4i1j1k(),del6fj(),vec_dot_3tensor(),doupwind(),dot_mn(),der2_minmod(),der_upwind1st(),warning(),read_snaptime(),shift_dt(),get_smooth_kernel(),noform(),len_fmtd_expr(),error(),levi_civita(),kronecker_delta(),ylm_other(),ylm(),step_vector(),der_step(),der6_step(),stepdown(),der_stepdown(),control_file_exists(),read_line_from_file(),hypergeometric2f1(),gamma_function(),dot2_mn(),multsv_mn(),multmv_mn(),one_minus_exp(),erfunc(),interp1(),lubksb(),bspline_basis(),location_in_proc(),xlocation(),ylocation(),zlocation(),deri_3d_inds(),calc_del6_for_upwind(),global_mean(),find_max_fvec(),find_rms_fvec(),find_xyrms_fvec(),gij(),div_mn(),traceless_strain(),multm2_sym_mn(),update_on_gpu(),get_dxyzs(),mpiabort()
- subroutine sub/div_other(f, g)
- Parameters:
- Use :
- Called from:
initialize_testfield_general(),calc_uxb(),calc_diffusive_part()- Call to:
not_implemented(),fatal_error(),symmetrise3x3_ut2lt(),del4(),del6_strict(),del6(),der4(),der6(),der4i2j(),der2i2j2k(),der5i1j(),der3i3j(),der3i2j1k(),der4i1j1k(),del6fj(),vec_dot_3tensor(),doupwind(),dot_mn(),der2_minmod(),der_upwind1st(),warning(),read_snaptime(),shift_dt(),get_smooth_kernel(),noform(),len_fmtd_expr(),error(),levi_civita(),kronecker_delta(),ylm_other(),ylm(),step_vector(),der_step(),der6_step(),stepdown(),der_stepdown(),control_file_exists(),read_line_from_file(),hypergeometric2f1(),gamma_function(),dot2_mn(),multsv_mn(),multmv_mn(),one_minus_exp(),erfunc(),interp1(),lubksb(),bspline_basis(),location_in_proc(),xlocation(),ylocation(),zlocation(),deri_3d_inds(),calc_del6_for_upwind(),global_mean(),find_max_fvec(),find_rms_fvec(),find_xyrms_fvec(),gij(),div_mn(),traceless_strain(),multm2_sym_mn(),update_on_gpu(),get_dxyzs(),mpiabort()
- subroutine sub/div_mn(aij, b, a)
Calculate divergence from derivative matrix.
18-sep-04/axel: coded 21-feb-07/axel: corrected spherical coordinates 14-mar-07/wlad: added cylindrical coordinates
- Parameters:
- Called from:
register_magnetic(),initialize_magnetic(),init_aa(),pencil_criteria_magnetic(),pencil_interdep_magnetic(),update_char_vel_magnetic(),initialize_power_spectrum(),read_power_spectrum_run_pars(),write_power_spectrum_run_pars(),power(),crossspec(),power_2d(),power_xy(),powerhel(),powerlor(),poweromu(),poweremf(),powertra(),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(),calc_pencils_magnetic(),max_mn(),sum_mn(),dot_mn(),vec_dot_3tensor(),matrix2linarray(),linarray2matrix(),inv2_3x3mat(),scalartripleproduct(),det3x3mat(),dot_mn_sv(),dot_mn_sv_pencil(),dot_mn_sm(),dot_mn_vm(),dot_mn_vm_trans(),dot2_mn(),dot2_mx(),dot2fj(),dyadic2(),trace_mn(),mult_matrix(),multm2_mn(),multm2_sym_mn(),multmv_mn(),invmat_db(),multsv_mn(),multsv_mn_add(),multsm_mn(),cross_mn(),cross_mixed(),gij(),gij_v_times_s(),gijl_symmetric(),grad5(),div(),div_tensor(),div_other(),div_mn(),div_mn_2tensor(),curl_mn(),curl_horizontal(),curl(),curl_other(),curli(),del2v(),del2m3x3_sym(),del2fj(),del2fi_dxjk(),d2fi_dxj(),symmetrise3x3_ut2lt(),del2v_etc(),del2vi_etc(),del4v(),del6v(),bij_tilde(),gij_etc(),g2ij(),del4(),del6(),del6_strict(),del4graddiv(),del6_other(),del6fj(),del6fjv(),u_dot_grad_mat(),nou_dot_grad_scl(),h_dot_grad_vec(),gradf_upw1st(),rdim(),read_snaptime(),update_snaptime(),shift_dt(),set_next_dt(),set_dt(),vecout(),vecout_initialize(),vecout_finalize(),despike(),smooth_kernel(),smooth(),smooth_mn(),get_smooth_kernel(),eulag_filter(),identify_bcs(),lower_triangular_index(),step_vector(),der6_step(),stepdown(),der_stepdown(),coeff_ydep(),parse_bc(),inverse_parse_bc(),parse_bc_rad(),parse_bc_radg(),parse_shell(),control_file_exists(),read_line_from_file(),get_nseed(),get_where(),write_dx_general(),write_zprof(),write_yprof(),write_xprof(),remove_prof(),blob(),blobs(),gamma_function(),tensor_diffusion_coef(),get_radial_distance(),interp1(),bspline_basis(),bspline_interpolation(),bspline_precondition(),ludcmp(),lubksb(),gij_psi(),gij_psi_etc(),location_in_proc(),xlocation(),ylocation(),zlocation(),position(),fourier_single_mode(),register_report_aux(),unit_vector(),calc_del6_for_upwind(),doupwind(),global_mean(),remove_mean(),find_max_fvec(),find_rms_fvec(),find_xyrms_fvec(),calc_slope_diff_flux(),periodic_fold_back(),calc_all_diff_fluxes(),calc_sij2(),initialize_testfield_general(),calc_uxb(),calc_diffusive_part()- Call to:
not_implemented(),fatal_error(),symmetrise3x3_ut2lt(),del4(),del6_strict(),del6(),der4(),der6(),der4i2j(),der2i2j2k(),der5i1j(),der3i3j(),der3i2j1k(),der4i1j1k(),del6fj(),vec_dot_3tensor(),doupwind(),dot_mn(),der2_minmod(),der_upwind1st(),warning(),read_snaptime(),shift_dt(),get_smooth_kernel(),noform(),len_fmtd_expr(),error(),levi_civita(),kronecker_delta(),ylm_other(),ylm(),step_vector(),der_step(),der6_step(),stepdown(),der_stepdown(),control_file_exists(),read_line_from_file(),hypergeometric2f1(),gamma_function(),dot2_mn(),multsv_mn(),multmv_mn(),one_minus_exp(),erfunc(),interp1(),lubksb(),bspline_basis(),location_in_proc(),xlocation(),ylocation(),zlocation(),deri_3d_inds(),calc_del6_for_upwind(),global_mean(),find_max_fvec(),find_rms_fvec(),find_xyrms_fvec(),gij(),div_mn(),traceless_strain(),multm2_sym_mn(),update_on_gpu(),get_dxyzs(),mpiabort()
- subroutine sub/div_mn_2tensor(aijk, bi)
Calculate divergence from derivative matrix.
07-aug-10/dhruba: coded
- Parameters:
- Called from:
register_polymer(),initialize_polymer(),init_poly(),pencil_criteria_polymer(),pencil_interdep_polymer(),calc_pencils_polymer()- Call to:
not_implemented(),fatal_error(),symmetrise3x3_ut2lt(),del4(),del6_strict(),del6(),der4(),der6(),der4i2j(),der2i2j2k(),der5i1j(),der3i3j(),der3i2j1k(),der4i1j1k(),del6fj(),vec_dot_3tensor(),doupwind(),dot_mn(),der2_minmod(),der_upwind1st(),warning(),read_snaptime(),shift_dt(),get_smooth_kernel(),noform(),len_fmtd_expr(),error(),levi_civita(),kronecker_delta(),ylm_other(),ylm(),step_vector(),der_step(),der6_step(),stepdown(),der_stepdown(),control_file_exists(),read_line_from_file(),hypergeometric2f1(),gamma_function(),dot2_mn(),multsv_mn(),multmv_mn(),one_minus_exp(),erfunc(),interp1(),lubksb(),bspline_basis(),location_in_proc(),xlocation(),ylocation(),zlocation(),deri_3d_inds(),calc_del6_for_upwind(),global_mean(),find_max_fvec(),find_rms_fvec(),find_xyrms_fvec(),gij(),div_mn(),traceless_strain(),multm2_sym_mn(),update_on_gpu(),get_dxyzs(),mpiabort()
- subroutine sub/curl_mn(aij, b[, a[, lcovariant_derivative]])
Calculate curl from derivative matrix.
21-jul-03/axel: coded 21-feb-07/axel: corrected spherical coordinates 14-mar-07/wlad: added cylindrical coordinates 16-jun-16/fred: added option to use covariant derivative bij
- Parameters:
- Use :
- Called from:
register_magnetic(),initialize_magnetic(),init_aa(),pencil_criteria_magnetic(),pencil_interdep_magnetic(),calculate_vars_magnetic(),update_char_vel_magnetic(),register_shock(),initialize_shock(),read_shock_run_pars(),write_shock_run_pars(),rprint_shock(),get_slices_shock(),pencil_criteria_shock(),pencil_interdep_shock(),calc_pencils_shock(),calc_shock_profile_simple(),calc_shock_profile(),time_step(),register_testfield(),initialize_testfield(),init_aatest(),pencil_criteria_testfield(),pencil_interdep_testfield(),read_testfield_init_pars(),write_testfield_init_pars(),read_testfield_run_pars(),write_testfield_run_pars(),daatest_dt(),get_slices_testfield(),testfield_before_boundary(),testfield_after_boundary(),initialize_power_spectrum(),read_power_spectrum_run_pars(),write_power_spectrum_run_pars(),power(),crossspec(),power_2d(),power_xy(),powerhel(),powerlor(),poweromu(),poweremf(),powertra(),powergws(),powerscl(),power_1d(),pdf(),pdf_2d(),pdf1d_ang(),power_phi(),powerhel_phi(),power_vec(),polar_spectrum(),power1d_plane(),power_cor(),power_cor_scl(),quadratic_invariants(),power_fft3d_vec(),power_transfer_mag(),calc_diagnostics_shock(),shock_before_boundary(),special_calc_hydro(),special_calc_density(),special_calc_dustdensity(),special_calc_energy(),special_calc_magnetic(),special_calc_pscalar(),special_calc_particles(),special_calc_chemistry(),special_before_boundary(),calc_pencils_magnetic(),initialize_testfield_general(),calc_uxb(),initialize_timestep()- Call to:
fatal_error(),symmetrise3x3_ut2lt(),del4(),del6_strict(),del6(),der4(),der6(),der4i2j(),der2i2j2k(),der5i1j(),der3i3j(),der3i2j1k(),der4i1j1k(),del6fj(),vec_dot_3tensor(),doupwind(),not_implemented(),dot_mn(),der2_minmod(),der_upwind1st(),warning(),read_snaptime(),shift_dt(),get_smooth_kernel(),noform(),len_fmtd_expr(),error(),levi_civita(),kronecker_delta(),ylm_other(),ylm(),step_vector(),der_step(),der6_step(),stepdown(),der_stepdown(),control_file_exists(),read_line_from_file(),hypergeometric2f1(),gamma_function(),dot2_mn(),multsv_mn(),multmv_mn(),one_minus_exp(),erfunc(),interp1(),lubksb(),bspline_basis(),location_in_proc(),xlocation(),ylocation(),zlocation(),deri_3d_inds(),calc_del6_for_upwind(),global_mean(),find_max_fvec(),find_rms_fvec(),find_xyrms_fvec(),gij(),div_mn(),traceless_strain(),multm2_sym_mn(),update_on_gpu(),get_dxyzs(),mpiabort()
- subroutine sub/curl_horizontal(f, k, g)
Calculate curl of a vector, whose z component is given.
8-oct-09/axel: adapted from
- Parameters:
f (,,*,*) [real,in,contiguous] :: /Hp_ini**2
k [integer,in] :: Over the range of fields
g (nx,3) [real,out]
- Use :
- Call to:
fatal_error(),symmetrise3x3_ut2lt(),del4(),del6_strict(),del6(),der4(),der6(),der4i2j(),der2i2j2k(),der5i1j(),der3i3j(),der3i2j1k(),der4i1j1k(),del6fj(),vec_dot_3tensor(),doupwind(),not_implemented(),dot_mn(),der2_minmod(),der_upwind1st(),warning(),read_snaptime(),shift_dt(),get_smooth_kernel(),noform(),len_fmtd_expr(),error(),levi_civita(),kronecker_delta(),ylm_other(),ylm(),step_vector(),der_step(),der6_step(),stepdown(),der_stepdown(),control_file_exists(),read_line_from_file(),hypergeometric2f1(),gamma_function(),dot2_mn(),multsv_mn(),multmv_mn(),one_minus_exp(),erfunc(),interp1(),lubksb(),bspline_basis(),location_in_proc(),xlocation(),ylocation(),zlocation(),deri_3d_inds(),calc_del6_for_upwind(),global_mean(),find_max_fvec(),find_rms_fvec(),find_xyrms_fvec(),gij(),div_mn(),traceless_strain(),multm2_sym_mn(),update_on_gpu(),get_dxyzs(),mpiabort()
- subroutine sub/curl(f, k, g[, ignoredx])
Calculate curl of a vector, get vector.
12-sep-97/axel: coded 10-sep-01/axel: adapted for cache efficiency 11-sep-04/axel: began adding spherical coordinates 21-feb-07/axel: corrected spherical coordinates 14-mar-07/wlad: added cylindrical coordinates 20-sep-13/ccyang: added optional argument ignoredx
- Parameters:
f (,,*,*) [real,in,contiguous] :: /Hp_ini**2
k [integer,in] :: Over the range of fields
g (nx,3) [real,out]
ignoredx [logical,in,]
- Use :
- Called from:
register_magnetic(),initialize_magnetic(),init_aa(),pencil_criteria_magnetic(),pencil_interdep_magnetic(),magnetic_after_boundary(),daa_dt(),read_magnetic_init_pars(),write_magnetic_init_pars(),read_magnetic_run_pars(),write_magnetic_run_pars(),get_slices_magnetic(),time_integrals_magnetic(),df_diagnos_magnetic(),rescaling_magnetic(),calc_mfield(),curflux_ds(),read_testperturb_init_pars(),write_testperturb_init_pars(),initialize_power_spectrum(),read_power_spectrum_run_pars(),write_power_spectrum_run_pars(),power(),crossspec(),power_2d(),power_xy(),powerhel(),powerlor(),poweromu(),poweremf(),powertra(),powergws(),powerscl(),power_1d(),pdf(),pdf_2d(),pdf1d_ang(),calc_ode_diagnostics_special(),prep_rhs_special(),tracers_prepare(),trace_streamlines(),wtracers(),structure(),calc_pencils_magnetic(),sine_avoid_boundary(),alfven_rphi(),alfven_zconst(),alfven_rz(),correct_lorentz_force(),remove_mean_emf(),remove_mean_emf_cylindrical(),remove_mean_emf_spherical(),get_grid_pos(),interpolate_vv(),get_vector(),trace_single(),send_vec(),initialize_testfield_general(),calc_uxb(),calc_diffusive_part(),calc_diffusive_part_prof_0d(),calc_diffusive_part_prof_1d(),calc_inverse_matrix(),calc_coefficients(),diagnos_interdep(),rhs_daatest(),pc_extract- Call to:
fatal_error(),symmetrise3x3_ut2lt(),del4(),del6_strict(),del6(),der4(),der6(),der4i2j(),der2i2j2k(),der5i1j(),der3i3j(),der3i2j1k(),der4i1j1k(),del6fj(),vec_dot_3tensor(),doupwind(),not_implemented(),dot_mn(),der2_minmod(),der_upwind1st(),warning(),read_snaptime(),shift_dt(),get_smooth_kernel(),noform(),len_fmtd_expr(),error(),levi_civita(),kronecker_delta(),ylm_other(),ylm(),step_vector(),der_step(),der6_step(),stepdown(),der_stepdown(),control_file_exists(),read_line_from_file(),hypergeometric2f1(),gamma_function(),dot2_mn(),multsv_mn(),multmv_mn(),one_minus_exp(),erfunc(),interp1(),lubksb(),bspline_basis(),location_in_proc(),xlocation(),ylocation(),zlocation(),deri_3d_inds(),calc_del6_for_upwind(),global_mean(),find_max_fvec(),find_rms_fvec(),find_xyrms_fvec(),gij(),div_mn(),traceless_strain(),multm2_sym_mn(),update_on_gpu(),get_dxyzs(),mpiabort()
- subroutine sub/curl_other(f, g)
Calculate curl of a non-mvar vector, get vector.
23-june-09/wlad: adapted from curl
- Parameters:
- Use :
- Call to:
fatal_error(),symmetrise3x3_ut2lt(),del4(),del6_strict(),del6(),der4(),der6(),der4i2j(),der2i2j2k(),der5i1j(),der3i3j(),der3i2j1k(),der4i1j1k(),del6fj(),vec_dot_3tensor(),doupwind(),not_implemented(),dot_mn(),der2_minmod(),der_upwind1st(),warning(),read_snaptime(),shift_dt(),get_smooth_kernel(),noform(),len_fmtd_expr(),error(),levi_civita(),kronecker_delta(),ylm_other(),ylm(),step_vector(),der_step(),der6_step(),stepdown(),der_stepdown(),control_file_exists(),read_line_from_file(),hypergeometric2f1(),gamma_function(),dot2_mn(),multsv_mn(),multmv_mn(),one_minus_exp(),erfunc(),interp1(),lubksb(),bspline_basis(),location_in_proc(),xlocation(),ylocation(),zlocation(),deri_3d_inds(),calc_del6_for_upwind(),global_mean(),find_max_fvec(),find_rms_fvec(),find_xyrms_fvec(),gij(),div_mn(),traceless_strain(),multm2_sym_mn(),update_on_gpu(),get_dxyzs(),mpiabort()
- subroutine sub/curli(f, k, g, i)
Calculate curl of a vector, get vector.
22-oct-02/axel+tarek: adapted from curl
- Parameters:
f (,,*,*) [real,in,contiguous] :: /Hp_ini**2
k [integer,in] :: Over the range of fields
g (nx) [real,out]
i [integer,in] :: fill the weights with gaussian distribution.
- Use :
- Called from:
initialize_power_spectrum(),read_power_spectrum_run_pars(),write_power_spectrum_run_pars(),power(),crossspec(),power_2d(),power_xy(),powerhel(),powerlor(),poweromu(),poweremf(),powertra(),powergws(),powerscl(),power_1d(),pdf(),pdf_2d(),pdf1d_ang(),power_phi(),powerhel_phi(),power_vec(),polar_spectrum(),power1d_plane(),power_cor(),power_cor_scl(),quadratic_invariants(),power_fft3d_vec()- Call to:
fatal_error(),symmetrise3x3_ut2lt(),del4(),del6_strict(),del6(),der4(),der6(),der4i2j(),der2i2j2k(),der5i1j(),der3i3j(),der3i2j1k(),der4i1j1k(),del6fj(),vec_dot_3tensor(),doupwind(),not_implemented(),dot_mn(),der2_minmod(),der_upwind1st(),warning(),read_snaptime(),shift_dt(),get_smooth_kernel(),noform(),len_fmtd_expr(),error(),levi_civita(),kronecker_delta(),ylm_other(),ylm(),step_vector(),der_step(),der6_step(),stepdown(),der_stepdown(),control_file_exists(),read_line_from_file(),hypergeometric2f1(),gamma_function(),dot2_mn(),multsv_mn(),multmv_mn(),one_minus_exp(),erfunc(),interp1(),lubksb(),bspline_basis(),location_in_proc(),xlocation(),ylocation(),zlocation(),deri_3d_inds(),calc_del6_for_upwind(),global_mean(),find_max_fvec(),find_rms_fvec(),find_xyrms_fvec(),gij(),div_mn(),traceless_strain(),multm2_sym_mn(),update_on_gpu(),get_dxyzs(),mpiabort()
- subroutine sub/del2v(f, k, del2f[, fij[, pff]])
Calculate del2 of a vector, get vector.
28-oct-97/axel: coded 15-mar-07/wlad: added cylindrical coordinates
- Parameters:
- Use :
- Called from:
calc_viscosity(),initialize_testfield_general(),calc_uxb(),calc_diffusive_part()- Call to:
fatal_error(),symmetrise3x3_ut2lt(),del4(),del6_strict(),del6(),der4(),der6(),der4i2j(),der2i2j2k(),der5i1j(),der3i3j(),der3i2j1k(),der4i1j1k(),del6fj(),vec_dot_3tensor(),doupwind(),not_implemented(),dot_mn(),der2_minmod(),der_upwind1st(),warning(),read_snaptime(),shift_dt(),get_smooth_kernel(),noform(),len_fmtd_expr(),error(),levi_civita(),kronecker_delta(),ylm_other(),ylm(),step_vector(),der_step(),der6_step(),stepdown(),der_stepdown(),control_file_exists(),read_line_from_file(),hypergeometric2f1(),gamma_function(),dot2_mn(),multsv_mn(),multmv_mn(),one_minus_exp(),erfunc(),interp1(),lubksb(),bspline_basis(),location_in_proc(),xlocation(),ylocation(),zlocation(),deri_3d_inds(),calc_del6_for_upwind(),global_mean(),find_max_fvec(),find_rms_fvec(),find_xyrms_fvec(),gij(),div_mn(),traceless_strain(),multm2_sym_mn(),update_on_gpu(),get_dxyzs(),mpiabort()
- subroutine sub/del2m3x3_sym(f, k, del2f)
Calculate del2 of a 3x3 symmetric matrix, get matrix 23-feb-11/dhruba: coded in a new manner
- Parameters:
f (,,*,*) [real,in,contiguous] :: /Hp_ini**2
k [integer,in] :: Over the range of fields
del2f (nx,3,3) [real,out]
- Called from:
register_polymer(),initialize_polymer(),init_poly(),pencil_criteria_polymer(),pencil_interdep_polymer(),calc_pencils_polymer()- Call to:
symmetrise3x3_ut2lt(),fatal_error(),del4(),del6_strict(),del6(),der4(),der6(),der4i2j(),der2i2j2k(),der5i1j(),der3i3j(),der3i2j1k(),der4i1j1k(),del6fj(),vec_dot_3tensor(),doupwind(),not_implemented(),dot_mn(),der2_minmod(),der_upwind1st(),warning(),read_snaptime(),shift_dt(),get_smooth_kernel(),noform(),len_fmtd_expr(),error(),levi_civita(),kronecker_delta(),ylm_other(),ylm(),step_vector(),der_step(),der6_step(),stepdown(),der_stepdown(),control_file_exists(),read_line_from_file(),hypergeometric2f1(),gamma_function(),dot2_mn(),multsv_mn(),multmv_mn(),one_minus_exp(),erfunc(),interp1(),lubksb(),bspline_basis(),location_in_proc(),xlocation(),ylocation(),zlocation(),deri_3d_inds(),calc_del6_for_upwind(),global_mean(),find_max_fvec(),find_rms_fvec(),find_xyrms_fvec(),gij(),div_mn(),traceless_strain(),multm2_sym_mn(),update_on_gpu(),get_dxyzs(),mpiabort()
- subroutine sub/del2fj(f, vec, k, del2f)
Calculate del2 of a scalar, get scalar, adding anisotropic factor.
20-dec-12/wlad: adapted from del2_main
- Parameters:
f (,,*,*) [real,in,contiguous] :: /Hp_ini**2
vec (3) [real]
k [integer,in] :: Over the range of fields
del2f (nx) [real,out]
- Use :
- Call to:
fatal_error(),del4(),del6_strict(),del6(),der4(),der6(),der4i2j(),der2i2j2k(),der5i1j(),der3i3j(),der3i2j1k(),der4i1j1k(),del6fj(),vec_dot_3tensor(),doupwind(),symmetrise3x3_ut2lt(),not_implemented(),dot_mn(),der2_minmod(),der_upwind1st(),warning(),read_snaptime(),shift_dt(),get_smooth_kernel(),noform(),len_fmtd_expr(),error(),levi_civita(),kronecker_delta(),ylm_other(),ylm(),step_vector(),der_step(),der6_step(),stepdown(),der_stepdown(),control_file_exists(),read_line_from_file(),hypergeometric2f1(),gamma_function(),dot2_mn(),multsv_mn(),multmv_mn(),one_minus_exp(),erfunc(),interp1(),lubksb(),bspline_basis(),location_in_proc(),xlocation(),ylocation(),zlocation(),deri_3d_inds(),calc_del6_for_upwind(),global_mean(),find_max_fvec(),find_rms_fvec(),find_xyrms_fvec(),gij(),div_mn(),traceless_strain(),multm2_sym_mn(),update_on_gpu(),get_dxyzs(),mpiabort()
- subroutine sub/del2fi_dxjk(f, k, del2fkdxij)
Calculate partial^2f/partial x_jpartial x_k of a vector, get a 9 dimensional object
- Parameters:
f (,,*,*) [real,in,contiguous] :: /Hp_ini**2
k [integer,in] :: Over the range of fields
del2fkdxij (nx,3,3,3) [real,out]
- Use :
- Call to:
fatal_error(),del4(),del6_strict(),del6(),der4(),der6(),der4i2j(),der2i2j2k(),der5i1j(),der3i3j(),der3i2j1k(),der4i1j1k(),del6fj(),vec_dot_3tensor(),doupwind(),symmetrise3x3_ut2lt(),not_implemented(),dot_mn(),der2_minmod(),der_upwind1st(),warning(),read_snaptime(),shift_dt(),get_smooth_kernel(),noform(),len_fmtd_expr(),error(),levi_civita(),kronecker_delta(),ylm_other(),ylm(),step_vector(),der_step(),der6_step(),stepdown(),der_stepdown(),control_file_exists(),read_line_from_file(),hypergeometric2f1(),gamma_function(),dot2_mn(),multsv_mn(),multmv_mn(),one_minus_exp(),erfunc(),interp1(),lubksb(),bspline_basis(),location_in_proc(),xlocation(),ylocation(),zlocation(),deri_3d_inds(),calc_del6_for_upwind(),global_mean(),find_max_fvec(),find_rms_fvec(),find_xyrms_fvec(),gij(),div_mn(),traceless_strain(),multm2_sym_mn(),update_on_gpu(),get_dxyzs(),mpiabort()
- subroutine sub/d2fi_dxj(f, k, d2fidxj)
Calculate d^2f_i/dx^2_j of a vector, get a six dimensional object
- Parameters:
f (,,*,*) [real,in,contiguous] :: /Hp_ini**2
k [integer,in] :: Over the range of fields
d2fidxj (nx,3,3) [real,out]
- Use :
- Call to:
fatal_error(),del4(),del6_strict(),del6(),der4(),der6(),der4i2j(),der2i2j2k(),der5i1j(),der3i3j(),der3i2j1k(),der4i1j1k(),del6fj(),vec_dot_3tensor(),doupwind(),symmetrise3x3_ut2lt(),not_implemented(),dot_mn(),der2_minmod(),der_upwind1st(),warning(),read_snaptime(),shift_dt(),get_smooth_kernel(),noform(),len_fmtd_expr(),error(),levi_civita(),kronecker_delta(),ylm_other(),ylm(),step_vector(),der_step(),der6_step(),stepdown(),der_stepdown(),control_file_exists(),read_line_from_file(),hypergeometric2f1(),gamma_function(),dot2_mn(),multsv_mn(),multmv_mn(),one_minus_exp(),erfunc(),interp1(),lubksb(),bspline_basis(),location_in_proc(),xlocation(),ylocation(),zlocation(),deri_3d_inds(),calc_del6_for_upwind(),global_mean(),find_max_fvec(),find_rms_fvec(),find_xyrms_fvec(),gij(),div_mn(),traceless_strain(),multm2_sym_mn(),update_on_gpu(),get_dxyzs(),mpiabort()
- subroutine sub/symmetrise3x3_ut2lt(matrix_ut3x3)
sets the lower triangular values of a matrix to its upper triangular values. Does not touch the diagonal. Applies to 3x3 matrices (pencil) only.
23-dhruba-11/dhruba: coded
- Parameters:
matrix_ut3x3 (nx,3,3) [real]
- Called from:
register_polymer(),initialize_polymer(),init_poly(),pencil_criteria_polymer(),pencil_interdep_polymer(),calc_pencils_polymer(),max_mn(),sum_mn(),dot_mn(),vec_dot_3tensor(),matrix2linarray(),linarray2matrix(),inv2_3x3mat(),scalartripleproduct(),det3x3mat(),dot_mn_sv(),dot_mn_sv_pencil(),dot_mn_sm(),dot_mn_vm(),dot_mn_vm_trans(),dot2_mn(),dot2_mx(),dot2fj(),dyadic2(),dyadic2_other(),trace_mn(),mult_matrix(),multm2_mn(),multm2_sym_mn(),multmv_mn(),invmat_db(),multsv_mn(),multsv_mn_add(),multsm_mn(),cross_mn(),cross_mixed(),gij(),gij_v_times_s(),gijl_symmetric(),grad5(),div(),div_tensor(),div_other(),div_mn(),div_mn_2tensor(),curl_mn(),curl_horizontal(),curl(),curl_other(),curli(),del2v(),del2m3x3_sym(),del2fj(),del2fi_dxjk(),d2fi_dxj(),symmetrise3x3_ut2lt(),del2v_etc(),del2vi_etc(),del4v(),del6v(),bij_tilde(),gij_etc(),g2ij(),del4(),del6(),del6_strict(),del4graddiv(),del6_other(),del6fj(),del6fjv(),u_dot_grad_mat()- Call to:
fatal_error(),del4(),del6_strict(),del6(),der4(),der6(),der4i2j(),der2i2j2k(),der5i1j(),der3i3j(),der3i2j1k(),der4i1j1k(),del6fj(),vec_dot_3tensor(),doupwind(),symmetrise3x3_ut2lt(),not_implemented(),dot_mn(),der2_minmod(),der_upwind1st(),warning(),read_snaptime(),shift_dt(),get_smooth_kernel(),noform(),len_fmtd_expr(),error(),levi_civita(),kronecker_delta(),ylm_other(),ylm(),step_vector(),der_step(),der6_step(),stepdown(),der_stepdown(),control_file_exists(),read_line_from_file(),hypergeometric2f1(),gamma_function(),dot2_mn(),multsv_mn(),multmv_mn(),one_minus_exp(),erfunc(),interp1(),lubksb(),bspline_basis(),location_in_proc(),xlocation(),ylocation(),zlocation(),deri_3d_inds(),calc_del6_for_upwind(),global_mean(),find_max_fvec(),find_rms_fvec(),find_xyrms_fvec(),gij(),div_mn(),traceless_strain(),multm2_sym_mn(),update_on_gpu(),get_dxyzs(),mpiabort()
- subroutine sub/del2v_etc(f, k[, del2[, graddiv[, curlcurl[, gradcurl]]]])
Calculates a number of second derivative expressions of a vector outputs a number of different vector fields.
- Parameters:
gradcurl (nx,3,3) [real,out,] ::
is not the vector gradient. Surprisingly, calling derij only if graddiv or curlcurl are present does not speed up the code on Mephisto @ 32x32x64.
12-sep-01/axel: coded 15-mar-07/wlad: added cylindrical coordinates
f (,,*,*) [real,in,contiguous] :: /Hp_ini**2
k [integer,in] :: Over the range of fields
del2 (nx,3) [real,out,]
graddiv (nx,3) [real,out,]
curlcurl (nx,3) [real,out,]
- Use :
- Called from:
initialize_power_spectrum(),read_power_spectrum_run_pars(),write_power_spectrum_run_pars(),power(),crossspec(),power_2d(),power_xy(),powerhel(),powerlor(),poweromu(),poweremf(),powertra(),powergws(),powerscl(),power_1d(),pdf(),pdf_2d(),pdf1d_ang(),power_phi(),powerhel_phi(),power_vec(),polar_spectrum(),power1d_plane(),power_cor(),power_cor_scl(),quadratic_invariants(),power_fft3d_vec(),power_transfer_mag(),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(),calc_viscosity()- Call to:
fatal_error(),del4(),del6_strict(),del6(),der4(),der6(),der4i2j(),der2i2j2k(),der5i1j(),der3i3j(),der3i2j1k(),der4i1j1k(),del6fj(),vec_dot_3tensor(),doupwind(),symmetrise3x3_ut2lt(),not_implemented(),dot_mn(),der2_minmod(),der_upwind1st(),warning(),read_snaptime(),shift_dt(),get_smooth_kernel(),noform(),len_fmtd_expr(),error(),levi_civita(),kronecker_delta(),ylm_other(),ylm(),step_vector(),der_step(),der6_step(),stepdown(),der_stepdown(),control_file_exists(),read_line_from_file(),hypergeometric2f1(),gamma_function(),dot2_mn(),multsv_mn(),multmv_mn(),one_minus_exp(),erfunc(),interp1(),lubksb(),bspline_basis(),location_in_proc(),xlocation(),ylocation(),zlocation(),deri_3d_inds(),calc_del6_for_upwind(),global_mean(),find_max_fvec(),find_rms_fvec(),find_xyrms_fvec(),gij(),div_mn(),traceless_strain(),multm2_sym_mn(),update_on_gpu(),get_dxyzs(),mpiabort()
- subroutine sub/del2vi_etc(f, k, ii[, del2[, graddiv[, curlcurl]]])
Calculates a number of second derivative expressions of a vector. Outputs a number of different vector fields. Surprisingly, calling derij only if graddiv or curlcurl are present does not speed up the code on Mephisto @ 32x32x64. Just do the ith component
7-feb-04/axel: adapted from del2v_etc
- Parameters:
- Use :
- Called from:
initialize_power_spectrum(),read_power_spectrum_run_pars(),write_power_spectrum_run_pars(),power(),crossspec(),power_2d(),power_xy(),powerhel(),powerlor(),poweromu(),poweremf(),powertra(),powergws(),powerscl(),power_1d(),pdf(),pdf_2d(),pdf1d_ang(),power_phi(),powerhel_phi(),power_vec(),polar_spectrum(),power1d_plane(),power_cor(),power_cor_scl(),quadratic_invariants(),power_fft3d_vec()- Call to:
fatal_error(),del4(),del6_strict(),del6(),der4(),der6(),der4i2j(),der2i2j2k(),der5i1j(),der3i3j(),der3i2j1k(),der4i1j1k(),del6fj(),vec_dot_3tensor(),doupwind(),symmetrise3x3_ut2lt(),not_implemented(),dot_mn(),der2_minmod(),der_upwind1st(),warning(),read_snaptime(),shift_dt(),get_smooth_kernel(),noform(),len_fmtd_expr(),error(),levi_civita(),kronecker_delta(),ylm_other(),ylm(),step_vector(),der_step(),der6_step(),stepdown(),der_stepdown(),control_file_exists(),read_line_from_file(),hypergeometric2f1(),gamma_function(),dot2_mn(),multsv_mn(),multmv_mn(),one_minus_exp(),erfunc(),interp1(),lubksb(),bspline_basis(),location_in_proc(),xlocation(),ylocation(),zlocation(),deri_3d_inds(),calc_del6_for_upwind(),global_mean(),find_max_fvec(),find_rms_fvec(),find_xyrms_fvec(),gij(),div_mn(),traceless_strain(),multm2_sym_mn(),update_on_gpu(),get_dxyzs(),mpiabort()
- subroutine sub/del4v(f, k, del4f)
Calculate del4 of a vector, get vector.
09-dec-03/nils: adapted from del6v
- Parameters:
f (,,*,*) [real,in,contiguous] :: /Hp_ini**2
k [integer,in] :: Over the range of fields
del4f (nx,3) [real,out]
- Called from:
register_magnetic(),initialize_magnetic(),init_aa(),pencil_criteria_magnetic(),pencil_interdep_magnetic(),update_char_vel_magnetic(),calc_pencils_magnetic()- Call to:
fatal_error(),del4(),del6_strict(),del6(),der4(),der6(),der4i2j(),der2i2j2k(),der5i1j(),der3i3j(),der3i2j1k(),der4i1j1k(),del6fj(),vec_dot_3tensor(),doupwind(),symmetrise3x3_ut2lt(),not_implemented(),dot_mn(),der2_minmod(),der_upwind1st(),warning(),read_snaptime(),shift_dt(),get_smooth_kernel(),noform(),len_fmtd_expr(),error(),levi_civita(),kronecker_delta(),ylm_other(),ylm(),step_vector(),der_step(),der6_step(),stepdown(),der_stepdown(),control_file_exists(),read_line_from_file(),hypergeometric2f1(),gamma_function(),dot2_mn(),multsv_mn(),multmv_mn(),one_minus_exp(),erfunc(),interp1(),lubksb(),bspline_basis(),location_in_proc(),xlocation(),ylocation(),zlocation(),deri_3d_inds(),calc_del6_for_upwind(),global_mean(),find_max_fvec(),find_rms_fvec(),find_xyrms_fvec(),gij(),div_mn(),traceless_strain(),multm2_sym_mn(),update_on_gpu(),get_dxyzs(),mpiabort()
- subroutine sub/del6v(f, k, del6f[, lstrict])
Calculate del6 of a vector, get vector.
28-oct-97/axel: coded 24-apr-03/nils: adapted from del2v
- Parameters:
f (,,*,*) [real,in,contiguous] :: /Hp_ini**2
k [integer,in] :: Over the range of fields
del6f (nx,3) [real,out]
lstrict [logical]
- Use :
- Called from:
register_magnetic(),initialize_magnetic(),init_aa(),pencil_criteria_magnetic(),pencil_interdep_magnetic(),update_char_vel_magnetic(),calc_pencils_magnetic(),initialize_testfield_general(),calc_uxb(),calc_diffusive_part()- Call to:
del6_strict(),del6(),fatal_error(),der4(),der6(),der4i2j(),der2i2j2k(),der5i1j(),der3i3j(),der3i2j1k(),der4i1j1k(),del6fj(),vec_dot_3tensor(),doupwind(),symmetrise3x3_ut2lt(),not_implemented(),dot_mn(),der2_minmod(),der_upwind1st(),warning(),read_snaptime(),shift_dt(),get_smooth_kernel(),noform(),len_fmtd_expr(),error(),levi_civita(),kronecker_delta(),ylm_other(),ylm(),step_vector(),der_step(),der6_step(),stepdown(),der_stepdown(),control_file_exists(),read_line_from_file(),hypergeometric2f1(),gamma_function(),dot2_mn(),multsv_mn(),multmv_mn(),one_minus_exp(),erfunc(),interp1(),lubksb(),bspline_basis(),location_in_proc(),xlocation(),ylocation(),zlocation(),deri_3d_inds(),calc_del6_for_upwind(),global_mean(),find_max_fvec(),find_rms_fvec(),find_xyrms_fvec(),gij(),div_mn(),traceless_strain(),multm2_sym_mn(),update_on_gpu(),get_dxyzs(),mpiabort()
- subroutine sub/bij_tilde(f, bb, bijtilde[, bij_cov_corr])
Calculates partial B_[r,theta,phi]/ partial r, (partial B_[r,theta,phi]/partial theta)/r, and optionally the correction, needed for covariant derivatives, in bij_cov_corr.
20-nov-16/MR: coded
- Parameters:
- Use :
- Call to:
fatal_error(),der4(),der6(),der4i2j(),der2i2j2k(),der5i1j(),der3i3j(),der3i2j1k(),der4i1j1k(),del6fj(),vec_dot_3tensor(),doupwind(),symmetrise3x3_ut2lt(),not_implemented(),dot_mn(),der2_minmod(),der_upwind1st(),warning(),read_snaptime(),shift_dt(),get_smooth_kernel(),noform(),len_fmtd_expr(),error(),levi_civita(),kronecker_delta(),ylm_other(),ylm(),step_vector(),der_step(),der6_step(),stepdown(),der_stepdown(),control_file_exists(),read_line_from_file(),hypergeometric2f1(),gamma_function(),dot2_mn(),multsv_mn(),multmv_mn(),one_minus_exp(),erfunc(),interp1(),lubksb(),bspline_basis(),location_in_proc(),xlocation(),ylocation(),zlocation(),deri_3d_inds(),calc_del6_for_upwind(),global_mean(),find_max_fvec(),find_rms_fvec(),find_xyrms_fvec(),gij(),div_mn(),traceless_strain(),multm2_sym_mn(),update_on_gpu(),get_dxyzs(),mpiabort()
- subroutine sub/gij_etc(f, iref[, aa[, aij[, bij[, del2[, graddiv[, lcovariant_derivative]]]]]])
Calculate B_i,j = eps_ikl A_l,jk and A_l,kk.
21-jul-03/axel: coded 26-jul-05/tobi: do not calculate both d^2 A/(dx dy) and d^2 A/(dy dx) 23-feb-07/axel: added spherical coordinates
7-mar-07/wlad: added cylindrical coordinates
29-aug-13/MR: made bij optional; added error messages for missing optional parameters 15-jun-16/fred: bij optional covariant derivative terms; spherical/cylindrical
- Parameters:
- Use :
- Called from:
register_magnetic(),initialize_magnetic(),init_aa(),pencil_criteria_magnetic(),pencil_interdep_magnetic(),calculate_vars_magnetic(),update_char_vel_magnetic(),time_step(),register_testfield(),initialize_testfield(),init_aatest(),pencil_criteria_testfield(),pencil_interdep_testfield(),read_testfield_init_pars(),write_testfield_init_pars(),read_testfield_run_pars(),write_testfield_run_pars(),daatest_dt(),get_slices_testfield(),testfield_before_boundary(),testfield_after_boundary(),initialize_power_spectrum(),read_power_spectrum_run_pars(),write_power_spectrum_run_pars(),power(),crossspec(),power_2d(),power_xy(),powerhel(),powerlor(),poweromu(),poweremf(),powertra(),powergws(),powerscl(),power_1d(),pdf(),pdf_2d(),pdf1d_ang(),power_phi(),powerhel_phi(),power_vec(),polar_spectrum(),power1d_plane(),power_cor(),power_cor_scl(),quadratic_invariants(),power_fft3d_vec(),power_transfer_mag(),calc_pencils_magnetic(),initialize_testfield_general(),calc_uxb(),calc_diffusive_part(),initialize_timestep()- Call to:
fatal_error(),der4(),der6(),der4i2j(),der2i2j2k(),der5i1j(),der3i3j(),der3i2j1k(),der4i1j1k(),del6fj(),vec_dot_3tensor(),doupwind(),symmetrise3x3_ut2lt(),not_implemented(),dot_mn(),der2_minmod(),der_upwind1st(),warning(),read_snaptime(),shift_dt(),get_smooth_kernel(),noform(),len_fmtd_expr(),error(),levi_civita(),kronecker_delta(),ylm_other(),ylm(),step_vector(),der_step(),der6_step(),stepdown(),der_stepdown(),control_file_exists(),read_line_from_file(),hypergeometric2f1(),gamma_function(),dot2_mn(),multsv_mn(),multmv_mn(),one_minus_exp(),erfunc(),interp1(),lubksb(),bspline_basis(),location_in_proc(),xlocation(),ylocation(),zlocation(),deri_3d_inds(),calc_del6_for_upwind(),global_mean(),find_max_fvec(),find_rms_fvec(),find_xyrms_fvec(),gij(),div_mn(),traceless_strain(),multm2_sym_mn(),update_on_gpu(),get_dxyzs(),mpiabort()
- subroutine sub/g2ij(f, k, g)
Calculates the Hessian, i.e. all second derivatives of a scalar.
11-jul-02/axel: coded
- Parameters:
f (,,*,*) [real,in,contiguous] :: /Hp_ini**2
k [integer,in] :: Over the range of fields
g (nx,3,3) [real,out]
- Use :
- Called from:
register_pscalar(),initialize_pscalar(),init_lncc(),pencil_criteria_pscalar(),pencil_interdep_pscalar(),calc_pencils_pscalar()- Call to:
fatal_error(),der4(),der6(),der4i2j(),der2i2j2k(),der5i1j(),der3i3j(),der3i2j1k(),der4i1j1k(),del6fj(),vec_dot_3tensor(),doupwind(),symmetrise3x3_ut2lt(),not_implemented(),dot_mn(),der2_minmod(),der_upwind1st(),warning(),read_snaptime(),shift_dt(),get_smooth_kernel(),noform(),len_fmtd_expr(),error(),levi_civita(),kronecker_delta(),ylm_other(),ylm(),step_vector(),der_step(),der6_step(),stepdown(),der_stepdown(),control_file_exists(),read_line_from_file(),hypergeometric2f1(),gamma_function(),dot2_mn(),multsv_mn(),multmv_mn(),one_minus_exp(),erfunc(),interp1(),lubksb(),bspline_basis(),location_in_proc(),xlocation(),ylocation(),zlocation(),deri_3d_inds(),calc_del6_for_upwind(),global_mean(),find_max_fvec(),find_rms_fvec(),find_xyrms_fvec(),gij(),div_mn(),traceless_strain(),multm2_sym_mn(),update_on_gpu(),get_dxyzs(),mpiabort()
- subroutine sub/del4(f, k, del4f[, ignoredx])
Calculate del4 (defined here as d^4/dx^4 + d^4/dy^4 + d^4/dz^4, rather than del2^3) of a scalar for hyperdiffusion.
8-jul-02/wolf: coded 9-dec-03/nils: adapted from del6
- Parameters:
f (,,*,*) [real,in,contiguous] :: /Hp_ini**2
k [integer,in] :: Over the range of fields
del4f (nx) [real,out]
ignoredx [logical,in,]
- Use :
- Called from:
max_mn(),sum_mn(),dot_mn(),vec_dot_3tensor(),matrix2linarray(),linarray2matrix(),inv2_3x3mat(),scalartripleproduct(),det3x3mat(),dot_mn_sv(),dot_mn_sv_pencil(),dot_mn_sm(),dot_mn_vm(),dot_mn_vm_trans(),dot2_mn(),dot2_mx(),dot2fj(),dyadic2(),dyadic2_other(),trace_mn(),mult_matrix(),multm2_mn(),multm2_sym_mn(),multmv_mn(),invmat_db(),multsv_mn(),multsv_mn_add(),multsm_mn(),cross_mn(),cross_mixed(),gij(),gij_v_times_s(),gijl_symmetric(),grad5(),div(),div_tensor(),div_other(),div_mn(),div_mn_2tensor(),curl_mn(),curl_horizontal(),curl(),curl_other(),curli(),del2v(),del2m3x3_sym(),del2fj(),del2fi_dxjk(),d2fi_dxj(),symmetrise3x3_ut2lt(),del2v_etc(),del2vi_etc(),del4v()- Call to:
fatal_error(),der4(),der6(),der4i2j(),der2i2j2k(),der5i1j(),der3i3j(),der3i2j1k(),der4i1j1k(),del6fj(),vec_dot_3tensor(),doupwind(),symmetrise3x3_ut2lt(),not_implemented(),dot_mn(),der2_minmod(),der_upwind1st(),warning(),read_snaptime(),shift_dt(),get_smooth_kernel(),noform(),len_fmtd_expr(),error(),levi_civita(),kronecker_delta(),ylm_other(),ylm(),step_vector(),der_step(),der6_step(),stepdown(),der_stepdown(),control_file_exists(),read_line_from_file(),hypergeometric2f1(),gamma_function(),dot2_mn(),multsv_mn(),multmv_mn(),one_minus_exp(),erfunc(),interp1(),lubksb(),bspline_basis(),location_in_proc(),xlocation(),ylocation(),zlocation(),deri_3d_inds(),calc_del6_for_upwind(),global_mean(),find_max_fvec(),find_rms_fvec(),find_xyrms_fvec(),gij(),div_mn(),traceless_strain(),multm2_sym_mn(),update_on_gpu(),get_dxyzs(),mpiabort()
- subroutine sub/del6(f, k, del6f[, ignoredx[, lexp]])
Calculate del6 (defined here as d^6/dx^6 + d^6/dy^6 + d^6/dz^6, rather than del2^3) of a scalar for hyperdiffusion. Using INGOREDX calculates something similar to del6, but ignoring the steps dx, dy, dz. Useful for Nyquist filtering, where you just want to remove the Nyquist frequency fully, while retaining the amplitude in small wave numbers.
8-jul-02/wolf: coded 22-jul-11/bing: added ignoredx
- Parameters:
f (,,*,*) [real,in,contiguous] :: /Hp_ini**2
k [integer,in] :: Over the range of fields
del6f (nx) [real,out]
ignoredx [logical,in,]
lexp [logical]
- Use :
- Called from:
register_pscalar(),initialize_pscalar(),init_lncc(),pencil_criteria_pscalar(),pencil_interdep_pscalar(),calc_pencils_pscalar(),max_mn(),sum_mn(),dot_mn(),vec_dot_3tensor(),matrix2linarray(),linarray2matrix(),inv2_3x3mat(),scalartripleproduct(),det3x3mat(),dot_mn_sv(),dot_mn_sv_pencil(),dot_mn_sm(),dot_mn_vm(),dot_mn_vm_trans(),dot2_mn(),dot2_mx(),dot2fj(),dyadic2(),dyadic2_other(),trace_mn(),mult_matrix(),multm2_mn(),multm2_sym_mn(),multmv_mn(),invmat_db(),multsv_mn(),multsv_mn_add(),multsm_mn(),cross_mn(),cross_mixed(),gij(),gij_v_times_s(),gijl_symmetric(),grad5(),div(),div_tensor(),div_other(),div_mn(),div_mn_2tensor(),curl_mn(),curl_horizontal(),curl(),curl_other(),curli(),del2v(),del2m3x3_sym(),del2fj(),del2fi_dxjk(),d2fi_dxj(),symmetrise3x3_ut2lt(),del2v_etc(),del2vi_etc(),del4v(),del6v()- Call to:
der6(),der4i2j(),der2i2j2k(),fatal_error(),der5i1j(),der3i3j(),der3i2j1k(),der4i1j1k(),del6fj(),vec_dot_3tensor(),doupwind(),symmetrise3x3_ut2lt(),not_implemented(),dot_mn(),der2_minmod(),der_upwind1st(),warning(),read_snaptime(),shift_dt(),get_smooth_kernel(),noform(),len_fmtd_expr(),error(),levi_civita(),kronecker_delta(),ylm_other(),ylm(),step_vector(),der_step(),der6_step(),stepdown(),der_stepdown(),control_file_exists(),read_line_from_file(),hypergeometric2f1(),gamma_function(),dot2_mn(),multsv_mn(),multmv_mn(),one_minus_exp(),erfunc(),interp1(),lubksb(),bspline_basis(),location_in_proc(),xlocation(),ylocation(),zlocation(),deri_3d_inds(),calc_del6_for_upwind(),global_mean(),find_max_fvec(),find_rms_fvec(),find_xyrms_fvec(),gij(),div_mn(),traceless_strain(),multm2_sym_mn(),update_on_gpu(),get_dxyzs(),mpiabort()
- subroutine sub/del6_strict(f, k, del6)
Calculates del6rho=del2(del2(del2(rho))), with del2=div(grad). The routine is strictly accurate for Cartesian coordinates, and retains all the leading dx1**6 terms in cylindrical. The subroutine is small enough and memory-cheap enough that it could be in dlnrhodt. Yet, writing it as a subroutine allows not only for encapsulation but also better documentation.
d6a d6a d6a / d4d2a d4d2a d4d2a d4d2a d4d2a d4d2a d2d2d2a
- Parameters:
del6 (nx) [real,out] ::
- 3 | —— + —— + —— + —— + —— + —— | + 6 ———
dx6 dy6 dz6 dx4dy2 dx4dz2 dx2dy4 dx2dz4 d4ydz2 dz4dy2 / dx2dy2dz2
02-apr-17/wlad: coded
f (,,*,*) [real,in,contiguous] :: /Hp_ini**2
k [integer,in] :: Over the range of fields
- Use :
- Called from:
max_mn(),sum_mn(),dot_mn(),vec_dot_3tensor(),matrix2linarray(),linarray2matrix(),inv2_3x3mat(),scalartripleproduct(),det3x3mat(),dot_mn_sv(),dot_mn_sv_pencil(),dot_mn_sm(),dot_mn_vm(),dot_mn_vm_trans(),dot2_mn(),dot2_mx(),dot2fj(),dyadic2(),dyadic2_other(),trace_mn(),mult_matrix(),multm2_mn(),multm2_sym_mn(),multmv_mn(),invmat_db(),multsv_mn(),multsv_mn_add(),multsm_mn(),cross_mn(),cross_mixed(),gij(),gij_v_times_s(),gijl_symmetric(),grad5(),div(),div_tensor(),div_other(),div_mn(),div_mn_2tensor(),curl_mn(),curl_horizontal(),curl(),curl_other(),curli(),del2v(),del2m3x3_sym(),del2fj(),del2fi_dxjk(),d2fi_dxj(),symmetrise3x3_ut2lt(),del2v_etc(),del2vi_etc(),del4v(),del6v()- Call to:
der6(),der4i2j(),der2i2j2k(),fatal_error(),der5i1j(),der3i3j(),der3i2j1k(),der4i1j1k(),del6fj(),vec_dot_3tensor(),doupwind(),symmetrise3x3_ut2lt(),not_implemented(),dot_mn(),der2_minmod(),der_upwind1st(),warning(),read_snaptime(),shift_dt(),get_smooth_kernel(),noform(),len_fmtd_expr(),error(),levi_civita(),kronecker_delta(),ylm_other(),ylm(),step_vector(),der_step(),der6_step(),stepdown(),der_stepdown(),control_file_exists(),read_line_from_file(),hypergeometric2f1(),gamma_function(),dot2_mn(),multsv_mn(),multmv_mn(),one_minus_exp(),erfunc(),interp1(),lubksb(),bspline_basis(),location_in_proc(),xlocation(),ylocation(),zlocation(),deri_3d_inds(),calc_del6_for_upwind(),global_mean(),find_max_fvec(),find_rms_fvec(),find_xyrms_fvec(),gij(),div_mn(),traceless_strain(),multm2_sym_mn(),update_on_gpu(),get_dxyzs(),mpiabort()
- subroutine sub/del4graddiv(f, ikk, del4graddivu)
Calculate del4(grad(div())), which enters in the formulation of strict hyperviscosity. This is strictly accurate for Cartesian, and retains all the leading (dx1**6) terms for polar coordinates. For the x-component of del4(grad(div())), the result of sympy is
[del4(grad(div(u)))]_x = f(ux) + g(uy) + g(uz)
- where f(ux) = der6x(ux)
2*(der4x2y(ux)+der4x2z(ux)+der4y2x(ux)+der4z2x(ux))
4*der2x2y2z(ux)
- g(uy) = der5x1y(uy) + der1x5y(uy) + 3*der3x3y(uy)
2*der3x1y2z(uy) + 3*der1x3y2z(uy) + der1x1y4z(uy)
and similary
- h(uz) = der5x1z(uz) + der1x5z(uz) + 3*der3x3z(uz)
2*der3x2y1z(uz) + 3*der1x2y3z(uz) + der1x4y1z(uz)
Per symmetry, the formulation for the y and z components are identical under the permutation [xyz].
09-apr-17/wlad: coded
- Parameters:
f (,,*,*) [real,in,contiguous] :: /Hp_ini**2
ikk [integer,in]
del4graddivu (nx,3) [real,out]
- Use :
deriv(der6(),der4i2j(),der2i2j2k(),der5i1j(),der3i3j(),der3i2j1k(),der4i1j1k())- Call to:
fatal_error(),der6(),der4i2j(),der2i2j2k(),der5i1j(),der3i3j(),der3i2j1k(),der4i1j1k(),del6fj(),vec_dot_3tensor(),doupwind(),symmetrise3x3_ut2lt(),not_implemented(),dot_mn(),der2_minmod(),der_upwind1st(),warning(),read_snaptime(),shift_dt(),get_smooth_kernel(),noform(),len_fmtd_expr(),error(),levi_civita(),kronecker_delta(),ylm_other(),ylm(),step_vector(),der_step(),der6_step(),stepdown(),der_stepdown(),control_file_exists(),read_line_from_file(),hypergeometric2f1(),gamma_function(),dot2_mn(),multsv_mn(),multmv_mn(),one_minus_exp(),erfunc(),interp1(),lubksb(),bspline_basis(),location_in_proc(),xlocation(),ylocation(),zlocation(),deri_3d_inds(),calc_del6_for_upwind(),global_mean(),find_max_fvec(),find_rms_fvec(),find_xyrms_fvec(),gij(),div_mn(),traceless_strain(),multm2_sym_mn(),update_on_gpu(),get_dxyzs(),mpiabort()
- subroutine sub/del6_other(f, del6f)
Calculate del6 (defined here as d^6/dx^6 + d^6/dy^6 + d^6/dz^6, rather than del2^3) of a scalar for hyperdiffusion.
13-jun-05/anders: adapted from del6
- Parameters:
- Use :
- Call to:
fatal_error(),der6(),del6fj(),vec_dot_3tensor(),doupwind(),symmetrise3x3_ut2lt(),not_implemented(),dot_mn(),der2_minmod(),der_upwind1st(),warning(),read_snaptime(),shift_dt(),get_smooth_kernel(),noform(),len_fmtd_expr(),error(),levi_civita(),kronecker_delta(),ylm_other(),ylm(),step_vector(),der_step(),der6_step(),stepdown(),der_stepdown(),control_file_exists(),read_line_from_file(),hypergeometric2f1(),gamma_function(),dot2_mn(),multsv_mn(),multmv_mn(),one_minus_exp(),erfunc(),interp1(),lubksb(),bspline_basis(),location_in_proc(),xlocation(),ylocation(),zlocation(),deri_3d_inds(),calc_del6_for_upwind(),global_mean(),find_max_fvec(),find_rms_fvec(),find_xyrms_fvec(),gij(),div_mn(),traceless_strain(),multm2_sym_mn(),update_on_gpu(),get_dxyzs(),mpiabort()
- subroutine sub/del6fj(f, vec, k, del6f)
Calculates fj*del6 (defined here as (vecx*d^6/dx^6 + vecy*d^6/dy^6 + vecz*d^6/dz^6)f ) needed for hyperdissipation of a scalar (diffrho) with non-cubic cells where the coefficient depends on resolution. Returns scalar.
30-oct-06/wlad: adapted from del6
- Parameters:
f (,,*,*) [real,in,contiguous] :: /Hp_ini**2
vec (3) [real]
k [integer,in] :: Over the range of fields
del6f (nx) [real,out]
- Use :
- Called from:
max_mn(),sum_mn(),dot_mn(),vec_dot_3tensor(),matrix2linarray(),linarray2matrix(),inv2_3x3mat(),scalartripleproduct(),det3x3mat(),dot_mn_sv(),dot_mn_sv_pencil(),dot_mn_sm(),dot_mn_vm(),dot_mn_vm_trans(),dot2_mn(),dot2_mx(),dot2fj(),dyadic2(),dyadic2_other(),trace_mn(),mult_matrix(),multm2_mn(),multm2_sym_mn(),multmv_mn(),invmat_db(),multsv_mn(),multsv_mn_add(),multsm_mn(),cross_mn(),cross_mixed(),gij(),gij_v_times_s(),gijl_symmetric(),grad5(),div(),div_tensor(),div_other(),div_mn(),div_mn_2tensor(),curl_mn(),curl_horizontal(),curl(),curl_other(),curli(),del2v(),del2m3x3_sym(),del2fj(),del2fi_dxjk(),d2fi_dxj(),symmetrise3x3_ut2lt(),del2v_etc(),del2vi_etc(),del4v(),del6v(),bij_tilde(),gij_etc(),g2ij(),del4(),del6(),del6_strict(),del4graddiv(),del6_other(),del6fj(),del6fjv()- Call to:
der6(),fatal_error(),del6fj(),vec_dot_3tensor(),doupwind(),symmetrise3x3_ut2lt(),not_implemented(),dot_mn(),der2_minmod(),der_upwind1st(),warning(),read_snaptime(),shift_dt(),get_smooth_kernel(),noform(),len_fmtd_expr(),error(),levi_civita(),kronecker_delta(),ylm_other(),ylm(),step_vector(),der_step(),der6_step(),stepdown(),der_stepdown(),control_file_exists(),read_line_from_file(),hypergeometric2f1(),gamma_function(),dot2_mn(),multsv_mn(),multmv_mn(),one_minus_exp(),erfunc(),interp1(),lubksb(),bspline_basis(),location_in_proc(),xlocation(),ylocation(),zlocation(),deri_3d_inds(),calc_del6_for_upwind(),global_mean(),find_max_fvec(),find_rms_fvec(),find_xyrms_fvec(),gij(),div_mn(),traceless_strain(),multm2_sym_mn(),update_on_gpu(),get_dxyzs(),mpiabort()
- subroutine sub/del6fjv(f, vec, k, del6f)
Calculates fj*del6 (defined here as fx*d^6/dx^6 + fy*d^6/dy^6 + fz*d^6/dz^6) needed for hyperdissipation of vectors (visc, res) with non-cubic cells where the coefficient depends on resolution. Returns vector.
30-oct-06/wlad: adapted from del6v
- Parameters:
f (,,*,*) [real,in,contiguous] :: /Hp_ini**2
vec (3) [real]
k [integer,in] :: Over the range of fields
del6f (nx,3) [real,out]
- Called from:
register_magnetic(),initialize_magnetic(),init_aa(),pencil_criteria_magnetic(),pencil_interdep_magnetic(),daa_dt(),update_char_vel_magnetic(),set_ambipolar_diffusion(),diamagnetism(),register_viscosity(),initialize_viscosity(),read_viscosity_run_pars(),write_viscosity_run_pars(),rprint_viscosity(),pencil_criteria_viscosity(),pencil_interdep_viscosity(),calc_pencils_viscosity(),calc_pencils_magnetic()- Call to:
del6fj(),fatal_error(),vec_dot_3tensor(),doupwind(),symmetrise3x3_ut2lt(),not_implemented(),dot_mn(),der2_minmod(),der_upwind1st(),warning(),read_snaptime(),shift_dt(),get_smooth_kernel(),noform(),len_fmtd_expr(),error(),levi_civita(),kronecker_delta(),ylm_other(),ylm(),step_vector(),der_step(),der6_step(),stepdown(),der_stepdown(),control_file_exists(),read_line_from_file(),hypergeometric2f1(),gamma_function(),dot2_mn(),multsv_mn(),multmv_mn(),one_minus_exp(),erfunc(),interp1(),lubksb(),bspline_basis(),location_in_proc(),xlocation(),ylocation(),zlocation(),der6(),deri_3d_inds(),calc_del6_for_upwind(),global_mean(),find_max_fvec(),find_rms_fvec(),find_xyrms_fvec(),gij(),div_mn(),traceless_strain(),multm2_sym_mn(),update_on_gpu(),get_dxyzs(),mpiabort()
- subroutine sub/u_dot_grad_mat(f, k, gradm, uu, ugradm[, upwind])
Computes u.grad(M) where M is a second rank matrix.
07-aug-10/dhruba: coded 24-nov-11/dhruba: added upwinding 26-mar-12/MR: doupwind introduced
- Parameters:
- Called from:
register_polymer(),initialize_polymer(),init_poly(),pencil_criteria_polymer(),pencil_interdep_polymer(),calc_pencils_polymer()- Call to:
fatal_error(),vec_dot_3tensor(),doupwind(),symmetrise3x3_ut2lt(),not_implemented(),dot_mn(),der2_minmod(),der_upwind1st(),warning(),read_snaptime(),shift_dt(),get_smooth_kernel(),noform(),len_fmtd_expr(),error(),levi_civita(),kronecker_delta(),ylm_other(),ylm(),step_vector(),der_step(),der6_step(),stepdown(),der_stepdown(),control_file_exists(),read_line_from_file(),hypergeometric2f1(),gamma_function(),dot2_mn(),multsv_mn(),multmv_mn(),one_minus_exp(),erfunc(),interp1(),lubksb(),bspline_basis(),location_in_proc(),xlocation(),ylocation(),zlocation(),der6(),deri_3d_inds(),calc_del6_for_upwind(),global_mean(),find_max_fvec(),find_rms_fvec(),find_xyrms_fvec(),gij(),div_mn(),traceless_strain(),multm2_sym_mn(),update_on_gpu(),get_dxyzs(),mpiabort()
- subroutine sub/nou_dot_grad_scl(gradf, uu, ugradf, del6u[, upwind[, ladd]])
Do advection-type term u.grad f_k. Assumes gradf to be known, but takes f and k as arguments to be able to calculate upwind correction
28-Aug-2007/dintrans: attempt of upwinding in cylindrical coordinates 29-Aug-2007/dhruba: attempt of upwinding in spherical coordinates. 28-Sep-2009/MR: ladd added for incremental work
- Parameters:
- Use :
- Call to:
dot_mn(),der_upwind1st(),warning(),read_snaptime(),shift_dt(),fatal_error(),get_smooth_kernel(),noform(),len_fmtd_expr(),error(),levi_civita(),kronecker_delta(),ylm_other(),ylm(),step_vector(),der_step(),der6_step(),stepdown(),der_stepdown(),control_file_exists(),read_line_from_file(),hypergeometric2f1(),gamma_function(),dot2_mn(),multsv_mn(),multmv_mn(),one_minus_exp(),erfunc(),interp1(),lubksb(),bspline_basis(),location_in_proc(),xlocation(),ylocation(),zlocation(),der6(),deri_3d_inds(),calc_del6_for_upwind(),global_mean(),find_max_fvec(),find_rms_fvec(),find_xyrms_fvec(),gij(),div_mn(),traceless_strain(),multm2_sym_mn(),update_on_gpu(),get_dxyzs(),mpiabort()
- subroutine sub/h_dot_grad_vec(hh, gradf, ff, hgradf)
h.gradf for vectors h and f.
23-mar-08/axel: adapted from u_dot_grad_vec
- Parameters:
- Use :
- Called from:
initialize_power_spectrum(),read_power_spectrum_run_pars(),write_power_spectrum_run_pars(),power(),crossspec(),power_2d(),power_xy(),powerhel(),powerlor(),poweromu(),poweremf(),powertra()- Call to:
dot_mn(),der_upwind1st(),warning(),read_snaptime(),shift_dt(),fatal_error(),get_smooth_kernel(),noform(),len_fmtd_expr(),error(),levi_civita(),kronecker_delta(),ylm_other(),ylm(),step_vector(),der_step(),der6_step(),stepdown(),der_stepdown(),control_file_exists(),read_line_from_file(),hypergeometric2f1(),gamma_function(),dot2_mn(),multsv_mn(),multmv_mn(),one_minus_exp(),erfunc(),interp1(),lubksb(),bspline_basis(),location_in_proc(),xlocation(),ylocation(),zlocation(),der6(),deri_3d_inds(),calc_del6_for_upwind(),global_mean(),find_max_fvec(),find_rms_fvec(),find_xyrms_fvec(),gij(),div_mn(),traceless_strain(),multm2_sym_mn(),update_on_gpu(),get_dxyzs(),mpiabort()
- subroutine sub/gradf_upw1st(f, uu, k, gradf)
Do advection-type term u.grad f_k for upwind 1st order der scheme.
- Parameters:
- Use :
- Call to:
der_upwind1st(),warning(),read_snaptime(),shift_dt(),fatal_error(),get_smooth_kernel(),noform(),len_fmtd_expr(),error(),levi_civita(),kronecker_delta(),ylm_other(),ylm(),step_vector(),der_step(),der6_step(),stepdown(),der_stepdown(),control_file_exists(),read_line_from_file(),hypergeometric2f1(),gamma_function(),dot2_mn(),multsv_mn(),dot_mn(),multmv_mn(),one_minus_exp(),erfunc(),interp1(),lubksb(),bspline_basis(),location_in_proc(),xlocation(),ylocation(),zlocation(),der6(),deri_3d_inds(),calc_del6_for_upwind(),global_mean(),find_max_fvec(),find_rms_fvec(),find_xyrms_fvec(),gij(),div_mn(),traceless_strain(),multm2_sym_mn(),update_on_gpu(),get_dxyzs(),mpiabort()
- subroutine sub/rdim(file, mx_in, my_in, mz_in, mvar_in, maux_in, mglobal_in, prec_in, nghost_in, ipx_in, ipy_in, ipz_in)
Read dimension from file.
15-sep-09/nils: adapted from rdim
- Parameters:
file [character]
mx_in [integer]
my_in [integer]
mz_in [integer]
mvar_in [integer]
maux_in [integer]
mglobal_in [integer]
prec_in [character]
nghost_in [integer]
ipx_in [integer]
ipy_in [integer]
ipz_in [integer]
- Call to:
warning(),read_snaptime(),shift_dt(),fatal_error(),get_smooth_kernel(),noform(),len_fmtd_expr(),error(),levi_civita(),kronecker_delta(),ylm_other(),ylm(),step_vector(),der_step(),der6_step(),stepdown(),der_stepdown(),control_file_exists(),read_line_from_file(),hypergeometric2f1(),gamma_function(),dot2_mn(),multsv_mn(),dot_mn(),multmv_mn(),one_minus_exp(),erfunc(),interp1(),lubksb(),bspline_basis(),location_in_proc(),xlocation(),ylocation(),zlocation(),der6(),deri_3d_inds(),calc_del6_for_upwind(),global_mean(),find_max_fvec(),find_rms_fvec(),find_xyrms_fvec(),gij(),div_mn(),traceless_strain(),multm2_sym_mn(),update_on_gpu(),get_dxyzs(),mpiabort()
- subroutine sub/read_snaptime(file, tout, nout, dtout, t_temp)
Read in output time for next snapshot (or similar) from control file.
30-sep-97/axel: coded 24-aug-99/axel: allow for logarithmic spacing
9-sep-01/axel: adapted for MPI
10-sep-15/MR : tout set to t if file is missing and dtout>0
- Parameters:
file [character,in]
tout [real,out]
nout [integer,out]
dtout [real,in]
t_temp [real,in]
- Use :
- Called from:
register_magnetic(),initialize_magnetic(),init_aa(),pencil_criteria_magnetic(),pencil_interdep_magnetic(),magnetic_after_boundary(),daa_dt(),time_integrals_magnetic(),df_diagnos_magnetic(),rescaling_magnetic(),initialize_diagnostics(),initialize_diagnostic_arrays(),prints(),report_undefined_diagnostics(),gen_form_legend(),write_sound(),get_average_density(),diagnostic(),initialize_time_integrals(),xyaverages_z(),xzaverages_y(),yzaverages_x(),phizaverages_r(),yaverages_xz(),zaverages_xy(),phiaverages_rz(),write_1daverages(),write_1daverages_prepare(),write_2daverages_prepare(),update_char_vel_magnetic(),set_ambipolar_diffusion(),diamagnetism(),set_border_magnetic(),eta_shell(),calc_bthresh(),register_particles_nbody(),initialize_particles_nbody(),pencil_criteria_par_nbody(),pencil_interdep_par_nbody(),calc_pencils_par_nbody(),init_particles_nbody(),dvvp_dt_nbody_pencil(),dxxp_dt_nbody(),dvvp_dt_nbody(),loop_through_nbodies(),loop_through_nbodies_inertial(),loop_through_nbodies_fixstar(),get_evr(),point_par_name(),read_particles_nbody_init_pars(),write_particles_nbody_init_pars(),read_particles_nbody_run_pars(),write_particles_nbody_run_pars(),reset_center_of_mass(),integrate_selfgravity(),bcast_nbodyarray(),particles_nbody_special(),get_totalmass(),get_gravity_field_nbody(),calc_torque(),get_ramped_mass(),calc_nbodygravity_particles(),get_total_gravity(),add_indirect_term(),advance_particles_in_cartesian(),update_position(),update_velocity(),particles_nbody_read_snapshot(),particles_nbody_write_snapshot(),in_solid_cell(),register_testfield(),initialize_testfield(),init_aatest(),pencil_criteria_testfield(),pencil_interdep_testfield(),read_testfield_init_pars(),write_testfield_init_pars(),read_testfield_run_pars(),write_testfield_run_pars(),daatest_dt(),get_slices_testfield(),testfield_before_boundary(),testfield_after_boundary(),rescaling_testfield(),particles_register_modules(),particles_rprint_list(),particles_initialize_modules(),particles_init(),particles_finalize(),particles_read_snapshot(),particles_write_snapshot(),particles_write_dsnapshot(),particles_write_pdim(),particles_write_block(),particles_write_rmv(),particles_timestep_first(),particles_timestep_second(),split_update_particles(),particles_load_balance(),particles_boundconds(),particles_pencil_criteria(),particles_pencil_interdep(),particles_calc_pencils(),particles_calc_selfpotential(),particles_before_boundary(),particles_special_bfre_bdary(),particles_special_after_dtsub(),particles_pde(),particles_pde_pencil(),particles_calc_pencil_diags(),particles_pde_blocks(),read_all_particles_init_pars(),write_all_particles_init_pars(),read_all_particles_run_pars(),write_all_particles_run_pars(),write_dim_particles(),write_snapshot_particles(),read_snapshot_particles(),wvid_prepare(),wsnap_ogrid(),tracers_prepare(),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(),register_testscalar(),initialize_testscalar(),init_cctest(),pencil_criteria_testscalar(),pencil_interdep_testscalar(),read_testscalar_init_pars(),write_testscalar_init_pars(),read_testscalar_run_pars(),write_testscalar_run_pars(),dcctest_dt(),get_slices_testscalar(),testscalar_after_boundary(),rescaling_testscalar(),initialize_timeavg(),update_timeavgs(),wsnap_timeavgs(),calc_pencils_magnetic(),max_mn(),sum_mn(),dot_mn(),vec_dot_3tensor(),matrix2linarray(),linarray2matrix(),inv2_3x3mat(),scalartripleproduct(),det3x3mat(),dot_mn_sv(),dot_mn_sv_pencil(),dot_mn_sm(),dot_mn_vm(),dot_mn_vm_trans(),dot2_mn(),dot2_mx(),dot2fj(),dyadic2(),dyadic2_other(),trace_mn(),mult_matrix(),multm2_mn(),multm2_sym_mn(),multmv_mn(),invmat_db(),multsv_mn(),multsv_mn_add(),multsm_mn(),cross_mn(),cross_mixed(),gij(),gij_v_times_s(),gijl_symmetric(),grad5(),div(),div_tensor(),div_other(),div_mn(),div_mn_2tensor(),curl_mn(),curl_horizontal(),curl(),curl_other(),curli(),del2v(),del2m3x3_sym(),del2fj(),del2fi_dxjk(),d2fi_dxj(),symmetrise3x3_ut2lt(),del2v_etc(),del2vi_etc(),del4v(),del6v(),bij_tilde(),gij_etc(),g2ij(),del4(),del6(),del6_strict(),del4graddiv(),del6_other(),del6fj(),del6fjv(),u_dot_grad_mat(),nou_dot_grad_scl(),h_dot_grad_vec(),gradf_upw1st(),rdim(),read_snaptime(),update_snaptime(),shift_dt(),initialize_testfield_general()- Call to:
warning(),read_snaptime(),shift_dt(),fatal_error(),get_smooth_kernel(),noform(),len_fmtd_expr(),error(),levi_civita(),kronecker_delta(),ylm_other(),ylm(),step_vector(),der_step(),der6_step(),stepdown(),der_stepdown(),control_file_exists(),read_line_from_file(),hypergeometric2f1(),gamma_function(),dot2_mn(),multsv_mn(),dot_mn(),multmv_mn(),one_minus_exp(),erfunc(),interp1(),lubksb(),bspline_basis(),location_in_proc(),xlocation(),ylocation(),zlocation(),der6(),deri_3d_inds(),calc_del6_for_upwind(),global_mean(),find_max_fvec(),find_rms_fvec(),find_xyrms_fvec(),gij(),div_mn(),traceless_strain(),multm2_sym_mn(),update_on_gpu(),get_dxyzs(),mpiabort()
- subroutine sub/update_snaptime(file, tout, nout, dtout, t, lout[, ch[, nowrite]])
Check whether we need to write snapshot; if so, update the snapshot
- Parameters:
file [character,in] ::
e.g. tsnap.dat). Done by all processors.
30-sep-97/axel: coded 24-aug-99/axel: allow for logarithmic spacing 27-jul-15/MR : try to fix a strange behavior with gfortran:
when crashing, a big number of unmotivated snapshots is output -> test of NaN in t
30-may-20/axel: new version of log-spaced output by x10^(1/3) for dtout<0
tout [real,inout]
nout [integer,inout]
dtout [real,in]
t [real,in]
lout [logical,inout]
ch [character,out,]
nowrite [logical,in,]
- Use :
- Called from:
register_magnetic(),initialize_magnetic(),init_aa(),pencil_criteria_magnetic(),pencil_interdep_magnetic(),magnetic_after_boundary(),daa_dt(),time_integrals_magnetic(),df_diagnos_magnetic(),rescaling_magnetic(),initialize_diagnostics(),initialize_diagnostic_arrays(),prints(),report_undefined_diagnostics(),gen_form_legend(),write_sound(),get_average_density(),diagnostic(),initialize_time_integrals(),xyaverages_z(),xzaverages_y(),yzaverages_x(),phizaverages_r(),yaverages_xz(),zaverages_xy(),phiaverages_rz(),write_1daverages(),write_1daverages_prepare(),write_2daverages_prepare(),update_char_vel_magnetic(),set_ambipolar_diffusion(),diamagnetism(),set_border_magnetic(),eta_shell(),calc_bthresh(),register_particles_nbody(),initialize_particles_nbody(),pencil_criteria_par_nbody(),pencil_interdep_par_nbody(),calc_pencils_par_nbody(),init_particles_nbody(),dvvp_dt_nbody_pencil(),dxxp_dt_nbody(),dvvp_dt_nbody(),loop_through_nbodies(),loop_through_nbodies_inertial(),loop_through_nbodies_fixstar(),get_evr(),point_par_name(),read_particles_nbody_init_pars(),write_particles_nbody_init_pars(),read_particles_nbody_run_pars(),write_particles_nbody_run_pars(),reset_center_of_mass(),integrate_selfgravity(),bcast_nbodyarray(),particles_nbody_special(),get_totalmass(),get_gravity_field_nbody(),calc_torque(),get_ramped_mass(),calc_nbodygravity_particles(),get_total_gravity(),add_indirect_term(),advance_particles_in_cartesian(),update_position(),update_velocity(),particles_nbody_read_snapshot(),particles_nbody_write_snapshot(),in_solid_cell(),register_testfield(),initialize_testfield(),init_aatest(),pencil_criteria_testfield(),pencil_interdep_testfield(),read_testfield_init_pars(),write_testfield_init_pars(),read_testfield_run_pars(),write_testfield_run_pars(),daatest_dt(),get_slices_testfield(),testfield_before_boundary(),testfield_after_boundary(),rescaling_testfield(),particles_register_modules(),particles_rprint_list(),particles_initialize_modules(),particles_init(),particles_finalize(),particles_read_snapshot(),particles_write_snapshot(),particles_write_dsnapshot(),particles_write_pdim(),particles_write_block(),particles_write_rmv(),particles_timestep_first(),particles_timestep_second(),split_update_particles(),particles_load_balance(),particles_boundconds(),particles_pencil_criteria(),particles_pencil_interdep(),particles_calc_pencils(),particles_calc_selfpotential(),particles_before_boundary(),particles_special_bfre_bdary(),particles_special_after_dtsub(),particles_pde(),particles_pde_pencil(),particles_calc_pencil_diags(),particles_pde_blocks(),read_all_particles_init_pars(),write_all_particles_init_pars(),read_all_particles_run_pars(),write_all_particles_run_pars(),write_dim_particles(),write_snapshot_particles(),read_snapshot_particles(),wvid_prepare(),wsnap_ogrid(),tracers_prepare(),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(),register_testscalar(),initialize_testscalar(),init_cctest(),pencil_criteria_testscalar(),pencil_interdep_testscalar(),read_testscalar_init_pars(),write_testscalar_init_pars(),read_testscalar_run_pars(),write_testscalar_run_pars(),dcctest_dt(),get_slices_testscalar(),testscalar_after_boundary(),rescaling_testscalar(),initialize_timeavg(),update_timeavgs(),wsnap_timeavgs(),calc_pencils_magnetic(),initialize_testfield_general()- Call to:
read_snaptime(),shift_dt(),fatal_error(),get_smooth_kernel(),noform(),len_fmtd_expr(),error(),levi_civita(),kronecker_delta(),ylm_other(),ylm(),step_vector(),der_step(),der6_step(),stepdown(),der_stepdown(),control_file_exists(),read_line_from_file(),hypergeometric2f1(),gamma_function(),dot2_mn(),multsv_mn(),dot_mn(),multmv_mn(),one_minus_exp(),erfunc(),interp1(),lubksb(),bspline_basis(),location_in_proc(),xlocation(),ylocation(),zlocation(),der6(),deri_3d_inds(),calc_del6_for_upwind(),global_mean(),find_max_fvec(),find_rms_fvec(),find_xyrms_fvec(),gij(),div_mn(),traceless_strain(),multm2_sym_mn(),update_on_gpu(),get_dxyzs(),mpiabort()
- subroutine sub/shift_dt(dt_)
Hack to make the code output the VARn files at EXACTLY the times defined by dsnap, instead of slightly after it.
03-aug-11/wlad: coded
- Parameters:
dt [real,inout]
- Use :
- Called from:
time_step(),max_mn(),sum_mn(),dot_mn(),vec_dot_3tensor(),matrix2linarray(),linarray2matrix(),inv2_3x3mat(),scalartripleproduct(),det3x3mat(),dot_mn_sv(),dot_mn_sv_pencil(),dot_mn_sm(),dot_mn_vm(),dot_mn_vm_trans(),dot2_mn(),dot2_mx(),dot2fj(),dyadic2(),dyadic2_other(),trace_mn(),mult_matrix(),multm2_mn(),multm2_sym_mn(),multmv_mn(),invmat_db(),multsv_mn(),multsv_mn_add(),multsm_mn(),cross_mn(),cross_mixed(),gij(),gij_v_times_s(),gijl_symmetric(),grad5(),div(),div_tensor(),div_other(),div_mn(),div_mn_2tensor(),curl_mn(),curl_horizontal(),curl(),curl_other(),curli(),del2v(),del2m3x3_sym(),del2fj(),del2fi_dxjk(),d2fi_dxj(),symmetrise3x3_ut2lt(),del2v_etc(),del2vi_etc(),del4v(),del6v(),bij_tilde(),gij_etc(),g2ij(),del4(),del6(),del6_strict(),del4graddiv(),del6_other(),del6fj(),del6fjv(),u_dot_grad_mat(),nou_dot_grad_scl(),h_dot_grad_vec(),gradf_upw1st(),rdim(),read_snaptime(),update_snaptime(),shift_dt(),set_next_dt(),set_dt(),initialize_timestep()- Call to:
read_snaptime(),shift_dt(),fatal_error(),get_smooth_kernel(),noform(),len_fmtd_expr(),error(),levi_civita(),kronecker_delta(),ylm_other(),ylm(),step_vector(),der_step(),der6_step(),stepdown(),der_stepdown(),control_file_exists(),read_line_from_file(),hypergeometric2f1(),gamma_function(),dot2_mn(),multsv_mn(),dot_mn(),multmv_mn(),one_minus_exp(),erfunc(),interp1(),lubksb(),bspline_basis(),location_in_proc(),xlocation(),ylocation(),zlocation(),der6(),deri_3d_inds(),calc_del6_for_upwind(),global_mean(),find_max_fvec(),find_rms_fvec(),find_xyrms_fvec(),gij(),div_mn(),traceless_strain(),multm2_sym_mn(),update_on_gpu(),get_dxyzs(),mpiabort()
- subroutine sub/set_next_dt(val)
- Parameters:
val [real]
- Call to:
shift_dt(),fatal_error(),get_smooth_kernel(),noform(),len_fmtd_expr(),error(),levi_civita(),kronecker_delta(),ylm_other(),ylm(),step_vector(),der_step(),der6_step(),stepdown(),der_stepdown(),control_file_exists(),read_line_from_file(),hypergeometric2f1(),gamma_function(),dot2_mn(),multsv_mn(),dot_mn(),multmv_mn(),one_minus_exp(),erfunc(),interp1(),lubksb(),bspline_basis(),location_in_proc(),xlocation(),ylocation(),zlocation(),der6(),deri_3d_inds(),calc_del6_for_upwind(),global_mean(),find_max_fvec(),find_rms_fvec(),find_xyrms_fvec(),gij(),div_mn(),traceless_strain(),multm2_sym_mn(),update_on_gpu(),get_dxyzs(),mpiabort()
- subroutine sub/set_dt(dt1_)
- Parameters:
dt1 [real]
- Use :
- Called from:
- Call to:
shift_dt(),fatal_error(),get_smooth_kernel(),noform(),len_fmtd_expr(),error(),levi_civita(),kronecker_delta(),ylm_other(),ylm(),step_vector(),der_step(),der6_step(),stepdown(),der_stepdown(),control_file_exists(),read_line_from_file(),hypergeometric2f1(),gamma_function(),dot2_mn(),multsv_mn(),dot_mn(),multmv_mn(),one_minus_exp(),erfunc(),interp1(),lubksb(),bspline_basis(),location_in_proc(),xlocation(),ylocation(),zlocation(),der6(),deri_3d_inds(),calc_del6_for_upwind(),global_mean(),find_max_fvec(),find_rms_fvec(),find_xyrms_fvec(),gij(),div_mn(),traceless_strain(),multm2_sym_mn(),update_on_gpu(),get_dxyzs(),mpiabort()
- subroutine sub/vecout(lun, file, vv, thresh, nvec)
Write vectors to disc if their length exceeds thresh.
22-jul-03/axel: coded
- Parameters:
lun [integer]
file [character]
vv (nx,3) [real]
thresh [real]
nvec [integer]
- Use :
- Called from:
register_magnetic(),initialize_magnetic(),init_aa(),pencil_criteria_magnetic(),pencil_interdep_magnetic(),daa_dt(),update_char_vel_magnetic(),set_ambipolar_diffusion(),diamagnetism(),calc_pencils_magnetic()- Call to:
fatal_error(),get_smooth_kernel(),noform(),len_fmtd_expr(),error(),levi_civita(),kronecker_delta(),ylm_other(),ylm(),step_vector(),der_step(),der6_step(),stepdown(),der_stepdown(),control_file_exists(),read_line_from_file(),hypergeometric2f1(),gamma_function(),dot2_mn(),multsv_mn(),dot_mn(),multmv_mn(),one_minus_exp(),erfunc(),interp1(),lubksb(),bspline_basis(),location_in_proc(),xlocation(),ylocation(),zlocation(),der6(),deri_3d_inds(),calc_del6_for_upwind(),global_mean(),find_max_fvec(),find_rms_fvec(),find_xyrms_fvec(),gij(),div_mn(),traceless_strain(),multm2_sym_mn(),update_on_gpu(),get_dxyzs(),mpiabort()
- subroutine sub/vecout_initialize(lun, file, nvec)
Close file, and write number of vectors to a separate file.
- Parameters:
lun [integer]
file [character]
nvec [integer]
- Call to:
fatal_error(),get_smooth_kernel(),noform(),len_fmtd_expr(),error(),levi_civita(),kronecker_delta(),ylm_other(),ylm(),step_vector(),der_step(),der6_step(),stepdown(),der_stepdown(),control_file_exists(),read_line_from_file(),hypergeometric2f1(),gamma_function(),dot2_mn(),multsv_mn(),dot_mn(),multmv_mn(),one_minus_exp(),erfunc(),interp1(),lubksb(),bspline_basis(),location_in_proc(),xlocation(),ylocation(),zlocation(),der6(),deri_3d_inds(),calc_del6_for_upwind(),global_mean(),find_max_fvec(),find_rms_fvec(),find_xyrms_fvec(),gij(),div_mn(),traceless_strain(),multm2_sym_mn(),update_on_gpu(),get_dxyzs(),mpiabort()
- subroutine sub/vecout_finalize(lun, file, nvec)
Close file, and write number of vectors to a separate file.
- Parameters:
lun [integer]
file [character]
nvec [integer]
- Call to:
fatal_error(),get_smooth_kernel(),noform(),len_fmtd_expr(),error(),levi_civita(),kronecker_delta(),ylm_other(),ylm(),step_vector(),der_step(),der6_step(),stepdown(),der_stepdown(),control_file_exists(),read_line_from_file(),hypergeometric2f1(),gamma_function(),dot2_mn(),multsv_mn(),dot_mn(),multmv_mn(),one_minus_exp(),erfunc(),interp1(),lubksb(),bspline_basis(),location_in_proc(),xlocation(),ylocation(),zlocation(),der6(),deri_3d_inds(),calc_del6_for_upwind(),global_mean(),find_max_fvec(),find_rms_fvec(),find_xyrms_fvec(),gij(),div_mn(),traceless_strain(),multm2_sym_mn(),update_on_gpu(),get_dxyzs(),mpiabort()
- subroutine sub/despike(f, j, retval, factor)
Remove large spikes from
14-aug-06/tony: coded
- Parameters:
f (,,*,*) [real,contiguous] :: /Hp_ini**2
j [integer] :: Excludes from the filtering only first and last point, which are ghostzones anyway
retval (nx) [real]
factor [real]
- Call to:
fatal_error(),get_smooth_kernel(),noform(),len_fmtd_expr(),error(),levi_civita(),kronecker_delta(),ylm_other(),ylm(),step_vector(),der_step(),der6_step(),stepdown(),der_stepdown(),control_file_exists(),read_line_from_file(),hypergeometric2f1(),gamma_function(),dot2_mn(),multsv_mn(),dot_mn(),multmv_mn(),one_minus_exp(),erfunc(),interp1(),lubksb(),bspline_basis(),location_in_proc(),xlocation(),ylocation(),zlocation(),der6(),deri_3d_inds(),calc_del6_for_upwind(),global_mean(),find_max_fvec(),find_rms_fvec(),find_xyrms_fvec(),gij(),div_mn(),traceless_strain(),multm2_sym_mn(),update_on_gpu(),get_dxyzs(),mpiabort()
- subroutine sub/smooth_kernel(f, j, smth[, smth_kernel_])
Smooth scalar field FF using predefined constant gaussian like kernel.
20-jul-06/tony: coded
- Parameters:
f (,,*,*) [real,contiguous] :: /Hp_ini**2
j [integer] :: Excludes from the filtering only first and last point, which are ghostzones anyway
smth (nx) [real]
smth_kernel_ (7,7,7) [real]
- Call to:
get_smooth_kernel(),noform(),len_fmtd_expr(),error(),levi_civita(),kronecker_delta(),ylm_other(),ylm(),fatal_error(),step_vector(),der_step(),der6_step(),stepdown(),der_stepdown(),control_file_exists(),read_line_from_file(),hypergeometric2f1(),gamma_function(),dot2_mn(),multsv_mn(),dot_mn(),multmv_mn(),one_minus_exp(),erfunc(),interp1(),lubksb(),bspline_basis(),location_in_proc(),xlocation(),ylocation(),zlocation(),der6(),deri_3d_inds(),calc_del6_for_upwind(),global_mean(),find_max_fvec(),find_rms_fvec(),find_xyrms_fvec(),gij(),div_mn(),traceless_strain(),multm2_sym_mn(),update_on_gpu(),get_dxyzs(),mpiabort()
- subroutine sub/smooth(f, ivar[, ivar2_[, lgauss[, smooth_width_]]])
Smoothes the f-variable ivar with a polynomial kernel. It assumes that the boundary conditions for ivar have been applied, and the ghost cells are not treated upon return.
23-jan-14/ccyang: coded. 05-jun-20/joenr: add gaussian kernels
- Parameters:
- Use :
- Called from:
initialize_training(),register_training(),read_training_run_pars(),write_training_run_pars(),training_after_boundary(),start- Call to:
get_smooth_kernel(),noform(),len_fmtd_expr(),error(),levi_civita(),kronecker_delta(),ylm_other(),ylm(),fatal_error(),step_vector(),der_step(),der6_step(),stepdown(),der_stepdown(),control_file_exists(),read_line_from_file(),hypergeometric2f1(),gamma_function(),dot2_mn(),multsv_mn(),dot_mn(),multmv_mn(),one_minus_exp(),erfunc(),interp1(),lubksb(),bspline_basis(),location_in_proc(),xlocation(),ylocation(),zlocation(),der6(),deri_3d_inds(),calc_del6_for_upwind(),global_mean(),find_max_fvec(),find_rms_fvec(),find_xyrms_fvec(),gij(),div_mn(),traceless_strain(),multm2_sym_mn(),update_on_gpu(),get_dxyzs(),mpiabort()
- subroutine sub/smooth_mn(f, ivar, kernel, smth)
The same routine as smooth put to be used inside the mn loop
- Parameters:
kernel (1 + 2 * nghost,1 + 2 * nghost,1 + 2 * nghost) [real,in] ::
need to be calculated previously by calling get_smooth_kernel in …
05-jun-20/joern: coded, adapted from smooth
f (,,*,*) [real,in,contiguous] :: /Hp_ini**2
ivar [integer,in]
smth (nx) [real,out]
- Call to:
noform(),len_fmtd_expr(),error(),levi_civita(),kronecker_delta(),ylm_other(),ylm(),fatal_error(),step_vector(),der_step(),der6_step(),stepdown(),der_stepdown(),control_file_exists(),read_line_from_file(),hypergeometric2f1(),gamma_function(),dot2_mn(),multsv_mn(),dot_mn(),multmv_mn(),one_minus_exp(),erfunc(),interp1(),lubksb(),bspline_basis(),location_in_proc(),xlocation(),ylocation(),zlocation(),der6(),deri_3d_inds(),calc_del6_for_upwind(),global_mean(),find_max_fvec(),find_rms_fvec(),find_xyrms_fvec(),gij(),div_mn(),traceless_strain(),multm2_sym_mn(),update_on_gpu(),get_dxyzs(),mpiabort()
- subroutine sub/get_smooth_kernel(kernel[, lgauss])
Gets the smooth kernel used by subroutine smooth.
15-feb-14/ccyang: coded 05-jun-20/joenr: add gaussian kernels
- Parameters:
kernel (1 + 2 * nghost,1 + 2 * nghost,1 + 2 * nghost) [real,out]
lgauss [logical,in,]
- Use :
- Called from:
max_mn(),sum_mn(),dot_mn(),vec_dot_3tensor(),matrix2linarray(),linarray2matrix(),inv2_3x3mat(),scalartripleproduct(),det3x3mat(),dot_mn_sv(),dot_mn_sv_pencil(),dot_mn_sm(),dot_mn_vm(),dot_mn_vm_trans(),dot2_mn(),dot2_mx(),dot2fj(),dyadic2(),dyadic2_other(),trace_mn(),mult_matrix(),multm2_mn(),multm2_sym_mn(),multmv_mn(),invmat_db(),multsv_mn(),multsv_mn_add(),multsm_mn(),cross_mn(),cross_mixed(),gij(),gij_v_times_s(),gijl_symmetric(),grad5(),div(),div_tensor(),div_other(),div_mn(),div_mn_2tensor(),curl_mn(),curl_horizontal(),curl(),curl_other(),curli(),del2v(),del2m3x3_sym(),del2fj(),del2fi_dxjk(),d2fi_dxj(),symmetrise3x3_ut2lt(),del2v_etc(),del2vi_etc(),del4v(),del6v(),bij_tilde(),gij_etc(),g2ij(),del4(),del6(),del6_strict(),del4graddiv(),del6_other(),del6fj(),del6fjv(),u_dot_grad_mat(),nou_dot_grad_scl(),h_dot_grad_vec(),gradf_upw1st(),rdim(),read_snaptime(),update_snaptime(),shift_dt(),set_next_dt(),set_dt(),vecout(),vecout_initialize(),vecout_finalize(),despike(),smooth_kernel(),smooth()- Call to:
noform(),len_fmtd_expr(),error(),levi_civita(),kronecker_delta(),ylm_other(),ylm(),fatal_error(),step_vector(),der_step(),der6_step(),stepdown(),der_stepdown(),control_file_exists(),read_line_from_file(),hypergeometric2f1(),gamma_function(),dot2_mn(),multsv_mn(),dot_mn(),multmv_mn(),one_minus_exp(),erfunc(),interp1(),lubksb(),bspline_basis(),location_in_proc(),xlocation(),ylocation(),zlocation(),der6(),deri_3d_inds(),calc_del6_for_upwind(),global_mean(),find_max_fvec(),find_rms_fvec(),find_xyrms_fvec(),gij(),div_mn(),traceless_strain(),multm2_sym_mn(),update_on_gpu(),get_dxyzs(),mpiabort()
- subroutine sub/eulag_filter(f, ivar1, ivar2)
3D filter for the data comming from EULAG. It needs filter to smoothout radial ripples Variables:
- Parameters:
f (,,*,*) [real,inout,contiguous] :: /Hp_ini**2
ivar1 [integer,in] ::
- Over the range of fields
bc = boundary conditions. 0 = boundary value is zero, 1 = boundary value of df/dr is zero
02-may-23/GM: Coded
ivar2 [integer,in]
- Call to:
noform(),len_fmtd_expr(),error(),levi_civita(),kronecker_delta(),ylm_other(),ylm(),fatal_error(),step_vector(),der_step(),der6_step(),stepdown(),der_stepdown(),control_file_exists(),read_line_from_file(),hypergeometric2f1(),gamma_function(),dot2_mn(),multsv_mn(),dot_mn(),multmv_mn(),one_minus_exp(),erfunc(),interp1(),lubksb(),bspline_basis(),location_in_proc(),xlocation(),ylocation(),zlocation(),der6(),deri_3d_inds(),calc_del6_for_upwind(),global_mean(),find_max_fvec(),find_rms_fvec(),find_xyrms_fvec(),gij(),div_mn(),traceless_strain(),multm2_sym_mn(),update_on_gpu(),get_dxyzs(),mpiabort()
- subroutine sub/identify_bcs(varname_input, idx)
Print boundary conditions for scalar field.
19-jul-02/wolf: coded 29-may-04/axel: allowed variable name to be 8 chars long
- Parameters:
varname_input [character]
idx [integer]
- Called from:
register_magnetic(),initialize_magnetic(),init_aa(),pencil_criteria_magnetic(),pencil_interdep_magnetic(),daa_dt(),register_density(),initialize_density(),init_lnrho(),density_before_boundary(),pencil_criteria_density(),pencil_interdep_density(),density_after_boundary(),dlnrho_dt(),impose_density_floor(),read_density_init_pars(),write_density_init_pars(),read_density_run_pars(),write_density_run_pars(),rprint_density(),get_slices_density(),get_slices_pressure(),get_init_average_density(),calc_pencils_density(),register_energy(),initialize_energy(),init_energy(),pencil_criteria_energy(),pencil_interdep_energy(),calc_pencils_energy(),denergy_dt(),update_char_vel_magnetic(),set_ambipolar_diffusion(),diamagnetism(),register_testfield(),initialize_testfield(),init_aatest(),pencil_criteria_testfield(),pencil_interdep_testfield(),read_testfield_init_pars(),write_testfield_init_pars(),read_testfield_run_pars(),write_testfield_run_pars(),daatest_dt(),register_polymer(),initialize_polymer(),init_poly(),pencil_criteria_polymer(),pencil_interdep_polymer(),calc_pencils_polymer(),dpoly_dt(),calc_diagnostics_polymer(),register_pscalar(),initialize_pscalar(),init_lncc(),pencil_criteria_pscalar(),pencil_interdep_pscalar(),calc_pencils_pscalar(),dlncc_dt(),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(),register_testscalar(),initialize_testscalar(),init_cctest(),pencil_criteria_testscalar(),pencil_interdep_testscalar(),read_testscalar_init_pars(),write_testscalar_init_pars(),read_testscalar_run_pars(),write_testscalar_run_pars(),dcctest_dt(),anelastic_after_mn(),calc_pencils_magnetic(),pencil_criteria_entropy(),pencil_interdep_entropy(),calc_pencils_entropy(),initialize_testfield_general(),calc_uxb(),calc_diffusive_part(),calc_diffusive_part_prof_0d(),calc_diffusive_part_prof_1d(),calc_inverse_matrix(),calc_coefficients(),diagnos_interdep(),rhs_daatest()- Call to:
noform(),len_fmtd_expr(),error(),levi_civita(),kronecker_delta(),ylm_other(),ylm(),fatal_error(),step_vector(),der_step(),der6_step(),stepdown(),der_stepdown(),control_file_exists(),read_line_from_file(),hypergeometric2f1(),gamma_function(),dot2_mn(),multsv_mn(),dot_mn(),multmv_mn(),one_minus_exp(),erfunc(),interp1(),lubksb(),bspline_basis(),location_in_proc(),xlocation(),ylocation(),zlocation(),der6(),deri_3d_inds(),calc_del6_for_upwind(),global_mean(),find_max_fvec(),find_rms_fvec(),find_xyrms_fvec(),gij(),div_mn(),traceless_strain(),multm2_sym_mn(),update_on_gpu(),get_dxyzs(),mpiabort()
- function sub/noform(cname[, lcomplex[, addlengths[, addtexts]]])
Given a string cname of the form `name(format)’, returns the name without format, fills empty space of correct length (depending on format) with dashes. If additional data (like extrema positions) are associated with the diagnostic requested by cname: addlength: length of all strings for additional data. addtext: array with header names for additional data.
For output as legend.dat and first line of time_series.dat.
22-jun-02/axel: coded 20-aug-13/MR: optional parameter lcomplex added 26-aug-13/MR: unnecessary p descriptors removed from cform
- Parameters:
cname [character,in]
lcomplex [logical]
addlengths (*) [integer]
addtexts (*) [character]
- Return:
noform [character]
- Use :
- Called from:
initialize_diagnostics(),initialize_diagnostic_arrays(),prints(),report_undefined_diagnostics(),gen_form_legend(),write_sound(),max_mn(),sum_mn(),dot_mn(),vec_dot_3tensor(),matrix2linarray(),linarray2matrix(),inv2_3x3mat(),scalartripleproduct(),det3x3mat(),dot_mn_sv(),dot_mn_sv_pencil(),dot_mn_sm(),dot_mn_vm(),dot_mn_vm_trans(),dot2_mn(),dot2_mx(),dot2fj(),dyadic2(),dyadic2_other(),trace_mn(),mult_matrix(),multm2_mn(),multm2_sym_mn(),multmv_mn(),invmat_db(),multsv_mn(),multsv_mn_add(),multsm_mn(),cross_mn(),cross_mixed(),gij(),gij_v_times_s(),gijl_symmetric(),grad5(),div(),div_tensor(),div_other(),div_mn(),div_mn_2tensor(),curl_mn(),curl_horizontal(),curl(),curl_other(),curli(),del2v(),del2m3x3_sym(),del2fj(),del2fi_dxjk(),d2fi_dxj(),symmetrise3x3_ut2lt(),del2v_etc(),del2vi_etc(),del4v(),del6v(),bij_tilde(),gij_etc(),g2ij(),del4(),del6(),del6_strict(),del4graddiv(),del6_other(),del6fj(),del6fjv(),u_dot_grad_mat(),nou_dot_grad_scl(),h_dot_grad_vec(),gradf_upw1st(),rdim(),read_snaptime(),update_snaptime(),shift_dt(),set_next_dt(),set_dt(),vecout(),vecout_initialize(),vecout_finalize(),despike(),smooth_kernel(),smooth(),smooth_mn(),get_smooth_kernel(),eulag_filter(),identify_bcs()- Call to:
len_fmtd_expr(),error(),levi_civita(),kronecker_delta(),ylm_other()
- function sub/len_fmtd_expr(cform)
Find length=number of formatted expression from format cform, examples: f10.2, e10.3, g12.1 .
5-may-26/MR: carved out from noform
- Parameters:
cform [character]
- Return:
number [integer]
- Called from:
initialize_diagnostic_arrays(),max_mn(),sum_mn(),dot_mn(),vec_dot_3tensor(),matrix2linarray(),linarray2matrix(),inv2_3x3mat(),scalartripleproduct(),det3x3mat(),dot_mn_sv(),dot_mn_sv_pencil(),dot_mn_sm(),dot_mn_vm(),dot_mn_vm_trans(),dot2_mn(),dot2_mx(),dot2fj(),dyadic2(),dyadic2_other(),trace_mn(),mult_matrix(),multm2_mn(),multm2_sym_mn(),multmv_mn(),invmat_db(),multsv_mn(),multsv_mn_add(),multsm_mn(),cross_mn(),cross_mixed(),gij(),gij_v_times_s(),gijl_symmetric(),grad5(),div(),div_tensor(),div_other(),div_mn(),div_mn_2tensor(),curl_mn(),curl_horizontal(),curl(),curl_other(),curli(),del2v(),del2m3x3_sym(),del2fj(),del2fi_dxjk(),d2fi_dxj(),symmetrise3x3_ut2lt(),del2v_etc(),del2vi_etc(),del4v(),del6v(),bij_tilde(),gij_etc(),g2ij(),del4(),del6(),del6_strict(),del4graddiv(),del6_other(),del6fj(),del6fjv(),u_dot_grad_mat(),nou_dot_grad_scl(),h_dot_grad_vec(),gradf_upw1st(),rdim(),read_snaptime(),update_snaptime(),shift_dt(),set_next_dt(),set_dt(),vecout(),vecout_initialize(),vecout_finalize(),despike(),smooth_kernel(),smooth(),smooth_mn(),get_smooth_kernel(),eulag_filter(),identify_bcs(),noform()- Call to:
- function sub/levi_civita(i, j, k)
Totally antisymmetric tensor.
20-jul-03/axel: coded
- Parameters:
i [integer]
j [integer]
k [integer]
- Return:
levi_civita [real]
- Called from:
max_mn(),sum_mn(),dot_mn(),vec_dot_3tensor(),matrix2linarray(),linarray2matrix(),inv2_3x3mat(),scalartripleproduct(),det3x3mat(),dot_mn_sv(),dot_mn_sv_pencil(),dot_mn_sm(),dot_mn_vm(),dot_mn_vm_trans(),dot2_mn(),dot2_mx(),dot2fj(),dyadic2(),dyadic2_other(),trace_mn(),mult_matrix(),multm2_mn(),multm2_sym_mn(),multmv_mn(),invmat_db(),multsv_mn(),multsv_mn_add(),multsm_mn(),cross_mn(),cross_mixed(),gij(),gij_v_times_s(),gijl_symmetric(),grad5(),div(),div_tensor(),div_other(),div_mn(),div_mn_2tensor(),curl_mn(),curl_horizontal(),curl(),curl_other(),curli(),del2v(),del2m3x3_sym(),del2fj(),del2fi_dxjk(),d2fi_dxj(),symmetrise3x3_ut2lt(),del2v_etc(),del2vi_etc(),del4v(),del6v(),bij_tilde(),gij_etc(),g2ij(),del4(),del6(),del6_strict(),del4graddiv(),del6_other(),del6fj(),del6fjv(),u_dot_grad_mat(),nou_dot_grad_scl(),h_dot_grad_vec(),gradf_upw1st(),rdim(),read_snaptime(),update_snaptime(),shift_dt(),set_next_dt(),set_dt(),vecout(),vecout_initialize(),vecout_finalize(),despike(),smooth_kernel(),smooth(),smooth_mn(),get_smooth_kernel(),eulag_filter(),identify_bcs(),noform(),len_fmtd_expr()- Call to:
- function sub/kronecker_delta(i, j)
delta_{ij} = 1 if i==j, 0 otherwise
28-oct-11/dhruba: coded
- Parameters:
i [integer]
j [integer]
- Return:
kronecker_delta [real]
- Called from:
register_particles_lyapunov(),initialize_particles_lyapunov(),init_particles_lyapunov(),register_polymer(),initialize_polymer(),init_poly(),pencil_criteria_polymer(),pencil_interdep_polymer(),calc_pencils_polymer(),dpoly_dt(),calc_diagnostics_polymer(),max_mn(),sum_mn(),dot_mn(),vec_dot_3tensor(),matrix2linarray(),linarray2matrix(),inv2_3x3mat(),scalartripleproduct(),det3x3mat(),dot_mn_sv(),dot_mn_sv_pencil(),dot_mn_sm(),dot_mn_vm(),dot_mn_vm_trans(),dot2_mn(),dot2_mx(),dot2fj(),dyadic2(),dyadic2_other(),trace_mn(),mult_matrix(),multm2_mn(),multm2_sym_mn(),multmv_mn(),invmat_db(),multsv_mn(),multsv_mn_add(),multsm_mn(),cross_mn(),cross_mixed(),gij(),gij_v_times_s(),gijl_symmetric(),grad5(),div(),div_tensor(),div_other(),div_mn(),div_mn_2tensor(),curl_mn(),curl_horizontal(),curl(),curl_other(),curli(),del2v(),del2m3x3_sym(),del2fj(),del2fi_dxjk(),d2fi_dxj(),symmetrise3x3_ut2lt(),del2v_etc(),del2vi_etc(),del4v(),del6v(),bij_tilde(),gij_etc(),g2ij(),del4(),del6(),del6_strict(),del4graddiv(),del6_other(),del6fj(),del6fjv(),u_dot_grad_mat(),nou_dot_grad_scl(),h_dot_grad_vec(),gradf_upw1st(),rdim(),read_snaptime(),update_snaptime(),shift_dt(),set_next_dt(),set_dt(),vecout(),vecout_initialize(),vecout_finalize(),despike(),smooth_kernel(),smooth(),smooth_mn(),get_smooth_kernel(),eulag_filter(),identify_bcs(),noform(),len_fmtd_expr(),levi_civita()- Call to:
- subroutine sub/lower_triangular_index(ij, i1, j1)
- Parameters:
ij [integer,out]
i1 [integer,in]
j1 [integer,in]
- Call to:
ylm_other(),ylm(),fatal_error(),step_vector(),der_step(),der6_step(),stepdown(),der_stepdown(),control_file_exists(),read_line_from_file(),hypergeometric2f1(),gamma_function(),dot2_mn(),multsv_mn(),dot_mn(),multmv_mn(),one_minus_exp(),erfunc(),interp1(),lubksb(),bspline_basis(),location_in_proc(),xlocation(),ylocation(),zlocation(),der6(),deri_3d_inds(),calc_del6_for_upwind(),global_mean(),find_max_fvec(),find_rms_fvec(),find_xyrms_fvec(),gij(),div_mn(),traceless_strain(),multm2_sym_mn(),update_on_gpu(),get_dxyzs(),mpiabort()
- function sub/ylm_other(theta, phi, ell, emm[, der])
Spherical harmonic wrapper for general use with theta and phi arguments.
6-oct-20/MR: derived from ylm
- Parameters:
theta [real]
phi [real]
ell [integer]
emm [integer]
der [real]
- Return:
sph_har [real]
- Called from:
register_pscalar(),initialize_pscalar(),init_lncc(),max_mn(),sum_mn(),dot_mn(),vec_dot_3tensor(),matrix2linarray(),linarray2matrix(),inv2_3x3mat(),scalartripleproduct(),det3x3mat(),dot_mn_sv(),dot_mn_sv_pencil(),dot_mn_sm(),dot_mn_vm(),dot_mn_vm_trans(),dot2_mn(),dot2_mx(),dot2fj(),dyadic2(),dyadic2_other(),trace_mn(),mult_matrix(),multm2_mn(),multm2_sym_mn(),multmv_mn(),invmat_db(),multsv_mn(),multsv_mn_add(),multsm_mn(),cross_mn(),cross_mixed(),gij(),gij_v_times_s(),gijl_symmetric(),grad5(),div(),div_tensor(),div_other(),div_mn(),div_mn_2tensor(),curl_mn(),curl_horizontal(),curl(),curl_other(),curli(),del2v(),del2m3x3_sym(),del2fj(),del2fi_dxjk(),d2fi_dxj(),symmetrise3x3_ut2lt(),del2v_etc(),del2vi_etc(),del4v(),del6v(),bij_tilde(),gij_etc(),g2ij(),del4(),del6(),del6_strict(),del4graddiv(),del6_other(),del6fj(),del6fjv(),u_dot_grad_mat(),nou_dot_grad_scl(),h_dot_grad_vec(),gradf_upw1st(),rdim(),read_snaptime(),update_snaptime(),shift_dt(),set_next_dt(),set_dt(),vecout(),vecout_initialize(),vecout_finalize(),despike(),smooth_kernel(),smooth(),smooth_mn(),get_smooth_kernel(),eulag_filter(),identify_bcs(),noform(),len_fmtd_expr(),levi_civita(),kronecker_delta(),lower_triangular_index()
- function sub/ylm(ell, emm[, der])
Spherical harmonic wrapper for use in mn-loop.
6-oct-20/MR: derived from ylm
- Parameters:
ell [integer]
emm [integer]
der [real]
- Return:
sph_har [real]
- Called from:
register_pscalar(),initialize_pscalar(),init_lncc(),max_mn(),sum_mn(),dot_mn(),vec_dot_3tensor(),matrix2linarray(),linarray2matrix(),inv2_3x3mat(),scalartripleproduct(),det3x3mat(),dot_mn_sv(),dot_mn_sv_pencil(),dot_mn_sm(),dot_mn_vm(),dot_mn_vm_trans(),dot2_mn(),dot2_mx(),dot2fj(),dyadic2(),trace_mn(),mult_matrix(),multm2_mn(),multm2_sym_mn(),multmv_mn(),invmat_db(),multsv_mn(),multsv_mn_add(),multsm_mn(),cross_mn(),cross_mixed(),gij(),gij_v_times_s(),gijl_symmetric(),grad5(),div(),div_tensor(),div_other(),div_mn(),div_mn_2tensor(),curl_mn(),curl_horizontal(),curl(),curl_other(),curli(),del2v(),del2m3x3_sym(),del2fj(),del2fi_dxjk(),d2fi_dxj(),symmetrise3x3_ut2lt(),del2v_etc(),del2vi_etc(),del4v(),del6v(),bij_tilde(),gij_etc(),g2ij(),del4(),del6(),del6_strict(),del4graddiv(),del6_other(),del6fj(),del6fjv(),u_dot_grad_mat(),nou_dot_grad_scl(),h_dot_grad_vec(),gradf_upw1st(),rdim(),read_snaptime(),update_snaptime(),shift_dt(),set_next_dt(),set_dt(),vecout(),vecout_initialize(),vecout_finalize(),despike(),smooth_kernel(),smooth(),smooth_mn(),get_smooth_kernel(),eulag_filter(),identify_bcs(),lower_triangular_index()
- function sub/step_vector(x, x0, width)
Smooth unit step function centred at x0; implemented as tanh profile
23-jan-02/wolf: coded
- Parameters:
x (*) [real]
x0 [real]
width [real] :: fill the weights with gaussian distribution.
- Return:
step_vector (size(x) [real]
- Called from:
max_mn(),sum_mn(),dot_mn(),vec_dot_3tensor(),matrix2linarray(),linarray2matrix(),inv2_3x3mat(),scalartripleproduct(),det3x3mat(),dot_mn_sv(),dot_mn_sv_pencil(),dot_mn_sm(),dot_mn_vm(),dot_mn_vm_trans(),dot2_mn(),dot2_mx(),dot2fj(),dyadic2(),trace_mn(),mult_matrix(),multm2_mn(),multm2_sym_mn(),multmv_mn(),invmat_db(),multsv_mn(),multsv_mn_add(),multsm_mn(),cross_mn(),cross_mixed(),gij(),gij_v_times_s(),gijl_symmetric(),grad5(),div(),div_tensor(),div_other(),div_mn(),div_mn_2tensor(),curl_mn(),curl_horizontal(),curl(),curl_other(),curli(),del2v(),del2m3x3_sym(),del2fj(),del2fi_dxjk(),d2fi_dxj(),symmetrise3x3_ut2lt(),del2v_etc(),del2vi_etc(),del4v(),del6v(),bij_tilde(),gij_etc(),g2ij(),del4(),del6(),del6_strict(),del4graddiv(),del6_other(),del6fj(),del6fjv(),u_dot_grad_mat(),nou_dot_grad_scl(),h_dot_grad_vec(),gradf_upw1st(),rdim(),read_snaptime(),update_snaptime(),shift_dt(),set_next_dt(),set_dt(),vecout(),vecout_initialize(),vecout_finalize(),despike(),smooth_kernel(),smooth(),smooth_mn(),get_smooth_kernel(),eulag_filter(),identify_bcs(),lower_triangular_index()- Call to:
der_step(),der6_step(),stepdown(),der_stepdown(),fatal_error(),control_file_exists(),read_line_from_file(),hypergeometric2f1(),gamma_function(),dot2_mn(),multsv_mn(),dot_mn(),multmv_mn(),one_minus_exp(),erfunc(),interp1(),lubksb(),bspline_basis(),location_in_proc(),xlocation(),ylocation(),zlocation(),der6(),deri_3d_inds(),calc_del6_for_upwind(),global_mean(),find_max_fvec(),find_rms_fvec(),find_xyrms_fvec(),gij(),div_mn(),traceless_strain(),multm2_sym_mn(),update_on_gpu(),get_dxyzs(),mpiabort()
- function sub/der_step(x, x0, width)
- Parameters:
x [real,in]
x0 [real,in]
width [real,in]
- Return:
der_step [real]
- Called from:
register_magnetic(),initialize_magnetic(),init_aa(),pencil_criteria_magnetic(),pencil_interdep_magnetic(),magnetic_after_boundary(),daa_dt(),read_magnetic_init_pars(),write_magnetic_init_pars(),read_magnetic_run_pars(),write_magnetic_run_pars(),get_slices_magnetic(),time_integrals_magnetic(),df_diagnos_magnetic(),rescaling_magnetic(),calc_mfield(),energy_after_boundary(),update_char_vel_magnetic(),set_ambipolar_diffusion(),diamagnetism(),set_border_magnetic(),eta_shell(),calc_bthresh(),calc_tau_aa_exterior(),helflux(),curflux_ds(),curflux(),calc_bmx(),calc_bmy(),calc_bmzs2(),calc_bmza2(),calc_bmz(),calc_jmx(),calc_jmy(),calc_jmz(),calc_embmz(),calc_emxamz3(),calc_ambmz(),calc_ambmzh(),calc_jmbmz(),calc_bmxy_rms(),calc_bmz_beltrami_phase(),alfven_x(),alfven_y(),alfven_z(),alfven_xy(),alfven_xz(),alfvenz_rot(),alfvenz_bell(),alfvenz_rot_shear(),torus_test(),force_free_jet(),piecew_dipole_aa(),geo_benchmark_b(),eta_xy_dep(),eta_zdep(),eta_ydep(),eta_xdep(),register_viscosity(),initialize_viscosity(),read_viscosity_run_pars(),write_viscosity_run_pars(),rprint_viscosity(),pencil_criteria_viscosity(),pencil_interdep_viscosity(),calc_pencils_viscosity(),viscosity_after_boundary(),calc_pencils_magnetic(),sine_avoid_boundary(),alfven_rphi(),alfven_zconst(),alfven_rz(),pencil_criteria_entropy(),pencil_interdep_entropy(),calc_pencils_entropy(),rad_equil(),calc_heatcond_arctan(),max_mn(),sum_mn(),dot_mn(),vec_dot_3tensor(),matrix2linarray(),linarray2matrix(),inv2_3x3mat(),scalartripleproduct(),det3x3mat(),dot_mn_sv(),dot_mn_sv_pencil(),dot_mn_sm(),dot_mn_vm(),dot_mn_vm_trans(),dot2_mn(),dot2_mx(),dot2fj(),dyadic2(),trace_mn(),mult_matrix(),multm2_mn(),multm2_sym_mn(),multmv_mn(),invmat_db(),multsv_mn(),multsv_mn_add(),multsm_mn(),cross_mn(),cross_mixed(),gij(),gij_v_times_s(),gijl_symmetric(),grad5(),div(),div_tensor(),div_other(),div_mn(),div_mn_2tensor(),curl_mn(),curl_horizontal(),curl(),curl_other(),curli(),del2v(),del2m3x3_sym(),del2fj(),del2fi_dxjk(),d2fi_dxj(),symmetrise3x3_ut2lt(),del2v_etc(),del2vi_etc(),del4v(),del6v(),bij_tilde(),gij_etc(),g2ij(),del4(),del6(),del6_strict(),del4graddiv(),del6_other(),del6fj(),del6fjv(),u_dot_grad_mat(),nou_dot_grad_scl(),h_dot_grad_vec(),gradf_upw1st(),rdim(),read_snaptime(),update_snaptime(),shift_dt(),set_next_dt(),set_dt(),vecout(),vecout_initialize(),vecout_finalize(),despike(),smooth_kernel(),smooth(),smooth_mn(),get_smooth_kernel(),eulag_filter(),identify_bcs(),lower_triangular_index(),step_vector(),der6_step(),stepdown(),der_stepdown(),coeff_ydep()
- function sub/der6_step(x, x0, width)
6th order derivative of smooth unit STEP() function given above (i.e. a bump profile). Adapt this if you change the STEP() profile, or you will run into inconsistenies.
08-dec-09/dhruba: aped from der_step
- Parameters:
x (*) [real]
x0 [real]
width [real] :: fill the weights with gaussian distribution.
- Return:
der6_step (size(x, 1) [real]
- Called from:
max_mn(),sum_mn(),dot_mn(),vec_dot_3tensor(),matrix2linarray(),linarray2matrix(),inv2_3x3mat(),scalartripleproduct(),det3x3mat(),dot_mn_sv(),dot_mn_sv_pencil(),dot_mn_sm(),dot_mn_vm(),dot_mn_vm_trans(),dot2_mn(),dot2_mx(),dot2fj(),dyadic2(),trace_mn(),mult_matrix(),multm2_mn(),multm2_sym_mn(),multmv_mn(),invmat_db(),multsv_mn(),multsv_mn_add(),multsm_mn(),cross_mn(),cross_mixed(),gij(),gij_v_times_s(),gijl_symmetric(),grad5(),div(),div_tensor(),div_other(),div_mn(),div_mn_2tensor(),curl_mn(),curl_horizontal(),curl(),curl_other(),curli(),del2v(),del2m3x3_sym(),del2fj(),del2fi_dxjk(),d2fi_dxj(),symmetrise3x3_ut2lt(),del2v_etc(),del2vi_etc(),del4v(),del6v(),bij_tilde(),gij_etc(),g2ij(),del4(),del6(),del6_strict(),del4graddiv(),del6_other(),del6fj(),del6fjv(),u_dot_grad_mat(),nou_dot_grad_scl(),h_dot_grad_vec(),gradf_upw1st(),rdim(),read_snaptime(),update_snaptime(),shift_dt(),set_next_dt(),set_dt(),vecout(),vecout_initialize(),vecout_finalize(),despike(),smooth_kernel(),smooth(),smooth_mn(),get_smooth_kernel(),eulag_filter(),identify_bcs(),lower_triangular_index(),step_vector()- Call to:
stepdown(),der_stepdown(),der_step(),fatal_error(),control_file_exists(),read_line_from_file(),hypergeometric2f1(),gamma_function(),dot2_mn(),multsv_mn(),dot_mn(),multmv_mn(),one_minus_exp(),erfunc(),interp1(),lubksb(),bspline_basis(),location_in_proc(),xlocation(),ylocation(),zlocation(),der6(),deri_3d_inds(),calc_del6_for_upwind(),global_mean(),find_max_fvec(),find_rms_fvec(),find_xyrms_fvec(),gij(),div_mn(),traceless_strain(),multm2_sym_mn(),update_on_gpu(),get_dxyzs(),mpiabort()
- function sub/stepdown(x, x0, width)
Smooth unit step function centred at x0; implemented as tanh profile
23-jan-02/wolf: coded
- Parameters:
x (*) [real]
x0 [real]
width [real] :: fill the weights with gaussian distribution.
- Return:
stepdown (size(x, 1) [real]
- Called from:
register_viscosity(),initialize_viscosity(),max_mn(),sum_mn(),dot_mn(),vec_dot_3tensor(),matrix2linarray(),linarray2matrix(),inv2_3x3mat(),scalartripleproduct(),det3x3mat(),dot_mn_sv(),dot_mn_sv_pencil(),dot_mn_sm(),dot_mn_vm(),dot_mn_vm_trans(),dot2_mn(),dot2_mx(),dot2fj(),dyadic2(),trace_mn(),mult_matrix(),multm2_mn(),multm2_sym_mn(),multmv_mn(),invmat_db(),multsv_mn(),multsv_mn_add(),multsm_mn(),cross_mn(),cross_mixed(),gij(),gij_v_times_s(),gijl_symmetric(),grad5(),div(),div_tensor(),div_other(),div_mn(),div_mn_2tensor(),curl_mn(),curl_horizontal(),curl(),curl_other(),curli(),del2v(),del2m3x3_sym(),del2fj(),del2fi_dxjk(),d2fi_dxj(),symmetrise3x3_ut2lt(),del2v_etc(),del2vi_etc(),del4v(),del6v(),bij_tilde(),gij_etc(),g2ij(),del4(),del6(),del6_strict(),del4graddiv(),del6_other(),del6fj(),del6fjv(),u_dot_grad_mat(),nou_dot_grad_scl(),h_dot_grad_vec(),gradf_upw1st(),rdim(),read_snaptime(),update_snaptime(),shift_dt(),set_next_dt(),set_dt(),vecout(),vecout_initialize(),vecout_finalize(),despike(),smooth_kernel(),smooth(),smooth_mn(),get_smooth_kernel(),eulag_filter(),identify_bcs(),lower_triangular_index(),step_vector(),der6_step()- Call to:
der_stepdown(),der_step(),fatal_error(),control_file_exists(),read_line_from_file(),hypergeometric2f1(),gamma_function(),dot2_mn(),multsv_mn(),dot_mn(),multmv_mn(),one_minus_exp(),erfunc(),interp1(),lubksb(),bspline_basis(),location_in_proc(),xlocation(),ylocation(),zlocation(),der6(),deri_3d_inds(),calc_del6_for_upwind(),global_mean(),find_max_fvec(),find_rms_fvec(),find_xyrms_fvec(),gij(),div_mn(),traceless_strain(),multm2_sym_mn(),update_on_gpu(),get_dxyzs(),mpiabort()
- function sub/der_stepdown(x, x0, width)
Derivative of smooth unit STEPDOWN() function given above (i.e. a bump profile). Adapt this if you change the STEP() profile, or you will run into inconsistenies.
27-mar-10/dhruba: aped from der_step
- Parameters:
x (*) [real]
x0 [real]
width [real] :: fill the weights with gaussian distribution.
- Return:
der_stepdown (size(x, 1) [real]
- Called from:
register_viscosity(),initialize_viscosity(),max_mn(),sum_mn(),dot_mn(),vec_dot_3tensor(),matrix2linarray(),linarray2matrix(),inv2_3x3mat(),scalartripleproduct(),det3x3mat(),dot_mn_sv(),dot_mn_sv_pencil(),dot_mn_sm(),dot_mn_vm(),dot_mn_vm_trans(),dot2_mn(),dot2_mx(),dot2fj(),dyadic2(),trace_mn(),mult_matrix(),multm2_mn(),multm2_sym_mn(),multmv_mn(),invmat_db(),multsv_mn(),multsv_mn_add(),multsm_mn(),cross_mn(),cross_mixed(),gij(),gij_v_times_s(),gijl_symmetric(),grad5(),div(),div_tensor(),div_other(),div_mn(),div_mn_2tensor(),curl_mn(),curl_horizontal(),curl(),curl_other(),curli(),del2v(),del2m3x3_sym(),del2fj(),del2fi_dxjk(),d2fi_dxj(),symmetrise3x3_ut2lt(),del2v_etc(),del2vi_etc(),del4v(),del6v(),bij_tilde(),gij_etc(),g2ij(),del4(),del6(),del6_strict(),del4graddiv(),del6_other(),del6fj(),del6fjv(),u_dot_grad_mat(),nou_dot_grad_scl(),h_dot_grad_vec(),gradf_upw1st(),rdim(),read_snaptime(),update_snaptime(),shift_dt(),set_next_dt(),set_dt(),vecout(),vecout_initialize(),vecout_finalize(),despike(),smooth_kernel(),smooth(),smooth_mn(),get_smooth_kernel(),eulag_filter(),identify_bcs(),lower_triangular_index(),step_vector(),der6_step(),stepdown()- Call to:
der_step(),fatal_error(),control_file_exists(),read_line_from_file(),hypergeometric2f1(),gamma_function(),dot2_mn(),multsv_mn(),dot_mn(),multmv_mn(),one_minus_exp(),erfunc(),interp1(),lubksb(),bspline_basis(),location_in_proc(),xlocation(),ylocation(),zlocation(),der6(),deri_3d_inds(),calc_del6_for_upwind(),global_mean(),find_max_fvec(),find_rms_fvec(),find_xyrms_fvec(),gij(),div_mn(),traceless_strain(),multm2_sym_mn(),update_on_gpu(),get_dxyzs(),mpiabort()
- subroutine sub/coeff_ydep(ydep_profile, y, coeff, ampl, coeff_y[, gcoeff_y[, jump[, width[, y0[, y1[, two_step_factor]]]]]])
creates a z-dependent resistivity for protoplanetary disk studies
19-aug-2013/wlad: adapted from eta_zdep
- Parameters:
- Call to:
der_step(),fatal_error(),control_file_exists(),read_line_from_file(),hypergeometric2f1(),gamma_function(),dot2_mn(),multsv_mn(),dot_mn(),multmv_mn(),one_minus_exp(),erfunc(),interp1(),lubksb(),bspline_basis(),location_in_proc(),xlocation(),ylocation(),zlocation(),der6(),deri_3d_inds(),calc_del6_for_upwind(),global_mean(),find_max_fvec(),find_rms_fvec(),find_xyrms_fvec(),gij(),div_mn(),traceless_strain(),multm2_sym_mn(),update_on_gpu(),get_dxyzs(),mpiabort()
- subroutine sub/parse_bc(bc, bc12)
- Parameters:
- Called from:
get_datadir(),get_snapdir(),read_all_init_pars(),read_all_run_pars()- Call to:
fatal_error(),control_file_exists(),read_line_from_file(),hypergeometric2f1(),gamma_function(),dot2_mn(),multsv_mn(),dot_mn(),multmv_mn(),one_minus_exp(),erfunc(),interp1(),lubksb(),bspline_basis(),location_in_proc(),xlocation(),ylocation(),zlocation(),der6(),deri_3d_inds(),calc_del6_for_upwind(),global_mean(),find_max_fvec(),find_rms_fvec(),find_xyrms_fvec(),gij(),div_mn(),traceless_strain(),multm2_sym_mn(),update_on_gpu(),get_dxyzs(),mpiabort()
- subroutine sub/inverse_parse_bc(bc, bc12)
27-jun-12/joern+dhruba: coded
- Parameters:
- Called from:
get_datadir(),get_snapdir(),read_all_init_pars(),read_all_run_pars(),get_downpars()- Call to:
fatal_error(),control_file_exists(),read_line_from_file(),hypergeometric2f1(),gamma_function(),dot2_mn(),multsv_mn(),dot_mn(),multmv_mn(),one_minus_exp(),erfunc(),interp1(),lubksb(),bspline_basis(),location_in_proc(),xlocation(),ylocation(),zlocation(),der6(),deri_3d_inds(),calc_del6_for_upwind(),global_mean(),find_max_fvec(),find_rms_fvec(),find_xyrms_fvec(),gij(),div_mn(),traceless_strain(),multm2_sym_mn(),update_on_gpu(),get_dxyzs(),mpiabort()
- subroutine sub/parse_bc_rad(bc, bc1, bc2)
- Parameters:
bc (3) [character,in]
bc1 (3) [character,out]
bc2 (3) [character,out]
- Call to:
fatal_error(),control_file_exists(),read_line_from_file(),hypergeometric2f1(),gamma_function(),dot2_mn(),multsv_mn(),dot_mn(),multmv_mn(),one_minus_exp(),erfunc(),interp1(),lubksb(),bspline_basis(),location_in_proc(),xlocation(),ylocation(),zlocation(),der6(),deri_3d_inds(),calc_del6_for_upwind(),global_mean(),find_max_fvec(),find_rms_fvec(),find_xyrms_fvec(),gij(),div_mn(),traceless_strain(),multm2_sym_mn(),update_on_gpu(),get_dxyzs(),mpiabort()
- subroutine sub/parse_bc_radg(bc, bc1, bc2)
- Parameters:
bc [character,in]
bc1 [character,out]
bc2 [character,out]
- Call to:
fatal_error(),control_file_exists(),read_line_from_file(),hypergeometric2f1(),gamma_function(),dot2_mn(),multsv_mn(),dot_mn(),multmv_mn(),one_minus_exp(),erfunc(),interp1(),lubksb(),bspline_basis(),location_in_proc(),xlocation(),ylocation(),zlocation(),der6(),deri_3d_inds(),calc_del6_for_upwind(),global_mean(),find_max_fvec(),find_rms_fvec(),find_xyrms_fvec(),gij(),div_mn(),traceless_strain(),multm2_sym_mn(),update_on_gpu(),get_dxyzs(),mpiabort()
- subroutine sub/parse_shell(strin, strout)
Parse string replacing all $XXXX sequences with appropriate values from the environment. Return the parsed result in strout.
- Parameters:
strin [character,in]
strout [character,inout]
- Use :
- Called from:
- Call to:
control_file_exists(),read_line_from_file(),fatal_error(),hypergeometric2f1(),gamma_function(),dot2_mn(),multsv_mn(),dot_mn(),multmv_mn(),one_minus_exp(),erfunc(),interp1(),lubksb(),bspline_basis(),location_in_proc(),xlocation(),ylocation(),zlocation(),der6(),deri_3d_inds(),calc_del6_for_upwind(),global_mean(),find_max_fvec(),find_rms_fvec(),find_xyrms_fvec(),gij(),div_mn(),traceless_strain(),multm2_sym_mn(),update_on_gpu(),get_dxyzs(),mpiabort()
- function sub/control_file_exists(fname[, delete])
Does the given control file exist in either ./ or ./runtime/ ? If DELETE is true, delete the file after checking for existence.
26-jul-09/wolf: coded
- Parameters:
fname [character,in]
delete [logical,in,]
- Return:
control_file_exists [logical]
- Use :
- Called from:
init_solid_cells(),helper_loop(),reload(),gen_output(),timeloop(),check_tspec_crit_log_interval(),check_tsnap_crit_log_interval(),check_tvid_crit_log_interval(),setup_signal_files(),print_metrics(),run_start(),max_mn(),sum_mn(),dot_mn(),vec_dot_3tensor(),matrix2linarray(),linarray2matrix(),inv2_3x3mat(),scalartripleproduct(),det3x3mat(),dot_mn_sv(),dot_mn_sv_pencil(),dot_mn_sm(),dot_mn_vm(),dot_mn_vm_trans(),dot2_mn(),dot2_mx(),dot2fj(),dyadic2(),trace_mn(),mult_matrix(),multm2_mn(),multm2_sym_mn(),multmv_mn(),invmat_db(),multsv_mn(),multsv_mn_add(),multsm_mn(),cross_mn(),cross_mixed(),gij(),gij_v_times_s(),gijl_symmetric(),grad5(),div(),div_tensor(),div_other(),div_mn(),div_mn_2tensor(),curl_mn(),curl_horizontal(),curl(),curl_other(),curli(),del2v(),del2m3x3_sym(),del2fj(),del2fi_dxjk(),d2fi_dxj(),symmetrise3x3_ut2lt(),del2v_etc(),del2vi_etc(),del4v(),del6v(),bij_tilde(),gij_etc(),g2ij(),del4(),del6(),del6_strict(),del4graddiv(),del6_other(),del6fj(),del6fjv(),u_dot_grad_mat(),nou_dot_grad_scl(),h_dot_grad_vec(),gradf_upw1st(),rdim(),read_snaptime(),update_snaptime(),shift_dt(),set_next_dt(),set_dt(),vecout(),vecout_initialize(),vecout_finalize(),despike(),smooth_kernel(),smooth(),smooth_mn(),get_smooth_kernel(),eulag_filter(),identify_bcs(),lower_triangular_index(),step_vector(),der6_step(),stepdown(),der_stepdown(),coeff_ydep(),parse_bc(),inverse_parse_bc(),parse_bc_rad(),parse_bc_radg(),parse_shell(),start- Call to:
read_line_from_file(),fatal_error(),hypergeometric2f1(),gamma_function(),dot2_mn(),multsv_mn(),dot_mn(),multmv_mn(),one_minus_exp(),erfunc(),interp1(),lubksb(),bspline_basis(),location_in_proc(),xlocation(),ylocation(),zlocation(),der6(),deri_3d_inds(),calc_del6_for_upwind(),global_mean(),find_max_fvec(),find_rms_fvec(),find_xyrms_fvec(),gij(),div_mn(),traceless_strain(),multm2_sym_mn(),update_on_gpu(),get_dxyzs(),mpiabort()
- function sub/read_line_from_file(fname)
Read the first line from a file; return empty string if file is empty
4-oct-02/wolf: coded
- Parameters:
fname [character]
- Return:
read_line_from_file [character]
- Use :
- Called from:
get_datadir(),get_snapdir(),read_all_init_pars(),read_all_run_pars(),get_downpars(),max_mn(),sum_mn(),dot_mn(),vec_dot_3tensor(),matrix2linarray(),linarray2matrix(),inv2_3x3mat(),scalartripleproduct(),det3x3mat(),dot_mn_sv(),dot_mn_sv_pencil(),dot_mn_sm(),dot_mn_vm(),dot_mn_vm_trans(),dot2_mn(),dot2_mx(),dot2fj(),dyadic2(),trace_mn(),mult_matrix(),multm2_mn(),multm2_sym_mn(),multmv_mn(),invmat_db(),multsv_mn(),multsv_mn_add(),multsm_mn(),cross_mn(),cross_mixed(),gij(),gij_v_times_s(),gijl_symmetric(),grad5(),div(),div_tensor(),div_other(),div_mn(),div_mn_2tensor(),curl_mn(),curl_horizontal(),curl(),curl_other(),curli(),del2v(),del2m3x3_sym(),del2fj(),del2fi_dxjk(),d2fi_dxj(),symmetrise3x3_ut2lt(),del2v_etc(),del2vi_etc(),del4v(),del6v(),bij_tilde(),gij_etc(),g2ij(),del4(),del6(),del6_strict(),del4graddiv(),del6_other(),del6fj(),del6fjv(),u_dot_grad_mat(),nou_dot_grad_scl(),h_dot_grad_vec(),gradf_upw1st(),rdim(),read_snaptime(),update_snaptime(),shift_dt(),set_next_dt(),set_dt(),vecout(),vecout_initialize(),vecout_finalize(),despike(),smooth_kernel(),smooth(),smooth_mn(),get_smooth_kernel(),eulag_filter(),identify_bcs(),lower_triangular_index(),step_vector(),der6_step(),stepdown(),der_stepdown(),coeff_ydep(),parse_bc(),inverse_parse_bc(),parse_bc_rad(),parse_bc_radg(),parse_shell(),control_file_exists()- Call to:
fatal_error(),hypergeometric2f1(),gamma_function(),dot2_mn(),multsv_mn(),dot_mn(),multmv_mn(),one_minus_exp(),erfunc(),interp1(),lubksb(),bspline_basis(),location_in_proc(),xlocation(),ylocation(),zlocation(),der6(),deri_3d_inds(),calc_del6_for_upwind(),global_mean(),find_max_fvec(),find_rms_fvec(),find_xyrms_fvec(),gij(),div_mn(),traceless_strain(),multm2_sym_mn(),update_on_gpu(),get_dxyzs(),mpiabort()
- subroutine sub/get_nseed(nseed)
Get length of state of random number generator. The current seed can be represented by nseed (4-byte) integers. Different compilers have different lengths:
NAG: 1, Compaq: 2, Intel: 47, SGI: 64, NEC: 256
- Parameters:
nseed [integer,out]
- Use :
- Called from:
helper_loop(),reload(),gen_output(),timeloop(),check_tspec_crit_log_interval(),check_tsnap_crit_log_interval(),check_tvid_crit_log_interval(),setup_signal_files(),print_metrics(),run_start(),start- Call to:
fatal_error(),hypergeometric2f1(),gamma_function(),dot2_mn(),multsv_mn(),dot_mn(),multmv_mn(),one_minus_exp(),erfunc(),interp1(),lubksb(),bspline_basis(),location_in_proc(),xlocation(),ylocation(),zlocation(),der6(),deri_3d_inds(),calc_del6_for_upwind(),global_mean(),find_max_fvec(),find_rms_fvec(),find_xyrms_fvec(),gij(),div_mn(),traceless_strain(),multm2_sym_mn(),update_on_gpu(),get_dxyzs(),mpiabort()
- subroutine sub/get_where(mask, indices[, status])
Get the indices where mask is .true.
- Note: The pointer argument indices will be reassociated with a newly
allocated array. It is the user’s responsibility to pass in a disassociated pointer and deallocate it after use.
10-feb-15/ccyang: coded.
- Parameters:
mask (*) [logical,in]
indices (*) [integer,pointer]
status [integer,out,]
- Call to:
fatal_error(),hypergeometric2f1(),gamma_function(),dot2_mn(),multsv_mn(),dot_mn(),multmv_mn(),one_minus_exp(),erfunc(),interp1(),lubksb(),bspline_basis(),location_in_proc(),xlocation(),ylocation(),zlocation(),der6(),deri_3d_inds(),calc_del6_for_upwind(),global_mean(),find_max_fvec(),find_rms_fvec(),find_xyrms_fvec(),gij(),div_mn(),traceless_strain(),multm2_sym_mn(),update_on_gpu(),get_dxyzs(),mpiabort()
- subroutine sub/write_dx_general(file, x00, y00, z00)
Write .general file for data explorer (aka DX).
04-oct-02/wolf: coded 08-oct-02/tony: use safe_character_assign() to detect string overflows 12-sep-13/mcnallcp: make the endianness detection reflect the platform
- Parameters:
file [character]
x00 [real]
y00 [real]
z00 [real]
- Use :
- Called from:
- Call to:
fatal_error(),hypergeometric2f1(),gamma_function(),dot2_mn(),multsv_mn(),dot_mn(),multmv_mn(),one_minus_exp(),erfunc(),interp1(),lubksb(),bspline_basis(),location_in_proc(),xlocation(),ylocation(),zlocation(),der6(),deri_3d_inds(),calc_del6_for_upwind(),global_mean(),find_max_fvec(),find_rms_fvec(),find_xyrms_fvec(),gij(),div_mn(),traceless_strain(),multm2_sym_mn(),update_on_gpu(),get_dxyzs(),mpiabort()
- subroutine sub/write_zprof(fname, a)
Writes z-profile to a file.
10-jul-05/axel: coded
- Parameters:
fname [character,in]
a (*) [real,in]
- Use :
- 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(),register_viscosity(),initialize_viscosity()- Call to:
fatal_error(),hypergeometric2f1(),gamma_function(),dot2_mn(),multsv_mn(),dot_mn(),multmv_mn(),one_minus_exp(),erfunc(),interp1(),lubksb(),bspline_basis(),location_in_proc(),xlocation(),ylocation(),zlocation(),der6(),deri_3d_inds(),calc_del6_for_upwind(),global_mean(),find_max_fvec(),find_rms_fvec(),find_xyrms_fvec(),gij(),div_mn(),traceless_strain(),multm2_sym_mn(),update_on_gpu(),get_dxyzs(),mpiabort()
- subroutine sub/write_yprof(fname, a)
Writes y-profile to a file.
11-aug-20/joern: adapted from write_zprof
- Parameters:
fname [character,in]
a (*) [real,in]
- Use :
- Called from:
- Call to:
fatal_error(),hypergeometric2f1(),gamma_function(),dot2_mn(),multsv_mn(),dot_mn(),multmv_mn(),one_minus_exp(),erfunc(),interp1(),lubksb(),bspline_basis(),location_in_proc(),xlocation(),ylocation(),zlocation(),der6(),deri_3d_inds(),calc_del6_for_upwind(),global_mean(),find_max_fvec(),find_rms_fvec(),find_xyrms_fvec(),gij(),div_mn(),traceless_strain(),multm2_sym_mn(),update_on_gpu(),get_dxyzs(),mpiabort()
- subroutine sub/write_xprof(fname, a)
Writes x-profile to a file.
10-jul-05/axel: coded
- Parameters:
fname [character,in]
a (*) [real,in]
- Use :
- Call to:
fatal_error(),hypergeometric2f1(),gamma_function(),dot2_mn(),multsv_mn(),dot_mn(),multmv_mn(),one_minus_exp(),erfunc(),interp1(),lubksb(),bspline_basis(),location_in_proc(),xlocation(),ylocation(),zlocation(),der6(),deri_3d_inds(),calc_del6_for_upwind(),global_mean(),find_max_fvec(),find_rms_fvec(),find_xyrms_fvec(),gij(),div_mn(),traceless_strain(),multm2_sym_mn(),update_on_gpu(),get_dxyzs(),mpiabort()
- subroutine sub/remove_prof(type)
Remove profile file.
10-jul-05/axel: coded 05-Nov-2018/PABourdin: generalized to any direction
- Parameters:
type [character,in]
- Use :
- Call to:
fatal_error(),hypergeometric2f1(),gamma_function(),dot2_mn(),multsv_mn(),dot_mn(),multmv_mn(),one_minus_exp(),erfunc(),interp1(),lubksb(),bspline_basis(),location_in_proc(),xlocation(),ylocation(),zlocation(),der6(),deri_3d_inds(),calc_del6_for_upwind(),global_mean(),find_max_fvec(),find_rms_fvec(),find_xyrms_fvec(),gij(),div_mn(),traceless_strain(),multm2_sym_mn(),update_on_gpu(),get_dxyzs(),mpiabort()
- subroutine sub/blob(ampl, f, i, radius[, xblob[, yblob[, zblob[, radius_x[, lexp[, lperi[, lconst_aver]]]]]]])
Single blob.
- 27-jul-02/axel: coded
7-jul-20/axel: allowed for lexp=.true. to take exp of Gaussian
- Parameters:
ampl [real]
f (,,*,*) [real,contiguous] :: /Hp_ini**2
i [integer] :: fill the weights with gaussian distribution.
radius [real]
xblob [real]
yblob [real]
zblob [real]
radius_x [real]
lexp [logical]
lperi [logical]
lconst_aver [logical]
- Called from:
- Call to:
fatal_error(),hypergeometric2f1(),gamma_function(),dot2_mn(),multsv_mn(),dot_mn(),multmv_mn(),one_minus_exp(),erfunc(),interp1(),lubksb(),bspline_basis(),location_in_proc(),xlocation(),ylocation(),zlocation(),der6(),deri_3d_inds(),calc_del6_for_upwind(),global_mean(),find_max_fvec(),find_rms_fvec(),find_xyrms_fvec(),gij(),div_mn(),traceless_strain(),multm2_sym_mn(),update_on_gpu(),get_dxyzs(),mpiabort()
- subroutine sub/blobs(ampl, f, i, radius, nblobs)
Initialize n blobs.
19-mar-23/axel: adapted from blob
- Parameters:
ampl [real]
f (,,*,*) [real,contiguous] :: /Hp_ini**2
i [integer] :: fill the weights with gaussian distribution.
radius [real]
nblobs [integer]
- Use :
- Call to:
hypergeometric2f1(),gamma_function(),dot2_mn(),multsv_mn(),dot_mn(),multmv_mn(),one_minus_exp(),erfunc(),fatal_error(),interp1(),lubksb(),bspline_basis(),location_in_proc(),xlocation(),ylocation(),zlocation(),der6(),deri_3d_inds(),calc_del6_for_upwind(),global_mean(),find_max_fvec(),find_rms_fvec(),find_xyrms_fvec(),gij(),div_mn(),traceless_strain(),multm2_sym_mn(),update_on_gpu(),get_dxyzs(),mpiabort()
- function sub/hypergeometric2f1(a, b, c, z, tol)
- Parameters:
a [real,in]
b [real,in]
c [real,in]
z [real,in]
tol [real,in]
- Return:
hyp2f1 [real]
- Called from:
register_magnetic(),initialize_magnetic(),init_aa(),pencil_criteria_magnetic(),pencil_interdep_magnetic(),magnetic_after_boundary(),daa_dt(),read_magnetic_init_pars(),write_magnetic_init_pars(),read_magnetic_run_pars(),write_magnetic_run_pars(),get_slices_magnetic(),time_integrals_magnetic(),df_diagnos_magnetic(),rescaling_magnetic(),calc_mfield(),update_char_vel_magnetic(),set_ambipolar_diffusion(),diamagnetism(),set_border_magnetic(),eta_shell(),calc_bthresh(),calc_tau_aa_exterior(),helflux(),curflux_ds(),curflux(),calc_bmx(),calc_bmy(),calc_bmzs2(),calc_bmza2(),calc_bmz(),calc_jmx(),calc_jmy(),calc_jmz(),calc_embmz(),calc_emxamz3(),calc_ambmz(),calc_ambmzh(),calc_jmbmz(),calc_bmxy_rms(),calc_bmz_beltrami_phase(),alfven_x(),alfven_y(),alfven_z(),alfven_xy(),alfven_xz(),alfvenz_rot(),alfvenz_bell(),alfvenz_rot_shear(),torus_test(),force_free_jet(),calc_pencils_magnetic(),sine_avoid_boundary(),alfven_rphi(),alfven_zconst(),alfven_rz(),max_mn(),sum_mn(),dot_mn(),vec_dot_3tensor(),matrix2linarray(),linarray2matrix(),inv2_3x3mat(),scalartripleproduct(),det3x3mat(),dot_mn_sv(),dot_mn_sv_pencil(),dot_mn_sm(),dot_mn_vm(),dot_mn_vm_trans(),dot2_mn(),dot2_mx(),dot2fj(),dyadic2(),trace_mn(),mult_matrix(),multm2_mn(),multm2_sym_mn(),multmv_mn(),invmat_db(),multsv_mn(),multsv_mn_add(),multsm_mn(),cross_mn(),cross_mixed(),gij(),gij_v_times_s(),gijl_symmetric(),grad5(),div(),div_tensor(),div_other(),div_mn(),div_mn_2tensor(),curl_mn(),curl_horizontal(),curl(),curl_other(),curli(),del2v(),del2m3x3_sym(),del2fj(),del2fi_dxjk(),d2fi_dxj(),symmetrise3x3_ut2lt(),del2v_etc(),del2vi_etc(),del4v(),del6v(),bij_tilde(),gij_etc(),g2ij(),del4(),del6(),del6_strict(),del4graddiv(),del6_other(),del6fj(),del6fjv(),u_dot_grad_mat(),nou_dot_grad_scl(),h_dot_grad_vec(),gradf_upw1st(),rdim(),read_snaptime(),update_snaptime(),shift_dt(),set_next_dt(),set_dt(),vecout(),vecout_initialize(),vecout_finalize(),despike(),smooth_kernel(),smooth(),smooth_mn(),get_smooth_kernel(),eulag_filter(),identify_bcs(),lower_triangular_index(),step_vector(),der6_step(),stepdown(),der_stepdown(),coeff_ydep(),parse_bc(),inverse_parse_bc(),parse_bc_rad(),parse_bc_radg(),parse_shell(),control_file_exists(),read_line_from_file(),get_nseed(),get_where(),write_dx_general(),write_zprof(),write_yprof(),write_xprof(),remove_prof(),blob(),blobs()
- function sub/gamma_function(x)
Calculates the Gamma-function as
Gamma(x) = Pi(x-1)
9-jun-04/tobi+wolf: coded
- Parameters:
x [real,in]
- Return:
gamma_function [real]
- Called from:
register_magnetic(),initialize_magnetic(),init_aa(),pencil_criteria_magnetic(),pencil_interdep_magnetic(),magnetic_after_boundary(),daa_dt(),read_magnetic_init_pars(),write_magnetic_init_pars(),read_magnetic_run_pars(),write_magnetic_run_pars(),get_slices_magnetic(),time_integrals_magnetic(),df_diagnos_magnetic(),rescaling_magnetic(),calc_mfield(),update_char_vel_magnetic(),set_ambipolar_diffusion(),diamagnetism(),set_border_magnetic(),eta_shell(),calc_bthresh(),calc_tau_aa_exterior(),helflux(),curflux_ds(),curflux(),calc_bmx(),calc_bmy(),calc_bmzs2(),calc_bmza2(),calc_bmz(),calc_jmx(),calc_jmy(),calc_jmz(),calc_embmz(),calc_emxamz3(),calc_ambmz(),calc_ambmzh(),calc_jmbmz(),calc_bmxy_rms(),calc_bmz_beltrami_phase(),alfven_x(),alfven_y(),alfven_z(),alfven_xy(),alfven_xz(),alfvenz_rot(),alfvenz_bell(),alfvenz_rot_shear(),torus_test(),force_free_jet(),calc_pencils_magnetic(),sine_avoid_boundary(),alfven_rphi(),alfven_zconst(),alfven_rz(),max_mn(),sum_mn(),dot_mn(),vec_dot_3tensor(),matrix2linarray(),linarray2matrix(),inv2_3x3mat(),scalartripleproduct(),det3x3mat(),dot_mn_sv(),dot_mn_sv_pencil(),dot_mn_sm(),dot_mn_vm(),dot_mn_vm_trans(),dot2_mn(),dot2_mx(),dot2fj(),dyadic2(),trace_mn(),mult_matrix(),multm2_mn(),multm2_sym_mn(),multmv_mn(),invmat_db(),multsv_mn(),multsv_mn_add(),multsm_mn(),cross_mn(),cross_mixed(),gij(),gij_v_times_s(),gijl_symmetric(),grad5(),div(),div_tensor(),div_other(),div_mn(),div_mn_2tensor(),curl_mn(),curl_horizontal(),curl(),curl_other(),curli(),del2v(),del2m3x3_sym(),del2fj(),del2fi_dxjk(),d2fi_dxj(),symmetrise3x3_ut2lt(),del2v_etc(),del2vi_etc(),del4v(),del6v(),bij_tilde(),gij_etc(),g2ij(),del4(),del6(),del6_strict(),del4graddiv(),del6_other(),del6fj(),del6fjv(),u_dot_grad_mat(),nou_dot_grad_scl(),h_dot_grad_vec(),gradf_upw1st(),rdim(),read_snaptime(),update_snaptime(),shift_dt(),set_next_dt(),set_dt(),vecout(),vecout_initialize(),vecout_finalize(),despike(),smooth_kernel(),smooth(),smooth_mn(),get_smooth_kernel(),eulag_filter(),identify_bcs(),lower_triangular_index(),step_vector(),der6_step(),stepdown(),der_stepdown(),coeff_ydep(),parse_bc(),inverse_parse_bc(),parse_bc_rad(),parse_bc_radg(),parse_shell(),control_file_exists(),read_line_from_file(),get_nseed(),get_where(),write_dx_general(),write_zprof(),write_yprof(),write_xprof(),remove_prof(),blob(),blobs()- Call to:
dot2_mn(),multsv_mn(),dot_mn(),multmv_mn(),one_minus_exp(),erfunc(),fatal_error(),interp1(),lubksb(),bspline_basis(),location_in_proc(),xlocation(),ylocation(),zlocation(),der6(),deri_3d_inds(),calc_del6_for_upwind(),global_mean(),find_max_fvec(),find_rms_fvec(),find_xyrms_fvec(),gij(),div_mn(),traceless_strain(),multm2_sym_mn(),update_on_gpu(),get_dxyzs(),mpiabort()
- subroutine sub/tensor_diffusion_coef(gecr, ecr_ij, bij, bb, vkperp, vkpara, rhs[, llog[, gvkperp[, gvkpara]]])
Calculates tensor diffusion with variable tensor (or constant tensor). Calculates parts common to both variable and constant tensor first.
Note: ecr=lnecr in the below comment
Write diffusion tensor as K_ij = Kpara*ni*nj + (Kperp-Kpara)*del_ij.
- vKperp*del2ecr + d_i(vKperp)d_i(ecr) + (vKpara-vKperp) d_i(n_i*n_j*d_j ecr)
n_i*n_j*d_i(ecr)d_j(vKpara-vKperp)
- = vKperp*del2ecr + gKperp.gecr + (vKpara-vKperp) (H.G + ni*nj*Gij)
ni*nj*Gi*(vKpara_j - vKperp_j),
where H_i = (nj bij - 2 ni nj nk bk,j)/|b| and vKperp, vKpara are variable diffusion coefficients.
Calculates (K.gecr).gecr = vKperp(gecr.gecr) + (vKpara-vKperp)*Gi(ni*nj*Gj)
Adds both parts into decr/dt.
10-oct-03/axel: adapted from pscalar 30-nov-03/snod: adapted from tensor_diff without variable diffusion 04-dec-03/snod: converted for evolution of lnecr (=ecr)
9-apr-04/axel: adapted for general purpose tensor diffusion
25-jun-05/bing:
- Parameters:
- Called from:
- Call to:
dot2_mn(),multsv_mn(),dot_mn(),multmv_mn(),one_minus_exp(),erfunc(),fatal_error(),interp1(),lubksb(),bspline_basis(),location_in_proc(),xlocation(),ylocation(),zlocation(),der6(),deri_3d_inds(),calc_del6_for_upwind(),global_mean(),find_max_fvec(),find_rms_fvec(),find_xyrms_fvec(),gij(),div_mn(),traceless_strain(),multm2_sym_mn(),update_on_gpu(),get_dxyzs(),mpiabort()
- function sub/one_minus_exp(x)
- Parameters:
x [real,in]
- Return:
one_minus_exp [real]
- Called from:
register_particles_drag(),initialize_particles_drag(),init_particles_drag(),read_particles_drag_init_pars(),write_particles_drag_init_pars(),read_particles_drag_run_pars(),write_particles_drag_run_pars(),integrate_drag(),max_mn(),sum_mn(),dot_mn(),vec_dot_3tensor(),matrix2linarray(),linarray2matrix(),inv2_3x3mat(),scalartripleproduct(),det3x3mat(),dot_mn_sv(),dot_mn_sv_pencil(),dot_mn_sm(),dot_mn_vm(),dot_mn_vm_trans(),dot2_mn(),dot2_mx(),dot2fj(),dyadic2(),trace_mn(),mult_matrix(),multm2_mn(),multm2_sym_mn(),multmv_mn(),invmat_db(),multsv_mn(),multsv_mn_add(),multsm_mn(),cross_mn(),cross_mixed(),gij(),gij_v_times_s(),gijl_symmetric(),grad5(),div(),div_tensor(),div_other(),div_mn(),div_mn_2tensor(),curl_mn(),curl_horizontal(),curl(),curl_other(),curli(),del2v(),del2m3x3_sym(),del2fj(),del2fi_dxjk(),d2fi_dxj(),symmetrise3x3_ut2lt(),del2v_etc(),del2vi_etc(),del4v(),del6v(),bij_tilde(),gij_etc(),g2ij(),del4(),del6(),del6_strict(),del4graddiv(),del6_other(),del6fj(),del6fjv(),u_dot_grad_mat(),nou_dot_grad_scl(),h_dot_grad_vec(),gradf_upw1st(),rdim(),read_snaptime(),update_snaptime(),shift_dt(),set_next_dt(),set_dt(),vecout(),vecout_initialize(),vecout_finalize(),despike(),smooth_kernel(),smooth(),smooth_mn(),get_smooth_kernel(),eulag_filter(),identify_bcs(),lower_triangular_index(),step_vector(),der6_step(),stepdown(),der_stepdown(),coeff_ydep(),parse_bc(),inverse_parse_bc(),parse_bc_rad(),parse_bc_radg(),parse_shell(),control_file_exists(),read_line_from_file(),get_nseed(),get_where(),write_dx_general(),write_zprof(),write_yprof(),write_xprof(),remove_prof(),blob(),blobs(),gamma_function(),tensor_diffusion_coef()
- function sub/erfunc(x)
- Parameters:
x [real,in]
- Return:
erfunc [real]
- Called from:
register_magnetic(),initialize_magnetic(),init_aa(),pencil_criteria_magnetic(),pencil_interdep_magnetic(),daa_dt(),update_char_vel_magnetic(),set_ambipolar_diffusion(),diamagnetism(),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(),finalize_special(),pencil_criteria_special(),pencil_interdep_special(),calc_pencils_special(),get_slices_special(),special_boundconds(),special_after_timestep(),calc_pencils_magnetic(),max_mn(),sum_mn(),dot_mn(),vec_dot_3tensor(),matrix2linarray(),linarray2matrix(),inv2_3x3mat(),scalartripleproduct(),det3x3mat(),dot_mn_sv(),dot_mn_sv_pencil(),dot_mn_sm(),dot_mn_vm(),dot_mn_vm_trans(),dot2_mn(),dot2_mx(),dot2fj(),dyadic2(),trace_mn(),mult_matrix(),multm2_mn(),multm2_sym_mn(),multmv_mn(),invmat_db(),multsv_mn(),multsv_mn_add(),multsm_mn(),cross_mn(),cross_mixed(),gij(),gij_v_times_s(),gijl_symmetric(),grad5(),div(),div_tensor(),div_other(),div_mn(),div_mn_2tensor(),curl_mn(),curl_horizontal(),curl(),curl_other(),curli(),del2v(),del2m3x3_sym(),del2fj(),del2fi_dxjk(),d2fi_dxj(),symmetrise3x3_ut2lt(),del2v_etc(),del2vi_etc(),del4v(),del6v(),bij_tilde(),gij_etc(),g2ij(),del4(),del6(),del6_strict(),del4graddiv(),del6_other(),del6fj(),del6fjv(),u_dot_grad_mat(),nou_dot_grad_scl(),h_dot_grad_vec(),gradf_upw1st(),rdim(),read_snaptime(),update_snaptime(),shift_dt(),set_next_dt(),set_dt(),vecout(),vecout_initialize(),vecout_finalize(),despike(),smooth_kernel(),smooth(),smooth_mn(),get_smooth_kernel(),eulag_filter(),identify_bcs(),lower_triangular_index(),step_vector(),der6_step(),stepdown(),der_stepdown(),coeff_ydep(),parse_bc(),inverse_parse_bc(),parse_bc_rad(),parse_bc_radg(),parse_shell(),control_file_exists(),read_line_from_file(),get_nseed(),get_where(),write_dx_general(),write_zprof(),write_yprof(),write_xprof(),remove_prof(),blob(),blobs(),gamma_function(),tensor_diffusion_coef()
- subroutine sub/get_radial_distance(rrmn, rcylmn[, e1_[, e2_[, e3_]]])
Calculate distance and its cylindrical projection for different coordinate systems.
e1, e2, and e3 are the positions in the respective coordinate systems
15-mar-07/wlad : coded
- Parameters:
rrmn (*) [real,out]
rcylmn (*) [real,out]
e1 [real,in,]
e2 [real,in,]
e3 [real,in,]
- Called from:
register_magnetic(),initialize_magnetic(),init_aa(),pencil_criteria_magnetic(),pencil_interdep_magnetic(),magnetic_after_boundary(),daa_dt(),read_magnetic_init_pars(),write_magnetic_init_pars(),read_magnetic_run_pars(),write_magnetic_run_pars(),get_slices_magnetic(),time_integrals_magnetic(),df_diagnos_magnetic(),rescaling_magnetic(),calc_mfield(),register_density(),initialize_density(),init_lnrho(),density_before_boundary(),pencil_criteria_density(),pencil_interdep_density(),density_after_boundary(),dlnrho_dt(),calc_pencils_density(),curflux_ds(),register_particles_nbody(),initialize_particles_nbody(),pencil_criteria_par_nbody(),pencil_interdep_par_nbody(),calc_pencils_par_nbody(),init_particles_nbody(),dvvp_dt_nbody_pencil(),dxxp_dt_nbody(),dvvp_dt_nbody(),loop_through_nbodies(),loop_through_nbodies_inertial(),loop_through_nbodies_fixstar(),get_evr(),point_par_name(),read_particles_nbody_init_pars(),write_particles_nbody_init_pars(),read_particles_nbody_run_pars(),write_particles_nbody_run_pars(),reset_center_of_mass(),integrate_selfgravity(),bcast_nbodyarray(),particles_nbody_special(),get_totalmass(),get_gravity_field_nbody(),calc_torque(),get_ramped_mass(),calc_nbodygravity_particles(),get_total_gravity(),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(),register_viscosity(),initialize_viscosity(),read_viscosity_run_pars(),write_viscosity_run_pars(),rprint_viscosity(),pencil_criteria_viscosity(),pencil_interdep_viscosity(),calc_pencils_viscosity(),viscosity_after_boundary(),calc_viscous_heat(),calc_viscous_force(),calc_diagnostics_viscosity(),calc_visc_heat_ppd(),calc_pencils_magnetic(),sine_avoid_boundary(),alfven_rphi(),alfven_zconst(),alfven_rz(),correct_lorentz_force()- Call to:
fatal_error(),interp1(),lubksb(),bspline_basis(),location_in_proc(),xlocation(),ylocation(),zlocation(),der6(),deri_3d_inds(),calc_del6_for_upwind(),global_mean(),find_max_fvec(),find_rms_fvec(),find_xyrms_fvec(),gij(),div_mn(),traceless_strain(),multm2_sym_mn(),update_on_gpu(),get_dxyzs(),mpiabort()
- function sub/interp1(r, fr, nr, r0[, ldescending])
20-dec-07/dintrans: coded Note: if ldescending=T, then input arrays r and fr are in descending order and we first reverse them.
- Parameters:
- Return:
interp1 [real]
- Called from:
energy_after_boundary(),max_mn(),sum_mn(),dot_mn(),vec_dot_3tensor(),matrix2linarray(),linarray2matrix(),inv2_3x3mat(),scalartripleproduct(),det3x3mat(),dot_mn_sv(),dot_mn_sv_pencil(),dot_mn_sm(),dot_mn_vm(),dot_mn_vm_trans(),dot2_mn(),dot2_mx(),dot2fj(),dyadic2(),trace_mn(),mult_matrix(),multm2_mn(),multm2_sym_mn(),multmv_mn(),invmat_db(),multsv_mn(),multsv_mn_add(),multsm_mn(),cross_mn(),cross_mixed(),gij(),gij_v_times_s(),gijl_symmetric(),grad5(),div(),div_tensor(),div_other(),div_mn(),div_mn_2tensor(),curl_mn(),curl_horizontal(),curl(),curl_other(),curli(),del2v(),del2m3x3_sym(),del2fj(),del2fi_dxjk(),d2fi_dxj(),symmetrise3x3_ut2lt(),del2v_etc(),del2vi_etc(),del4v(),del6v(),bij_tilde(),gij_etc(),g2ij(),del4(),del6(),del6_strict(),del4graddiv(),del6_other(),del6fj(),del6fjv(),u_dot_grad_mat(),nou_dot_grad_scl(),h_dot_grad_vec(),gradf_upw1st(),rdim(),read_snaptime(),update_snaptime(),shift_dt(),set_next_dt(),set_dt(),vecout(),vecout_initialize(),vecout_finalize(),despike(),smooth_kernel(),smooth(),smooth_mn(),get_smooth_kernel(),eulag_filter(),identify_bcs(),lower_triangular_index(),step_vector(),der6_step(),stepdown(),der_stepdown(),coeff_ydep(),parse_bc(),inverse_parse_bc(),parse_bc_rad(),parse_bc_radg(),parse_shell(),control_file_exists(),read_line_from_file(),get_nseed(),get_where(),write_dx_general(),write_zprof(),write_yprof(),write_xprof(),remove_prof(),blob(),blobs(),gamma_function(),tensor_diffusion_coef(),get_radial_distance()- Call to:
lubksb(),bspline_basis(),fatal_error(),location_in_proc(),xlocation(),ylocation(),zlocation(),der6(),deri_3d_inds(),calc_del6_for_upwind(),global_mean(),find_max_fvec(),find_rms_fvec(),find_xyrms_fvec(),gij(),div_mn(),traceless_strain(),multm2_sym_mn(),update_on_gpu(),get_dxyzs(),mpiabort()
- subroutine sub/bspline_basis(k, x, b)
Computes the values of the non-zero B-spline basis functions B_{i,k}(j+x) for i = j-k+1, j-k+2, …, j. The knot sequence {t_i) is assumed to be infinite and be integers, i.e., t_i = i for all integer i.
28-jul-15/ccyang: coded.
Input Arguments
- Parameters:
k [integer,in] :: Number of knot spans for each basis function, which has order (k-1).
x [real,in] :: A number in [0,1). Output Argument
b (k) [real,out] :: An array of k elements, where b(i) = B_{j-k+i,k}(j+x).
- Called from:
max_mn(),sum_mn(),dot_mn(),vec_dot_3tensor(),matrix2linarray(),linarray2matrix(),inv2_3x3mat(),scalartripleproduct(),det3x3mat(),dot_mn_sv(),dot_mn_sv_pencil(),dot_mn_sm(),dot_mn_vm(),dot_mn_vm_trans(),dot2_mn(),dot2_mx(),dot2fj(),dyadic2(),trace_mn(),mult_matrix(),multm2_mn(),multm2_sym_mn(),multmv_mn(),invmat_db(),multsv_mn(),multsv_mn_add(),multsm_mn(),cross_mn(),cross_mixed(),gij(),gij_v_times_s(),gijl_symmetric(),grad5(),div(),div_tensor(),div_other(),div_mn(),div_mn_2tensor(),curl_mn(),curl_horizontal(),curl(),curl_other(),curli(),del2v(),del2m3x3_sym(),del2fj(),del2fi_dxjk(),d2fi_dxj(),symmetrise3x3_ut2lt(),del2v_etc(),del2vi_etc(),del4v(),del6v(),bij_tilde(),gij_etc(),g2ij(),del4(),del6(),del6_strict(),del4graddiv(),del6_other(),del6fj(),del6fjv(),u_dot_grad_mat(),nou_dot_grad_scl(),h_dot_grad_vec(),gradf_upw1st(),rdim(),read_snaptime(),update_snaptime(),shift_dt(),set_next_dt(),set_dt(),vecout(),vecout_initialize(),vecout_finalize(),despike(),smooth_kernel(),smooth(),smooth_mn(),get_smooth_kernel(),eulag_filter(),identify_bcs(),lower_triangular_index(),step_vector(),der6_step(),stepdown(),der_stepdown(),coeff_ydep(),parse_bc(),inverse_parse_bc(),parse_bc_rad(),parse_bc_radg(),parse_shell(),control_file_exists(),read_line_from_file(),get_nseed(),get_where(),write_dx_general(),write_zprof(),write_yprof(),write_xprof(),remove_prof(),blob(),blobs(),gamma_function(),tensor_diffusion_coef(),get_radial_distance(),interp1(),bspline_basis(),bspline_interpolation(),bspline_precondition()- Call to:
lubksb(),bspline_basis(),fatal_error(),location_in_proc(),xlocation(),ylocation(),zlocation(),der6(),deri_3d_inds(),calc_del6_for_upwind(),global_mean(),find_max_fvec(),find_rms_fvec(),find_xyrms_fvec(),gij(),div_mn(),traceless_strain(),multm2_sym_mn(),update_on_gpu(),get_dxyzs(),mpiabort()
- subroutine sub/bspline_interpolation(n, k, f, a, indx, shift)
Uses the B-spline interpolation to periodically shift a regular array of data nodes.
31-jul-15/ccyang: coded.
Input/Output Argument
- Parameters:
f (n) [real,inout] :: /Hp_ini**2 Input Arguments
n [integer,in,] :: position in mn-loop at which interpolation is performed
k [integer,in] :: Number of knot spans for each basis function, which has order (k-1).
- Preconditioned by bspline_precondition() and then LU
decomposed by ludcmp().
- indx
Index permutations returned by ludcmp().
- shift
Shift in unit of array index.
indx (n) [integer,in]
shift [real,in]
- Called from:
register_shear(),initialize_shear(),read_shear_init_pars(),write_shear_init_pars(),read_shear_run_pars(),write_shear_run_pars(),shear_before_boundary(),pencil_criteria_shear(),pencil_interdep_shear(),calc_pencils_shear(),shearing(),calc_diagnostics_shear(),advance_shear(),sheared_advection_fft(),boundcond_shear(),shear_variables()- Call to:
lubksb(),bspline_basis(),fatal_error(),location_in_proc(),xlocation(),ylocation(),zlocation(),der6(),deri_3d_inds(),calc_del6_for_upwind(),global_mean(),find_max_fvec(),find_rms_fvec(),find_xyrms_fvec(),gij(),div_mn(),traceless_strain(),multm2_sym_mn(),update_on_gpu(),get_dxyzs(),mpiabort()
- subroutine sub/bspline_precondition(n, k, a)
Sets up the linear system for the coefficients of the B-spline basis functions, assuming periodic boundary conditions. The linear system reads
A x = f,
- where
[ B_{1,k}(0.5) B_{2,k}(0.5) B_{3,k}(0.5) … B_{n,k}(0.5) ]
- A = [ B_{1,k}(1.5) B_{2,k}(1.5) B_{3,k}(1.5) … B_{n,k}(1.5) ],
[ … … … … … ] [ B_{1,k}(n-0.5) B_{2,k}{n-0.5) B_{3,k}(n-0.5) … B_{n,k}(n-0.5) ]
x = [ alpha_1, alpha_2, alpha_3, …, alpha_n ]^T,
is the coefficients,
f = [ f_1, f_2, f_3, …, f_n ],
is the node data. The B-spline interpolation is then given by
f(x) = sum_i B_{i,k)(x)
with
f(i-0.5) = f_i, i = 1, 2, …, n.
28-jul-15/ccyang: coded.
Input Arguments
- Parameters:
- Called from:
- Call to:
bspline_basis(),fatal_error(),location_in_proc(),xlocation(),ylocation(),zlocation(),der6(),deri_3d_inds(),calc_del6_for_upwind(),global_mean(),find_max_fvec(),find_rms_fvec(),find_xyrms_fvec(),gij(),div_mn(),traceless_strain(),multm2_sym_mn(),update_on_gpu(),get_dxyzs(),mpiabort()
- subroutine sub/ludcmp(a, indx)
25-jun-09/rplasson: coded (adapted from numerical recipe)
Computes the LU decomposition of the matrix a. The result is placed in the matrix a. The row permutations are returned in indx.
- Parameters:
a (,) [real,inout]
indx (*) [integer,out]
- Called from:
register_shear(),initialize_shear(),get_gas_density(),precalc_weights(),dragforce_equi_multispecies()- Call to:
fatal_error(),location_in_proc(),xlocation(),ylocation(),zlocation(),der6(),deri_3d_inds(),calc_del6_for_upwind(),global_mean(),find_max_fvec(),find_rms_fvec(),find_xyrms_fvec(),gij(),div_mn(),traceless_strain(),multm2_sym_mn(),update_on_gpu(),get_dxyzs(),mpiabort()
- subroutine sub/lubksb(a, indx, b)
25-jun-09/rplasson: coded (adapted from numerical recipe)
Solves the equation A.X=B . ‘a’ must contain the LU decomposition of matrix A obtained by ludcmp. ‘indx’ is the permutation vector obtained by ludcmp. ‘b’ contains B, and returns the solution vector X.
- Parameters:
a (,) [real,in]
indx (*) [integer,in]
b (*) [real,inout]
- Called from:
get_gas_density(),precalc_weights(),dragforce_equi_multispecies(),max_mn(),sum_mn(),dot_mn(),vec_dot_3tensor(),matrix2linarray(),linarray2matrix(),inv2_3x3mat(),scalartripleproduct(),det3x3mat(),dot_mn_sv(),dot_mn_sv_pencil(),dot_mn_sm(),dot_mn_vm(),dot_mn_vm_trans(),dot2_mn(),dot2_mx(),dot2fj(),dyadic2(),trace_mn(),mult_matrix(),multm2_mn(),multm2_sym_mn(),multmv_mn(),invmat_db(),multsv_mn(),multsv_mn_add(),multsm_mn(),cross_mn(),cross_mixed(),gij(),gij_v_times_s(),gijl_symmetric(),grad5(),div(),div_tensor(),div_other(),div_mn(),div_mn_2tensor(),curl_mn(),curl_horizontal(),curl(),curl_other(),curli(),del2v(),del2m3x3_sym(),del2fj(),del2fi_dxjk(),d2fi_dxj(),symmetrise3x3_ut2lt(),del2v_etc(),del2vi_etc(),del4v(),del6v(),bij_tilde(),gij_etc(),g2ij(),del4(),del6(),del6_strict(),del4graddiv(),del6_other(),del6fj(),del6fjv(),u_dot_grad_mat(),nou_dot_grad_scl(),h_dot_grad_vec(),gradf_upw1st(),rdim(),read_snaptime(),update_snaptime(),shift_dt(),set_next_dt(),set_dt(),vecout(),vecout_initialize(),vecout_finalize(),despike(),smooth_kernel(),smooth(),smooth_mn(),get_smooth_kernel(),eulag_filter(),identify_bcs(),lower_triangular_index(),step_vector(),der6_step(),stepdown(),der_stepdown(),coeff_ydep(),parse_bc(),inverse_parse_bc(),parse_bc_rad(),parse_bc_radg(),parse_shell(),control_file_exists(),read_line_from_file(),get_nseed(),get_where(),write_dx_general(),write_zprof(),write_yprof(),write_xprof(),remove_prof(),blob(),blobs(),gamma_function(),tensor_diffusion_coef(),get_radial_distance(),interp1(),bspline_basis(),bspline_interpolation()- Call to:
fatal_error(),location_in_proc(),xlocation(),ylocation(),zlocation(),der6(),deri_3d_inds(),calc_del6_for_upwind(),global_mean(),find_max_fvec(),find_rms_fvec(),find_xyrms_fvec(),gij(),div_mn(),traceless_strain(),multm2_sym_mn(),update_on_gpu(),get_dxyzs(),mpiabort()
- subroutine sub/gij_psi(psif, ee, g)
Calculate gradient of a scalar field multiplied by a constant vector), return matrix.
31-jul-07/dhruba: adapted from gij
- Parameters:
- Use :
- Call to:
fatal_error(),location_in_proc(),xlocation(),ylocation(),zlocation(),der6(),deri_3d_inds(),calc_del6_for_upwind(),global_mean(),find_max_fvec(),find_rms_fvec(),find_xyrms_fvec(),gij(),div_mn(),traceless_strain(),multm2_sym_mn(),update_on_gpu(),get_dxyzs(),mpiabort()
- subroutine sub/gij_psi_etc(psif, ee[, aa[, aij, bij[, del2[, graddiv]]]])
Calculate B_i,j = eps_ikl A_l,jk and A_l,kk .
1-aug-07/dhruba : adapted from gij_etc
- Parameters:
- Use :
- Call to:
fatal_error(),location_in_proc(),xlocation(),ylocation(),zlocation(),der6(),deri_3d_inds(),calc_del6_for_upwind(),global_mean(),find_max_fvec(),find_rms_fvec(),find_xyrms_fvec(),gij(),div_mn(),traceless_strain(),multm2_sym_mn(),update_on_gpu(),get_dxyzs(),mpiabort()
- function sub/location_in_proc(pos, lpos, mpos, npos)
Finds out if a points defined by pos belongs to the subdomain of the processor. Note: pos contains only the relevant coordinates, that is, those of the active dimensions. If yes then also returns the nearest grid location of this point. (MR: “nearest” not exactly true)
-dec-10/dhruba: coded 28-dec-10/MR: changed into function 13-jan-11/MR: made dependent on dimensionality,
irrelevant position indices set to 1
- 17-jan-17/MR: made valid for all possible dimensionality cases;
set output for inactive dimensions to nghost+1
- Parameters:
pos (dimensionality) [real,in]
lpos [integer,out]
mpos [integer,out]
npos [integer,out]
- Return:
location_in_proc [logical]
- Called from:
initialize_diagnostics(),initialize_diagnostic_arrays(),prints(),report_undefined_diagnostics(),gen_form_legend(),write_sound(),get_average_density(),diagnostic(),initialize_time_integrals(),xyaverages_z(),xzaverages_y(),yzaverages_x(),phizaverages_r(),yaverages_xz(),zaverages_xy(),phiaverages_rz(),write_1daverages(),write_1daverages_prepare(),write_2daverages_prepare(),write_2daverages(),trim_averages(),fparse_name(),set_type(),save_name(),save_name_sound(),save_name_halfz(),max_mn_name(),sum_mn_name_halfy(),sum_mn_name_halfz(),sum_weighted_name(),sum_lim_mn_name(),surf_mn_name(),integrate_mn(),integrate_mn_name(),xysum_mn_name_z(),xysum_mn_name_z_npar(),xymax_mn_name_z(),xzsum_mn_name_y(),yzsum_mn_name_x(),yzsum_mn_name_x_mpar(),xyintegrate_mn_name_z(),xzintegrate_mn_name_y(),yzintegrate_mn_name_x(),phizsum_mn_name_r(),ysum_mn_name_xz(),ysum_mn_name_xz_npar(),yintegrate_mn_name_xz(),zsum_mn_name_xy_arr2(),zsum_mn_name_xy_arr(),zsum_mn_name_xy_mpar_scal(),calc_phiavg_profile(),diagnostics_init_reduc_pointers(),diagnostics_diag_reductions(),phisum_mn_name_rz(),get_from_fname(),allocate_sound(),max_mn(),sum_mn(),dot_mn(),vec_dot_3tensor(),matrix2linarray(),linarray2matrix(),inv2_3x3mat(),scalartripleproduct(),det3x3mat(),dot_mn_sv(),dot_mn_sv_pencil(),dot_mn_sm(),dot_mn_vm(),dot_mn_vm_trans(),dot2_mn(),dot2_mx(),dot2fj(),dyadic2(),trace_mn(),mult_matrix(),multm2_mn(),multm2_sym_mn(),multmv_mn(),invmat_db(),multsv_mn(),multsv_mn_add(),multsm_mn(),cross_mn(),cross_mixed(),gij(),gij_v_times_s(),gijl_symmetric(),grad5(),div(),div_tensor(),div_other(),div_mn(),div_mn_2tensor(),curl_mn(),curl_horizontal(),curl(),curl_other(),curli(),del2v(),del2m3x3_sym(),del2fj(),del2fi_dxjk(),d2fi_dxj(),symmetrise3x3_ut2lt(),del2v_etc(),del2vi_etc(),del4v(),del6v(),bij_tilde(),gij_etc(),g2ij(),del4(),del6(),del6_strict(),del4graddiv(),del6_other(),del6fj(),del6fjv(),u_dot_grad_mat(),nou_dot_grad_scl(),h_dot_grad_vec(),gradf_upw1st(),rdim(),read_snaptime(),update_snaptime(),shift_dt(),set_next_dt(),set_dt(),vecout(),vecout_initialize(),vecout_finalize(),despike(),smooth_kernel(),smooth(),smooth_mn(),get_smooth_kernel(),eulag_filter(),identify_bcs(),lower_triangular_index(),step_vector(),der6_step(),stepdown(),der_stepdown(),coeff_ydep(),parse_bc(),inverse_parse_bc(),parse_bc_rad(),parse_bc_radg(),parse_shell(),control_file_exists(),read_line_from_file(),get_nseed(),get_where(),write_dx_general(),write_zprof(),write_yprof(),write_xprof(),remove_prof(),blob(),blobs(),gamma_function(),tensor_diffusion_coef(),get_radial_distance(),interp1(),bspline_basis(),bspline_interpolation(),bspline_precondition(),ludcmp(),lubksb(),gij_psi(),gij_psi_etc()- Call to:
xlocation(),ylocation(),zlocation(),fatal_error(),der6(),deri_3d_inds(),calc_del6_for_upwind(),global_mean(),find_max_fvec(),find_rms_fvec(),find_xyrms_fvec(),gij(),div_mn(),traceless_strain(),multm2_sym_mn(),update_on_gpu(),get_dxyzs(),mpiabort()
- subroutine sub/xlocation(xpos, ixpos, lproc)
If xpos lies within this processor, then lproc=T and xpos=x(ixpos). Otherwise lproc=F and ixpos=1.
18-nov-06/axel: coded 14-oct-08/ccyang: use half-closed interval and include the top-most plane 03-dec-09/MR: moved here from module slices 16-dec-10/joern: adapted from zlocation 18-jan-11/axel+joern: choose between l and l+1 depending on sign of x
- Parameters:
xpos [real]
ixpos [integer]
lproc [logical]
- Called from:
wvid_prepare(),wvid(),setup_slices(),max_mn(),sum_mn(),dot_mn(),vec_dot_3tensor(),matrix2linarray(),linarray2matrix(),inv2_3x3mat(),scalartripleproduct(),det3x3mat(),dot_mn_sv(),dot_mn_sv_pencil(),dot_mn_sm(),dot_mn_vm(),dot_mn_vm_trans(),dot2_mn(),dot2_mx(),dot2fj(),dyadic2(),trace_mn(),mult_matrix(),multm2_mn(),multm2_sym_mn(),multmv_mn(),invmat_db(),multsv_mn(),multsv_mn_add(),multsm_mn(),cross_mn(),cross_mixed(),gij(),gij_v_times_s(),gijl_symmetric(),grad5(),div(),div_tensor(),div_other(),div_mn(),div_mn_2tensor(),curl_mn(),curl_horizontal(),curl(),curl_other(),curli(),del2v(),del2m3x3_sym(),del2fj(),del2fi_dxjk(),d2fi_dxj(),symmetrise3x3_ut2lt(),del2v_etc(),del2vi_etc(),del4v(),del6v(),bij_tilde(),gij_etc(),g2ij(),del4(),del6(),del6_strict(),del4graddiv(),del6_other(),del6fj(),del6fjv(),u_dot_grad_mat(),nou_dot_grad_scl(),h_dot_grad_vec(),gradf_upw1st(),rdim(),read_snaptime(),update_snaptime(),shift_dt(),set_next_dt(),set_dt(),vecout(),vecout_initialize(),vecout_finalize(),despike(),smooth_kernel(),smooth(),smooth_mn(),get_smooth_kernel(),eulag_filter(),identify_bcs(),lower_triangular_index(),step_vector(),der6_step(),stepdown(),der_stepdown(),coeff_ydep(),parse_bc(),inverse_parse_bc(),parse_bc_rad(),parse_bc_radg(),parse_shell(),control_file_exists(),read_line_from_file(),get_nseed(),get_where(),write_dx_general(),write_zprof(),write_yprof(),write_xprof(),remove_prof(),blob(),blobs(),gamma_function(),tensor_diffusion_coef(),get_radial_distance(),interp1(),bspline_basis(),bspline_interpolation(),bspline_precondition(),ludcmp(),lubksb(),gij_psi(),gij_psi_etc(),location_in_proc()- Call to:
fatal_error(),der6(),deri_3d_inds(),calc_del6_for_upwind(),global_mean(),find_max_fvec(),find_rms_fvec(),find_xyrms_fvec(),gij(),div_mn(),traceless_strain(),multm2_sym_mn(),update_on_gpu(),get_dxyzs(),mpiabort()
- subroutine sub/ylocation(ypos, iypos, lproc)
If ypos lies within this processor, then lproc=T and ypos=y(iypos). Otherwise lproc=F and iypos=1.
18-nov-06/axel: coded 14-oct-08/ccyang: use half-closed interval and include the top-most plane 03-dec-09/MR: adapted from module slices 16-dec-10/joern: took it from zlocation 18-jan-11/axel+joern: choose between m and m+1 depending on sign of y
- Parameters:
ypos [real]
iypos [integer]
lproc [logical]
- Called from:
max_mn(),sum_mn(),dot_mn(),vec_dot_3tensor(),matrix2linarray(),linarray2matrix(),inv2_3x3mat(),scalartripleproduct(),det3x3mat(),dot_mn_sv(),dot_mn_sv_pencil(),dot_mn_sm(),dot_mn_vm(),dot_mn_vm_trans(),dot2_mn(),dot2_mx(),dot2fj(),dyadic2(),trace_mn(),mult_matrix(),multm2_mn(),multm2_sym_mn(),multmv_mn(),invmat_db(),multsv_mn(),multsv_mn_add(),multsm_mn(),cross_mn(),cross_mixed(),gij(),gij_v_times_s(),gijl_symmetric(),grad5(),div(),div_tensor(),div_other(),div_mn(),div_mn_2tensor(),curl_mn(),curl_horizontal(),curl(),curl_other(),curli(),del2v(),del2m3x3_sym(),del2fj(),del2fi_dxjk(),d2fi_dxj(),symmetrise3x3_ut2lt(),del2v_etc(),del2vi_etc(),del4v(),del6v(),bij_tilde(),gij_etc(),g2ij(),del4(),del6(),del6_strict(),del4graddiv(),del6_other(),del6fj(),del6fjv(),u_dot_grad_mat(),nou_dot_grad_scl(),h_dot_grad_vec(),gradf_upw1st(),rdim(),read_snaptime(),update_snaptime(),shift_dt(),set_next_dt(),set_dt(),vecout(),vecout_initialize(),vecout_finalize(),despike(),smooth_kernel(),smooth(),smooth_mn(),get_smooth_kernel(),eulag_filter(),identify_bcs(),lower_triangular_index(),step_vector(),der6_step(),stepdown(),der_stepdown(),coeff_ydep(),parse_bc(),inverse_parse_bc(),parse_bc_rad(),parse_bc_radg(),parse_shell(),control_file_exists(),read_line_from_file(),get_nseed(),get_where(),write_dx_general(),write_zprof(),write_yprof(),write_xprof(),remove_prof(),blob(),blobs(),gamma_function(),tensor_diffusion_coef(),get_radial_distance(),interp1(),bspline_basis(),bspline_interpolation(),bspline_precondition(),ludcmp(),lubksb(),gij_psi(),gij_psi_etc(),location_in_proc()- Call to:
fatal_error(),der6(),deri_3d_inds(),calc_del6_for_upwind(),global_mean(),find_max_fvec(),find_rms_fvec(),find_xyrms_fvec(),gij(),div_mn(),traceless_strain(),multm2_sym_mn(),update_on_gpu(),get_dxyzs(),mpiabort()
- subroutine sub/zlocation(zpos, izpos, lproc)
If zpos lies within this processor, then lproc=T and zpos=z(izpos). Otherwise lproc=F and izpos=1.
18-nov-06/axel: coded 14-oct-08/ccyang: use half-closed interval and include the top-most plane 03-dec-09/MR: moved here from module slices 18-jan-11/axel+joern: choose between n and n+1 depending on sign of z
- Parameters:
zpos [real]
izpos [integer]
lproc [logical]
- Called from:
wvid_prepare(),wvid(),setup_slices(),register_testflow(),initialize_testflow(),max_mn(),sum_mn(),dot_mn(),vec_dot_3tensor(),matrix2linarray(),linarray2matrix(),inv2_3x3mat(),scalartripleproduct(),det3x3mat(),dot_mn_sv(),dot_mn_sv_pencil(),dot_mn_sm(),dot_mn_vm(),dot_mn_vm_trans(),dot2_mn(),dot2_mx(),dot2fj(),dyadic2(),trace_mn(),mult_matrix(),multm2_mn(),multm2_sym_mn(),multmv_mn(),invmat_db(),multsv_mn(),multsv_mn_add(),multsm_mn(),cross_mn(),cross_mixed(),gij(),gij_v_times_s(),gijl_symmetric(),grad5(),div(),div_tensor(),div_other(),div_mn(),div_mn_2tensor(),curl_mn(),curl_horizontal(),curl(),curl_other(),curli(),del2v(),del2m3x3_sym(),del2fj(),del2fi_dxjk(),d2fi_dxj(),symmetrise3x3_ut2lt(),del2v_etc(),del2vi_etc(),del4v(),del6v(),bij_tilde(),gij_etc(),g2ij(),del4(),del6(),del6_strict(),del4graddiv(),del6_other(),del6fj(),del6fjv(),u_dot_grad_mat(),nou_dot_grad_scl(),h_dot_grad_vec(),gradf_upw1st(),rdim(),read_snaptime(),update_snaptime(),shift_dt(),set_next_dt(),set_dt(),vecout(),vecout_initialize(),vecout_finalize(),despike(),smooth_kernel(),smooth(),smooth_mn(),get_smooth_kernel(),eulag_filter(),identify_bcs(),lower_triangular_index(),step_vector(),der6_step(),stepdown(),der_stepdown(),coeff_ydep(),parse_bc(),inverse_parse_bc(),parse_bc_rad(),parse_bc_radg(),parse_shell(),control_file_exists(),read_line_from_file(),get_nseed(),get_where(),write_dx_general(),write_zprof(),write_yprof(),write_xprof(),remove_prof(),blob(),blobs(),gamma_function(),tensor_diffusion_coef(),get_radial_distance(),interp1(),bspline_basis(),bspline_interpolation(),bspline_precondition(),ludcmp(),lubksb(),gij_psi(),gij_psi_etc(),location_in_proc()- Call to:
fatal_error(),der6(),deri_3d_inds(),calc_del6_for_upwind(),global_mean(),find_max_fvec(),find_rms_fvec(),find_xyrms_fvec(),gij(),div_mn(),traceless_strain(),multm2_sym_mn(),update_on_gpu(),get_dxyzs(),mpiabort()
- subroutine sub/position(ind, ip, ngrid, ind_loc, flag)
Determines local position ind_loc with respect to processor ip corresponding to global position ind if grid has local extent ngrid. flag is set if ind_loc lies within the local range. On return, ind_loc is corrected for number of ghost zones, thus can be used to index the f array.
- Parameters:
ind_loc [integer,inout] ::
and flag are not altered if ind <= 0.
21-apr-15/MR: coded 27-may-18/MR: added ind_loc=-1 when ind outside proc range
6-may-19/MR: made +1 the “invalid” value to allow indexing with ind_loc
ind [integer,inout]
ip [integer,in]
ngrid [integer,in]
flag [logical,out]
- Called from:
initialize_boundcond(),wvid_prepare(),wvid(),setup_slices()- Call to:
fatal_error(),der6(),deri_3d_inds(),calc_del6_for_upwind(),global_mean(),find_max_fvec(),find_rms_fvec(),find_xyrms_fvec(),gij(),div_mn(),traceless_strain(),multm2_sym_mn(),update_on_gpu(),get_dxyzs(),mpiabort()
- subroutine sub/fourier_single_mode(arr, idims, k, idir, amps[, l2nd])
No parallelization in x allowed here
08-dec-10/MR: coded
- Parameters:
arr (idims(1,idims(2) [real,in]
idims (2) [integer,in,required]
k [real,in]
idir [integer,in]
amps (2,*) [real,out] :: result is in root of z-beams
l2nd [logical,in,]
- Use :
- Called from:
initialize_testfield_general(),calc_uxb(),calc_diffusive_part(),calc_diffusive_part_prof_0d(),calc_diffusive_part_prof_1d(),calc_inverse_matrix(),calc_coefficients()- Call to:
fatal_error(),der6(),deri_3d_inds(),calc_del6_for_upwind(),global_mean(),find_max_fvec(),find_rms_fvec(),find_xyrms_fvec(),gij(),div_mn(),traceless_strain(),multm2_sym_mn(),update_on_gpu(),get_dxyzs(),mpiabort()
- subroutine sub/register_report_aux(name, index[, ind_aux1[, ind_aux2[, ind_aux3[, communicated[, rhs[, read_from_gpu]]]]]])
Registers aux variable named ‘name’ if not already registered (i.e. if index==0). Variable is scalar if ind_aux1,ind_aux2,
- Parameters:
ind_aux3 [integer,inout,] ::
are missing, vector with number of components equal to number of present ind_aux* parameters. Index of variable and its components (if any) are returned in index,ind_aux1,ind_aux2,ind_aux3 If already registered: outputs indices in index.pro
13-jan-11/MR: coded 29-may-14/ccyang: add optional argument communicated
name [character,in]
index [integer,inout]
ind_aux1 [integer,inout,]
ind_aux2 [integer,inout,]
communicated [logical,in,]
rhs [logical,in,]
read_from_gpu [logical,in,]
- Use :
farraymanager(farray_register_auxiliary(),farray_index_append())- Called from:
- Call to:
fatal_error(),der6(),deri_3d_inds(),calc_del6_for_upwind(),global_mean(),find_max_fvec(),find_rms_fvec(),find_xyrms_fvec(),gij(),div_mn(),traceless_strain(),multm2_sym_mn(),update_on_gpu(),get_dxyzs(),mpiabort()
- subroutine sub/unit_vector(bb, bb_hat)
Compute the unit vector for any given vector bb. Tries to avoid division by zero. Taken from http://nuclear.llnl.gov/CNP/apt/apt/aptvunb.html.
18-oct-11/bing: copied from bb_unitvec_shock in magnetic.f90
- subroutine sub/calc_del6_for_upwind(f, k, hh, del6f_upwind[, mask])
- Parameters:
- Use :
- Called from:
max_mn(),sum_mn(),dot_mn(),vec_dot_3tensor(),matrix2linarray(),linarray2matrix(),inv2_3x3mat(),scalartripleproduct(),det3x3mat(),dot_mn_sv(),dot_mn_sv_pencil(),dot_mn_sm(),dot_mn_vm(),dot_mn_vm_trans(),dot2_mn(),dot2_mx(),dot2fj(),dyadic2(),trace_mn(),mult_matrix(),multm2_mn(),multm2_sym_mn(),multmv_mn(),invmat_db(),multsv_mn(),multsv_mn_add(),multsm_mn(),cross_mn(),cross_mixed(),gij(),gij_v_times_s(),gijl_symmetric(),grad5(),div(),div_tensor(),div_other(),div_mn(),div_mn_2tensor(),curl_mn(),curl_horizontal(),curl(),curl_other(),curli(),del2v(),del2m3x3_sym(),del2fj(),del2fi_dxjk(),d2fi_dxj(),symmetrise3x3_ut2lt(),del2v_etc(),del2vi_etc(),del4v(),del6v(),bij_tilde(),gij_etc(),g2ij(),del4(),del6(),del6_strict(),del4graddiv(),del6_other(),del6fj(),del6fjv(),u_dot_grad_mat(),nou_dot_grad_scl(),h_dot_grad_vec(),gradf_upw1st(),rdim(),read_snaptime(),update_snaptime(),shift_dt(),set_next_dt(),set_dt(),vecout(),vecout_initialize(),vecout_finalize(),despike(),smooth_kernel(),smooth(),smooth_mn(),get_smooth_kernel(),eulag_filter(),identify_bcs(),lower_triangular_index(),step_vector(),der6_step(),stepdown(),der_stepdown(),coeff_ydep(),parse_bc(),inverse_parse_bc(),parse_bc_rad(),parse_bc_radg(),parse_shell(),control_file_exists(),read_line_from_file(),get_nseed(),get_where(),write_dx_general(),write_zprof(),write_yprof(),write_xprof(),remove_prof(),blob(),blobs(),gamma_function(),tensor_diffusion_coef(),get_radial_distance(),interp1(),bspline_basis(),bspline_interpolation(),bspline_precondition(),ludcmp(),lubksb(),gij_psi(),gij_psi_etc(),location_in_proc(),xlocation(),ylocation(),zlocation(),position(),fourier_single_mode(),register_report_aux(),unit_vector(),calc_del6_for_upwind(),doupwind()- Call to:
der6(),deri_3d_inds(),calc_del6_for_upwind(),global_mean(),find_max_fvec(),find_rms_fvec(),find_xyrms_fvec(),fatal_error(),gij(),div_mn(),traceless_strain(),multm2_sym_mn(),update_on_gpu(),get_dxyzs(),mpiabort()
- subroutine sub/doupwind(f, k, uu, ugradf[, mask])
Calculates upwind correction, works incrementally on ugradf
- 26-mar-12/MR: outsourced from routines u_dot_grad_mat, u_dot_grad_scl, u_dot_grad_scl_alt
9-apr-12/MR: optional parameter plus added
- 12-apr-12/MR: optional parameter modified
8-apr-17/wlyra: encapsulated the calculation of del6
- Parameters:
- Called from:
update_char_vel_magnetic(),set_ambipolar_diffusion(),diamagnetism(),max_mn(),sum_mn(),dot_mn(),vec_dot_3tensor(),matrix2linarray(),linarray2matrix(),inv2_3x3mat(),scalartripleproduct(),det3x3mat(),dot_mn_sv(),dot_mn_sv_pencil(),dot_mn_sm(),dot_mn_vm(),dot_mn_vm_trans(),dot2_mn(),dot2_mx(),dot2fj(),dyadic2(),dyadic2_other(),trace_mn(),mult_matrix(),multm2_mn(),multm2_sym_mn(),multmv_mn(),invmat_db(),multsv_mn(),multsv_mn_add(),multsm_mn(),cross_mn(),cross_mixed(),gij(),gij_v_times_s(),gijl_symmetric(),grad5(),div(),div_tensor(),div_other(),div_mn(),div_mn_2tensor(),curl_mn(),curl_horizontal(),curl(),curl_other(),curli(),del2v(),del2m3x3_sym(),del2fj(),del2fi_dxjk(),d2fi_dxj(),symmetrise3x3_ut2lt(),del2v_etc(),del2vi_etc(),del4v(),del6v(),bij_tilde(),gij_etc(),g2ij(),del4(),del6(),del6_strict(),del4graddiv(),del6_other(),del6fj(),del6fjv(),u_dot_grad_mat()- Call to:
calc_del6_for_upwind(),global_mean(),find_max_fvec(),find_rms_fvec(),find_xyrms_fvec(),fatal_error(),gij(),div_mn(),traceless_strain(),multm2_sym_mn(),update_on_gpu(),get_dxyzs(),mpiabort()
- subroutine sub/global_mean(f, inda, mean[, indep[, lexp]])
Calculate global mean for a (several) field(s) selected by the index inda (the index range inda - indep) in f.
15-oct-12/MR: adapted from remove_mean 22-aug-13/MR: rewritten into subroutine because of internal compiler error of gfortran 25-aug-13/MR: removed allocatable attribute from mean to adhere to f95
- Parameters:
- Use :
mpicomm(mpiallreduce_sum()),general(ioptest(),loptest())- Called from:
max_mn(),sum_mn(),dot_mn(),vec_dot_3tensor(),matrix2linarray(),linarray2matrix(),inv2_3x3mat(),scalartripleproduct(),det3x3mat(),dot_mn_sv(),dot_mn_sv_pencil(),dot_mn_sm(),dot_mn_vm(),dot_mn_vm_trans(),dot2_mn(),dot2_mx(),dot2fj(),dyadic2(),trace_mn(),mult_matrix(),multm2_mn(),multm2_sym_mn(),multmv_mn(),invmat_db(),multsv_mn(),multsv_mn_add(),multsm_mn(),cross_mn(),cross_mixed(),gij(),gij_v_times_s(),gijl_symmetric(),grad5(),div(),div_tensor(),div_other(),div_mn(),div_mn_2tensor(),curl_mn(),curl_horizontal(),curl(),curl_other(),curli(),del2v(),del2m3x3_sym(),del2fj(),del2fi_dxjk(),d2fi_dxj(),symmetrise3x3_ut2lt(),del2v_etc(),del2vi_etc(),del4v(),del6v(),bij_tilde(),gij_etc(),g2ij(),del4(),del6(),del6_strict(),del4graddiv(),del6_other(),del6fj(),del6fjv(),u_dot_grad_mat(),nou_dot_grad_scl(),h_dot_grad_vec(),gradf_upw1st(),rdim(),read_snaptime(),update_snaptime(),shift_dt(),set_next_dt(),set_dt(),vecout(),vecout_initialize(),vecout_finalize(),despike(),smooth_kernel(),smooth(),smooth_mn(),get_smooth_kernel(),eulag_filter(),identify_bcs(),lower_triangular_index(),step_vector(),der6_step(),stepdown(),der_stepdown(),coeff_ydep(),parse_bc(),inverse_parse_bc(),parse_bc_rad(),parse_bc_radg(),parse_shell(),control_file_exists(),read_line_from_file(),get_nseed(),get_where(),write_dx_general(),write_zprof(),write_yprof(),write_xprof(),remove_prof(),blob(),blobs(),gamma_function(),tensor_diffusion_coef(),get_radial_distance(),interp1(),bspline_basis(),bspline_interpolation(),bspline_precondition(),ludcmp(),lubksb(),gij_psi(),gij_psi_etc(),location_in_proc(),xlocation(),ylocation(),zlocation(),position(),fourier_single_mode(),register_report_aux(),unit_vector(),calc_del6_for_upwind(),doupwind(),global_mean(),remove_mean()- Call to:
global_mean(),find_max_fvec(),find_rms_fvec(),find_xyrms_fvec(),fatal_error(),gij(),div_mn(),traceless_strain(),multm2_sym_mn(),update_on_gpu(),get_dxyzs(),mpiabort()
- subroutine sub/remove_mean(f_, inda[, indep[, lexp]])
Substract mean from a (several) field(s) selected by the index inda (the index range inda - indep) in f.
08-may-12/MR: adapted from remove_mean_flow
- Parameters:
f_ (,,*,*) [real,inout,target]
inda [integer,in]
indep [integer,in,]
lexp [logical,in,]
- Use :
mpicomm(mpiallreduce_sum()),general(ioptest()),iso_c_binding- Called from:
register_pscalar(),initialize_pscalar(),init_lncc(),pencil_criteria_pscalar(),pencil_interdep_pscalar(),calc_pencils_pscalar(),calc_diagnostics_pscalar(),dlncc_dt(),read_pscalar_init_pars(),write_pscalar_init_pars(),read_pscalar_run_pars(),write_pscalar_run_pars(),rprint_pscalar(),get_slices_pscalar(),pscalar_before_boundary()- Call to:
global_mean(),find_max_fvec(),find_rms_fvec(),find_xyrms_fvec(),fatal_error(),gij(),div_mn(),traceless_strain(),multm2_sym_mn(),update_on_gpu(),get_dxyzs(),mpiabort()
- function sub/find_max_fvec(f, iv)
Find the maximum of the modulus of a vector field.
19-aug-2011/ccyang: coded 12-sep-2013/MR: outsourced from hydro
- Parameters:
f (,,*,*) [real,in,contiguous] :: /Hp_ini**2
iv [integer,in]
- Return:
find_max_fvec [real]
- Use :
- Called from:
pde(),write_diagnostics(),calc_all_module_diagnostic_auxiliaries(),perform_diagnostics(),finalize_diagnostics(),debug_imn_arrays(),max_mn(),sum_mn(),dot_mn(),vec_dot_3tensor(),matrix2linarray(),linarray2matrix(),inv2_3x3mat(),scalartripleproduct(),det3x3mat(),dot_mn_sv(),dot_mn_sv_pencil(),dot_mn_sm(),dot_mn_vm(),dot_mn_vm_trans(),dot2_mn(),dot2_mx(),dot2fj(),dyadic2(),trace_mn(),mult_matrix(),multm2_mn(),multm2_sym_mn(),multmv_mn(),invmat_db(),multsv_mn(),multsv_mn_add(),multsm_mn(),cross_mn(),cross_mixed(),gij(),gij_v_times_s(),gijl_symmetric(),grad5(),div(),div_tensor(),div_other(),div_mn(),div_mn_2tensor(),curl_mn(),curl_horizontal(),curl(),curl_other(),curli(),del2v(),del2m3x3_sym(),del2fj(),del2fi_dxjk(),d2fi_dxj(),symmetrise3x3_ut2lt(),del2v_etc(),del2vi_etc(),del4v(),del6v(),bij_tilde(),gij_etc(),g2ij(),del4(),del6(),del6_strict(),del4graddiv(),del6_other(),del6fj(),del6fjv(),u_dot_grad_mat(),nou_dot_grad_scl(),h_dot_grad_vec(),gradf_upw1st(),rdim(),read_snaptime(),update_snaptime(),shift_dt(),set_next_dt(),set_dt(),vecout(),vecout_initialize(),vecout_finalize(),despike(),smooth_kernel(),smooth(),smooth_mn(),get_smooth_kernel(),eulag_filter(),identify_bcs(),lower_triangular_index(),step_vector(),der6_step(),stepdown(),der_stepdown(),coeff_ydep(),parse_bc(),inverse_parse_bc(),parse_bc_rad(),parse_bc_radg(),parse_shell(),control_file_exists(),read_line_from_file(),get_nseed(),get_where(),write_dx_general(),write_zprof(),write_yprof(),write_xprof(),remove_prof(),blob(),blobs(),gamma_function(),tensor_diffusion_coef(),get_radial_distance(),interp1(),bspline_basis(),bspline_interpolation(),bspline_precondition(),ludcmp(),lubksb(),gij_psi(),gij_psi_etc(),location_in_proc(),xlocation(),ylocation(),zlocation(),position(),fourier_single_mode(),register_report_aux(),unit_vector(),calc_del6_for_upwind(),doupwind(),global_mean(),remove_mean()- Call to:
find_rms_fvec(),find_xyrms_fvec(),fatal_error(),gij(),div_mn(),traceless_strain(),multm2_sym_mn(),update_on_gpu(),get_dxyzs(),mpiabort()
- function sub/find_rms_fvec(f, iv)
Find the root-mean-square of the modulus of a vector field.
25-aug-2015/ccyang: coded
- Parameters:
f (,,*,*) [real,in,contiguous] :: /Hp_ini**2
iv [integer,in]
- Return:
find_rms_fvec [real]
- Use :
- Called from:
pde(),write_diagnostics(),calc_all_module_diagnostic_auxiliaries(),perform_diagnostics(),finalize_diagnostics(),debug_imn_arrays(),max_mn(),sum_mn(),dot_mn(),vec_dot_3tensor(),matrix2linarray(),linarray2matrix(),inv2_3x3mat(),scalartripleproduct(),det3x3mat(),dot_mn_sv(),dot_mn_sv_pencil(),dot_mn_sm(),dot_mn_vm(),dot_mn_vm_trans(),dot2_mn(),dot2_mx(),dot2fj(),dyadic2(),trace_mn(),mult_matrix(),multm2_mn(),multm2_sym_mn(),multmv_mn(),invmat_db(),multsv_mn(),multsv_mn_add(),multsm_mn(),cross_mn(),cross_mixed(),gij(),gij_v_times_s(),gijl_symmetric(),grad5(),div(),div_tensor(),div_other(),div_mn(),div_mn_2tensor(),curl_mn(),curl_horizontal(),curl(),curl_other(),curli(),del2v(),del2m3x3_sym(),del2fj(),del2fi_dxjk(),d2fi_dxj(),symmetrise3x3_ut2lt(),del2v_etc(),del2vi_etc(),del4v(),del6v(),bij_tilde(),gij_etc(),g2ij(),del4(),del6(),del6_strict(),del4graddiv(),del6_other(),del6fj(),del6fjv(),u_dot_grad_mat(),nou_dot_grad_scl(),h_dot_grad_vec(),gradf_upw1st(),rdim(),read_snaptime(),update_snaptime(),shift_dt(),set_next_dt(),set_dt(),vecout(),vecout_initialize(),vecout_finalize(),despike(),smooth_kernel(),smooth(),smooth_mn(),get_smooth_kernel(),eulag_filter(),identify_bcs(),lower_triangular_index(),step_vector(),der6_step(),stepdown(),der_stepdown(),coeff_ydep(),parse_bc(),inverse_parse_bc(),parse_bc_rad(),parse_bc_radg(),parse_shell(),control_file_exists(),read_line_from_file(),get_nseed(),get_where(),write_dx_general(),write_zprof(),write_yprof(),write_xprof(),remove_prof(),blob(),blobs(),gamma_function(),tensor_diffusion_coef(),get_radial_distance(),interp1(),bspline_basis(),bspline_interpolation(),bspline_precondition(),ludcmp(),lubksb(),gij_psi(),gij_psi_etc(),location_in_proc(),xlocation(),ylocation(),zlocation(),position(),fourier_single_mode(),register_report_aux(),unit_vector(),calc_del6_for_upwind(),doupwind(),global_mean(),remove_mean(),find_max_fvec()- Call to:
find_xyrms_fvec(),fatal_error(),gij(),div_mn(),traceless_strain(),multm2_sym_mn(),update_on_gpu(),get_dxyzs(),mpiabort()
- function sub/find_xyrms_fvec(f, iv)
Find the rms magnitude of a vector field in each z.
29-jun-14/ccyang: coded
- Parameters:
f (,,*,*) [real,in,contiguous] :: /Hp_ini**2
iv [integer,in]
- Return:
rms (nz) [real]
- Use :
- Called from:
max_mn(),sum_mn(),dot_mn(),vec_dot_3tensor(),matrix2linarray(),linarray2matrix(),inv2_3x3mat(),scalartripleproduct(),det3x3mat(),dot_mn_sv(),dot_mn_sv_pencil(),dot_mn_sm(),dot_mn_vm(),dot_mn_vm_trans(),dot2_mn(),dot2_mx(),dot2fj(),dyadic2(),trace_mn(),mult_matrix(),multm2_mn(),multm2_sym_mn(),multmv_mn(),invmat_db(),multsv_mn(),multsv_mn_add(),multsm_mn(),cross_mn(),cross_mixed(),gij(),gij_v_times_s(),gijl_symmetric(),grad5(),div(),div_tensor(),div_other(),div_mn(),div_mn_2tensor(),curl_mn(),curl_horizontal(),curl(),curl_other(),curli(),del2v(),del2m3x3_sym(),del2fj(),del2fi_dxjk(),d2fi_dxj(),symmetrise3x3_ut2lt(),del2v_etc(),del2vi_etc(),del4v(),del6v(),bij_tilde(),gij_etc(),g2ij(),del4(),del6(),del6_strict(),del4graddiv(),del6_other(),del6fj(),del6fjv(),u_dot_grad_mat(),nou_dot_grad_scl(),h_dot_grad_vec(),gradf_upw1st(),rdim(),read_snaptime(),update_snaptime(),shift_dt(),set_next_dt(),set_dt(),vecout(),vecout_initialize(),vecout_finalize(),despike(),smooth_kernel(),smooth(),smooth_mn(),get_smooth_kernel(),eulag_filter(),identify_bcs(),lower_triangular_index(),step_vector(),der6_step(),stepdown(),der_stepdown(),coeff_ydep(),parse_bc(),inverse_parse_bc(),parse_bc_rad(),parse_bc_radg(),parse_shell(),control_file_exists(),read_line_from_file(),get_nseed(),get_where(),write_dx_general(),write_zprof(),write_yprof(),write_xprof(),remove_prof(),blob(),blobs(),gamma_function(),tensor_diffusion_coef(),get_radial_distance(),interp1(),bspline_basis(),bspline_interpolation(),bspline_precondition(),ludcmp(),lubksb(),gij_psi(),gij_psi_etc(),location_in_proc(),xlocation(),ylocation(),zlocation(),position(),fourier_single_mode(),register_report_aux(),unit_vector(),calc_del6_for_upwind(),doupwind(),global_mean(),remove_mean(),find_max_fvec(),find_rms_fvec()- Call to:
fatal_error(),gij(),div_mn(),traceless_strain(),multm2_sym_mn(),update_on_gpu(),get_dxyzs(),mpiabort()
- subroutine sub/calc_slope_diff_flux(f, j, h_slope_limited, nlf, div_flux, div_type[, heat[, heat_type[, flux1[, flux2[, flux3]]]]])
Calculate diffusiv flux, divergence of diffusiv flux and the heating (optional) for variables in the f array. setting heat_sl enable heating calculation
13-03-2020/Joern: coded, based on similar routine in special/solar_corona.f90
- Parameters:
- Use :
- Called from:
register_viscosity(),initialize_viscosity(),read_viscosity_run_pars(),write_viscosity_run_pars(),rprint_viscosity(),pencil_criteria_viscosity(),pencil_interdep_viscosity()- Call to:
fatal_error(),gij(),div_mn(),traceless_strain(),multm2_sym_mn(),update_on_gpu(),get_dxyzs(),mpiabort()
- subroutine sub/periodic_fold_back(dd, boxsize)
Comment on me!
- Parameters:
dd (3) [real,inout]
boxsize (3) [real,in]
- Call to:
gij(),div_mn(),traceless_strain(),multm2_sym_mn(),fatal_error(),update_on_gpu(),get_dxyzs(),mpiabort()
- subroutine sub/calc_all_diff_fluxes(f, k, islope_limiter, h_slope_limited)
Calculates all <=3 components of the diffusive flux according to dimensionality.
8-oct-15/MR: carved out from viscosity
- Parameters:
f (,,*,*) [real,inout] :: /Hp_ini**2
k [integer,in]
islope_limiter [character,in]
h_slope_limited [real,in]
- Use :
- Call to:
gij(),div_mn(),traceless_strain(),multm2_sym_mn(),fatal_error(),update_on_gpu(),get_dxyzs(),mpiabort()
- subroutine sub/calc_sij2(f, sij2[, lshear_rateofstrain])
Calculates square of traceless rate-of-strain tensor from f array.
16-dec-16/MR: Outsourced from hydro.
- Parameters:
f (,,*,*) [real,in,contiguous] :: /Hp_ini**2
sij2 (nx) [real,out]
lshear_rateofstrain [logical,in,]
- Called from:
register_viscosity(),initialize_viscosity(),read_viscosity_run_pars(),write_viscosity_run_pars(),rprint_viscosity(),pencil_criteria_viscosity(),pencil_interdep_viscosity(),calc_pencils_viscosity(),viscosity_after_boundary()- Call to:
gij(),div_mn(),traceless_strain(),multm2_sym_mn(),fatal_error(),update_on_gpu(),get_dxyzs(),mpiabort()
- subroutine sub/traceless_strain(uij[, divu, sij[, uu[, lss]]])
Calculates traceless rate-of-strain tensor sij from derivative tensor uij and divergence divu within each pencil; curvilinear co-ordinates require optional velocity argument uu. In-place operation is possible, i.e. uij and sij may refer to the same array.
16-oct-09/MR: carved out from calc_pencils_hydro 10-apr-11/MR: optional parameter lss added, replaces use of global lshear_rateofstrain
- Parameters:
- Use :
- 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(),register_viscosity(),initialize_viscosity(),read_viscosity_run_pars(),write_viscosity_run_pars(),rprint_viscosity(),pencil_criteria_viscosity(),pencil_interdep_viscosity(),calc_pencils_viscosity(),viscosity_after_boundary(),max_mn(),sum_mn(),dot_mn(),vec_dot_3tensor(),matrix2linarray(),linarray2matrix(),inv2_3x3mat(),scalartripleproduct(),det3x3mat(),dot_mn_sv(),dot_mn_sv_pencil(),dot_mn_sm(),dot_mn_vm(),dot_mn_vm_trans(),dot2_mn(),dot2_mx(),dot2fj(),dyadic2(),trace_mn(),mult_matrix(),multm2_mn(),multm2_sym_mn(),multmv_mn(),invmat_db(),multsv_mn(),multsv_mn_add(),multsm_mn(),cross_mn(),cross_mixed(),gij(),gij_v_times_s(),gijl_symmetric(),grad5(),div(),div_tensor(),div_other(),div_mn(),div_mn_2tensor(),curl_mn(),curl_horizontal(),curl(),curl_other(),curli(),del2v(),del2m3x3_sym(),del2fj(),del2fi_dxjk(),d2fi_dxj(),symmetrise3x3_ut2lt(),del2v_etc(),del2vi_etc(),del4v(),del6v(),bij_tilde(),gij_etc(),g2ij(),del4(),del6(),del6_strict(),del4graddiv(),del6_other(),del6fj(),del6fjv(),u_dot_grad_mat(),nou_dot_grad_scl(),h_dot_grad_vec(),gradf_upw1st(),rdim(),read_snaptime(),update_snaptime(),shift_dt(),set_next_dt(),set_dt(),vecout(),vecout_initialize(),vecout_finalize(),despike(),smooth_kernel(),smooth(),smooth_mn(),get_smooth_kernel(),eulag_filter(),identify_bcs(),lower_triangular_index(),step_vector(),der6_step(),stepdown(),der_stepdown(),coeff_ydep(),parse_bc(),inverse_parse_bc(),parse_bc_rad(),parse_bc_radg(),parse_shell(),control_file_exists(),read_line_from_file(),get_nseed(),get_where(),write_dx_general(),write_zprof(),write_yprof(),write_xprof(),remove_prof(),blob(),blobs(),gamma_function(),tensor_diffusion_coef(),get_radial_distance(),interp1(),bspline_basis(),bspline_interpolation(),bspline_precondition(),ludcmp(),lubksb(),gij_psi(),gij_psi_etc(),location_in_proc(),xlocation(),ylocation(),zlocation(),position(),fourier_single_mode(),register_report_aux(),unit_vector(),calc_del6_for_upwind(),doupwind(),global_mean(),remove_mean(),find_max_fvec(),find_rms_fvec(),find_xyrms_fvec(),calc_slope_diff_flux(),periodic_fold_back(),calc_all_diff_fluxes(),calc_sij2()- Call to:
- subroutine sub/remove_mean_value(f, ind1, ind2)
Substract mean x-flow from the x-velocity field. Useful to avoid unphysical winds in shearing box simulations. Note: this is possibly not useful when there is rotation, because then epicyclic motions don’t usually grow catastrophically.
22-may-07/axel: adapted from remove_mean_momenta 15-dec-10/MR : added parameters indux to make applicable to other … 13-may-18/axel: moved to general, renamed, added end index
- Parameters:
f (,,*,*) [real,inout,contiguous] :: /Hp_ini**2
ind1 [integer,in]
ind2 [integer,in]
- Use :
- Call to:
- subroutine sub/stagger_to_base_interp_1st(f, m, n, fint)
Performs first-order interpolation from the staggered grid to the original one. The interpolation point is the center of the cuboid defined by the intervals (i1-1,i1), (j1-1,j1), (k1-1,k1) of the staggered grid.
10-jul-18/MR: coded
- Parameters:
- Call to:
- subroutine sub/stagger_to_base_interp_3rd(f, m, n, fint)
Performs third-order interpolation from the staggered grid to the original one. The interpolation point is the center of the cuboid defined by the intervals (i1-1,i1), (j1-1,j1), (k1-1,k1) of the staggered grid.
10-jul-18/MR: coded
- Parameters:
- Call to:
- subroutine sub/vortex(torus, omega, vel)
Creates a velocity vortex vel as a circular torus with rectangular cross-section from the geometry provided in torus and with the angular velocity Omega. The torus axis may precess and the torus position wobble.
6-May-20/MR: coded
- Parameters:
torus [torus_rect]
omega [real]
vel (nx,3) [real]
- Use :
geometrical_types,general(transform_cart_spher(),transform_spher_cart())- Call to:
- subroutine sub/smoothing_kernel(kernel[, lgaussian[, weights_[, smth_wid]]])
24-aug-02/fred&matthias: coded
- Parameters:
kernel (,,*) [real,out]
lgaussian [logical,in,]
weights_ (*) [real,in,]
smth_wid [integer,in,] :: width of the smoothing array
- Use :
- Called from:
- Call to:
- subroutine sub/calc_scl_factor()
Calculate scale factor of the universe. Read file upon first entry. Incorporated most of the stuff from special/gravitational_waves_hTXk.f90 but omitted everything that had to do with “Om*” The results of this are used in are used in src/special/disp_current.f90. This routine is independent of the routine src/special/Lambda_CDM.f90, which integrates ascale, Hubble, and tphys that are used in other routines.
- Use :
cdata(lread_scl_factor_file_new(),ip(),lroot(),t(),tmax(),scl_factor_target(),hp_target(),appa_target(),wweos_target()),messages(fatal_error()),gpu(update_on_gpu())- Called from:
- Call to:
- function sub/get_dxyzs()
- Return:
res [real]
- Called from:
max_mn(),sum_mn(),dot_mn(),vec_dot_3tensor(),matrix2linarray(),linarray2matrix(),inv2_3x3mat(),scalartripleproduct(),det3x3mat(),dot_mn_sv(),dot_mn_sv_pencil(),dot_mn_sm(),dot_mn_vm(),dot_mn_vm_trans(),dot2_mn(),dot2_mx(),dot2fj(),dyadic2(),trace_mn(),mult_matrix(),multm2_mn(),multm2_sym_mn(),multmv_mn(),invmat_db(),multsv_mn(),multsv_mn_add(),multsm_mn(),cross_mn(),cross_mixed(),gij(),gij_v_times_s(),gijl_symmetric(),grad5(),div(),div_tensor(),div_other(),div_mn(),div_mn_2tensor(),curl_mn(),curl_horizontal(),curl(),curl_other(),curli(),del2v(),del2m3x3_sym(),del2fj(),del2fi_dxjk(),d2fi_dxj(),symmetrise3x3_ut2lt(),del2v_etc(),del2vi_etc(),del4v(),del6v(),bij_tilde(),gij_etc(),g2ij(),del4(),del6(),del6_strict(),del4graddiv(),del6_other(),del6fj(),del6fjv(),u_dot_grad_mat(),nou_dot_grad_scl(),h_dot_grad_vec(),gradf_upw1st(),rdim(),read_snaptime(),update_snaptime(),shift_dt(),set_next_dt(),set_dt(),vecout(),vecout_initialize(),vecout_finalize(),despike(),smooth_kernel(),smooth(),smooth_mn(),get_smooth_kernel(),eulag_filter(),identify_bcs(),lower_triangular_index(),step_vector(),der6_step(),stepdown(),der_stepdown(),coeff_ydep(),parse_bc(),inverse_parse_bc(),parse_bc_rad(),parse_bc_radg(),parse_shell(),control_file_exists(),read_line_from_file(),get_nseed(),get_where(),write_dx_general(),write_zprof(),write_yprof(),write_xprof(),remove_prof(),blob(),blobs(),gamma_function(),tensor_diffusion_coef(),get_radial_distance(),interp1(),bspline_basis(),bspline_interpolation(),bspline_precondition(),ludcmp(),lubksb(),gij_psi(),gij_psi_etc(),location_in_proc(),xlocation(),ylocation(),zlocation(),position(),fourier_single_mode(),register_report_aux(),unit_vector(),calc_del6_for_upwind(),doupwind(),global_mean(),remove_mean(),find_max_fvec(),find_rms_fvec(),find_xyrms_fvec(),calc_slope_diff_flux(),periodic_fold_back(),calc_all_diff_fluxes(),calc_sij2(),traceless_strain(),remove_mean_value(),stagger_to_base_interp_1st(),stagger_to_base_interp_3rd(),vortex(),smoothing_kernel(),calc_scl_factor()- Call to: