MPI-AMRVAC  3.1
The MPI - Adaptive Mesh Refinement - Versatile Advection Code
Data Types | Modules | Variables
mod_usr_methods.t File Reference

Go to the source code of this file.

Data Types

interface  mod_usr_methods::p_no_args
 
interface  mod_usr_methods::init_one_grid
 Initialize one grid. More...
 
interface  mod_usr_methods::special_bc
 special boundary types, users must assign conservative variables in boundaries More...
 
interface  mod_usr_methods::special_mg_bc
 Special boundary type for radiation hydrodynamics module, only used to set the boundary conditions for the radiation energy. More...
 
interface  mod_usr_methods::internal_bc
 internal boundary, user defined This subroutine can be used to artificially overwrite ALL conservative variables in a user-selected region of the mesh, and thereby act as an internal boundary region. It is called just before external (ghost cell) boundary regions will be set by the BC selection. Here, you could e.g. want to introduce an extra variable (nwextra, to be distinguished from nwaux) which can be used to identify the internal boundary region location. Its effect should always be local as it acts on the mesh. More...
 
interface  mod_usr_methods::process_grid
 this subroutine is ONLY to be used for computing auxiliary variables which happen to be non-local (like div v), and are in no way used for flux computations. As auxiliaries, they are also not advanced More...
 
interface  mod_usr_methods::sub_modify_io
 If defined, this routine is called before writing output, and it can set/modify the variables in the w array. More...
 
interface  mod_usr_methods::process_global
 This subroutine is called at the beginning of each time step by each processor. No communication is specified, so the user has to implement MPI routines if information has to be shared. More...
 
interface  mod_usr_methods::process_adv_grid
 for processing after the advance (PIC-MHD, e.g.) More...
 
interface  mod_usr_methods::process_adv_global
 for processing after the advance (PIC-MHD, e.g.) More...
 
interface  mod_usr_methods::aux_output
 this subroutine can be used in convert, to add auxiliary variables to the converted output file, for further analysis using tecplot, paraview, .... these auxiliary values need to be stored in the nw+1:nw+nwauxio slots More...
 
interface  mod_usr_methods::add_aux_names
 Add names for the auxiliary variables. More...
 
interface  mod_usr_methods::source
 Calculate w(iw)=w(iw)+qdt*SOURCE[wCT,qtC,x] within ixO for all indices iw=iwmin...iwmax. wCT is at time qCT. More...
 
interface  mod_usr_methods::get_dt
 Limit "dt" further if necessary, e.g. due to the special source terms. The getdt_courant (CFL condition) and the getdt subroutine in the AMRVACPHYS module have already been called. More...
 
interface  mod_usr_methods::phys_gravity
 Calculate gravitational acceleration in each dimension. More...
 
interface  mod_usr_methods::phys_dust_get_3d_dragforce
 Calculate the 3d drag force of gas onto dust. More...
 
interface  mod_usr_methods::phys_dust_get_dt
 Calculate the time step associated with the usr drag force. More...
 
interface  mod_usr_methods::phys_visco
 Calculation anormal viscosity depending on space. More...
 
interface  mod_usr_methods::hd_pthermal
 Calculation anormal pressure for hd & energy=.False. More...
 
interface  mod_usr_methods::Rfactor
 Calculation R factor for ideal gas law with partial ionization. More...
 
interface  mod_usr_methods::special_resistivity
 Set the "eta" array for resistive MHD based on w or the "current" variable which has components between idirmin and 3. More...
 
interface  mod_usr_methods::special_opacity
 Set user defined opacity for use in diffusion coeff, heating and cooling, and radiation force. More...
 
interface  mod_usr_methods::special_aniso_opacity
 Set user defined, anisotropic opacity for use in diffusion coeff, heating and cooling, and radiation force. More...
 
interface  mod_usr_methods::special_opacity_qdot
 Set user defined opacity for use in diffusion coeff, heating and cooling, and radiation force. Overwrites special_opacity. More...
 
interface  mod_usr_methods::special_fluxlimiter
 Set user defined FLD flux limiter, lambda. More...
 
interface  mod_usr_methods::special_diffcoef
 Set user defined FLD diffusion coefficient. More...
 
interface  mod_usr_methods::refine_grid
 Enforce additional refinement or coarsening One can use the coordinate info in x and/or time qt=t_n and w(t_n) values w. you must set consistent values for integers refine/coarsen: refine = -1 enforce to not refine refine = 0 doesn't enforce anything refine = 1 enforce refinement coarsen = -1 enforce to not coarsen coarsen = 0 doesn't enforce anything coarsen = 1 enforce coarsen e.g. refine for negative first coordinate x < 0 as if (any(x(ix^S,1) < zero)) refine=1. More...
 
interface  mod_usr_methods::var_for_errest
 this is the place to compute a local auxiliary variable to be used as refinement criterion for the Lohner error estimator only -->it is then requiring and iflag>nw note that ixO=ixI=ixG, hence the term local (gradients need special attention!) More...
 
interface  mod_usr_methods::set_B0
 Here one can add a steady (time-independent) potential background field. More...
 
interface  mod_usr_methods::set_J0
 Here one can add a time-independent background current density. More...
 
interface  mod_usr_methods::set_equi_vars
 Here one can add a steady (time-independent) equi vars. More...
 
interface  mod_usr_methods::transform_w
 adjust w when restart from dat file with different w variables More...
 
interface  mod_usr_methods::a_refine_threshold
 use different threshold in special regions for AMR to reduce/increase resolution there where nothing/something interesting happens. More...
 
interface  mod_usr_methods::special_convert
 Allow user to use their own data-postprocessing procedures. More...
 
interface  mod_usr_methods::flag_grid
 flag=-1 : Treat all cells active, omit deactivation (onentry, default) flag=0 : Treat as normal domain flag=1 : Treat as passive, but reduce by safety belt flag=2 : Always treat as passive More...
 
interface  mod_usr_methods::update_payload
 Update payload of particles. More...
 
interface  mod_usr_methods::create_particles
 Create particles. More...
 
interface  mod_usr_methods::check_particle
 Check arbitrary particle conditions or modifications. More...
 
interface  mod_usr_methods::particle_fields
 Associate fields to particle. More...
 
interface  mod_usr_methods::particle_analytic
 
interface  mod_usr_methods::particle_position
 User-defined particle movement. More...
 
interface  mod_usr_methods::after_refine
 
interface  mod_usr_methods::init_vector_potential
 initialize vector potential on cell edges for magnetic field More...
 
interface  mod_usr_methods::set_electric_field
 
interface  mod_usr_methods::set_wLR
 allow user to specify 'variables' left and right state at physical boundaries to control flux through the boundary surface More...
 
interface  mod_usr_methods::set_surface
 
interface  mod_usr_methods::set_field_w
 
interface  mod_usr_methods::set_field
 

Modules

module  mod_usr_methods
 Module with all the methods that users can customize in AMRVAC.
 

Variables

procedure(p_no_args), pointer mod_usr_methods::usr_set_parameters => null()
 Initialize the user's settings (after initializing amrvac) More...
 
procedure(init_one_grid), pointer mod_usr_methods::usr_init_one_grid => null()
 Initialize earch grid block data. More...
 
procedure(special_bc), pointer mod_usr_methods::usr_special_bc => null()
 
procedure(special_mg_bc), pointer mod_usr_methods::usr_special_mg_bc => null()
 
procedure(internal_bc), pointer mod_usr_methods::usr_internal_bc => null()
 
procedure(p_no_args), pointer mod_usr_methods::usr_print_log => null()
 
procedure(p_no_args), pointer mod_usr_methods::usr_write_analysis => null()
 
procedure(transform_w), pointer mod_usr_methods::usr_transform_w => null()
 
procedure(aux_output), pointer mod_usr_methods::usr_aux_output => null()
 
procedure(add_aux_names), pointer mod_usr_methods::usr_add_aux_names => null()
 
procedure(sub_modify_io), pointer mod_usr_methods::usr_modify_output => null()
 
procedure(special_convert), pointer mod_usr_methods::usr_special_convert => null()
 
procedure(process_grid), pointer mod_usr_methods::usr_process_grid => null()
 
procedure(process_global), pointer mod_usr_methods::usr_process_global => null()
 
procedure(process_adv_grid), pointer mod_usr_methods::usr_process_adv_grid => null()
 
procedure(process_adv_global), pointer mod_usr_methods::usr_process_adv_global => null()
 
procedure(p_no_args), pointer mod_usr_methods::usr_improve_initial_condition => null()
 
procedure(p_no_args), pointer mod_usr_methods::usr_before_main_loop => null()
 
procedure(source), pointer mod_usr_methods::usr_source => null()
 
procedure(get_dt), pointer mod_usr_methods::usr_get_dt => null()
 
procedure(phys_gravity), pointer mod_usr_methods::usr_gravity => null()
 
procedure(phys_dust_get_dt), pointer mod_usr_methods::usr_dust_get_dt => null()
 
procedure(phys_dust_get_3d_dragforce), pointer mod_usr_methods::usr_get_3d_dragforce => null()
 
procedure(phys_visco), pointer mod_usr_methods::usr_setvisco => null()
 
procedure(hd_pthermal), pointer mod_usr_methods::usr_set_pthermal => null()
 
procedure(refine_grid), pointer mod_usr_methods::usr_refine_grid => null()
 
procedure(var_for_errest), pointer mod_usr_methods::usr_var_for_errest => null()
 
procedure(a_refine_threshold), pointer mod_usr_methods::usr_refine_threshold => null()
 
procedure(flag_grid), pointer mod_usr_methods::usr_flag_grid => null()
 
procedure(set_b0), pointer mod_usr_methods::usr_set_b0 => null()
 
procedure(set_equi_vars), pointer mod_usr_methods::usr_set_equi_vars => null()
 
procedure(set_j0), pointer mod_usr_methods::usr_set_j0 => null()
 
procedure(special_resistivity), pointer mod_usr_methods::usr_special_resistivity => null()
 
procedure(update_payload), pointer mod_usr_methods::usr_update_payload => null()
 
procedure(create_particles), pointer mod_usr_methods::usr_create_particles => null()
 
procedure(check_particle), pointer mod_usr_methods::usr_check_particle => null()
 
procedure(particle_fields), pointer mod_usr_methods::usr_particle_fields => null()
 
procedure(particle_analytic), pointer mod_usr_methods::usr_particle_analytic => null()
 
procedure(particle_position), pointer mod_usr_methods::usr_particle_position => null()
 
procedure(special_opacity), pointer mod_usr_methods::usr_special_opacity => null()
 
procedure(special_aniso_opacity), pointer mod_usr_methods::usr_special_aniso_opacity => null()
 
procedure(special_opacity_qdot), pointer mod_usr_methods::usr_special_opacity_qdot => null()
 
procedure(special_fluxlimiter), pointer mod_usr_methods::usr_special_fluxlimiter => null()
 
procedure(special_diffcoef), pointer mod_usr_methods::usr_special_diffcoef => null()
 
procedure(after_refine), pointer mod_usr_methods::usr_after_refine => null()
 
procedure(init_vector_potential), pointer mod_usr_methods::usr_init_vector_potential => null()
 
procedure(set_electric_field), pointer mod_usr_methods::usr_set_electric_field => null()
 
procedure(set_wlr), pointer mod_usr_methods::usr_set_wlr => null()
 
procedure(set_surface), pointer mod_usr_methods::usr_set_surface => null()
 
procedure(set_field_w), pointer mod_usr_methods::usr_set_field_w => null()
 
procedure(set_field), pointer mod_usr_methods::usr_set_field => null()
 
procedure(rfactor), pointer mod_usr_methods::usr_rfactor => null()