HARM
harm and utilities
 All Data Structures Files Functions Variables Typedefs Macros Pages
File List
Here is a list of all files with brief descriptions:
[detail level 12]
o+initboundcode
o*advance.cTakes RK sub-step
o*boundmpi.cBoundary conditions using MPI for core-overlapping cells for FTYPE quantities
o*boundmpiint.cBoundary conditions using MPI for core-overlapping cells for pflag or other integer quantities
o*bounds.cUSER boundary condition routines (often calling things in bounds.tools.c)
o*bounds.funcdeclare.hBoundary conditions declarations
o*bounds.tools.cGeneral or frequenty-used Boundary condition routines
o*boundsflux.cUser Boundary conditions for fluxes
o*boundsint.cUser Boundary conditions for PFTYPE for pflag type quantities
o*boundsvpot.cUser Boundary conditions for vector potential
o*coord.cUser coordinates and other coordinates stuff
o*coord.funcdeclare.hCoordinates stuff (both user and general)
o*coord.hUser coordinates (defcoord) definitions
o*copyandinit_functions.cCopy/init arrays
o*copyandinit_functions.funcdeclare.hCopy/init array header
o*definit.hDefault values for code choices/switches appearing in user's init.h
o*defs.general.hGeneral code variable declarations: GLOBAL VARIABLES that are not for every point in space
o*defs.grmhd.hWrapper
o*defs.user.hUser type defs (but better to use init.c and extern unless for coord.c)
o*diag.cDiagnostics subroutine
o*diag.funcdeclare.hDiagnostics subroutine declarations
o*dump.cFile dumping
o*dump_ener.cTime-dependence spatially-integrated diagnostics
o*dumpgen.cGeneral Data dump functions
o*eos.cEquation of State general functions
o*eos.funcdeclare.hEquation of State function declarations
o*f2c.hStandard Fortran to C header file
o*fail.cFunctions to report when failure occurs and code stops
o*fixup.cAll routines related to fixing up solution when inversion fails or floors on densities are hit all fixup stuff only called for non-B advance
o*fixup.funcdeclare.hFunction declarations for fixup.c
o*flux.cRoutines for computing fluxes except those special routines directly related to FLUXB==FLUXCTSTAG or FLUXCTTOTH
o*flux.funcdeclare.hFunction declarations for flux.c
o*fluxcompute.cPer-point calculations for getting flux
o*fluxct.cTOTH CT method for preserving divb=0 (FLUXB==FLUXCTTOTH)
o*fluxctstag.cAll things related to FLUXB==FLUXCTSTAG
o*fluxvpot.cAll things related to vector potential: A_mu
o*fluxvpot.funcdeclare.hFunction declarations for fluxvpot.c
o*freespace.cGet free space on disk
o*global.bounds.hFunction declarations (used globally) from bounds.tools.c
o*global.comploops.hLOOPS (computational and not per-point)
o*global.depmnemonics.hGeneral code definitions of dependent quantities
o*global.depmnemonics.rad.hRADIATION code definitions of dependent quantities
o*global.dump.hFunction declarations (used globally) for dump.c and dumpgen.c
o*global.fieldmacros.hMagnetic field and divB=0 related macros
o*global.funcdeclare.hFunction declarations (used globally) by entire code
o*global.funcdeclare.rad.hFunction declarations (used globally) from RADIATION parts of code
o*global.funcdeclare.user.hFunction declarations (used globally) from USER parts of code
o*global.general.hGeneral code definitions with specific order from independent to dependent definitions
o*global.gridsectioning.hDefinitions and macros for grid sectioning
o*global.grmhd.hWrapper and Comments on comments
o*global.inits.hFunction declarations (used globally) from init.tools.c
o*global.loops.boundaries.hBoundary Conditions Loop definitions/macros
o*global.loops.diagnostics.hDiagnostic Loops and definitions/macros DIAGNOSTIC RELATED LOOPS
o*global.loops.hWrapper
o*global.loops.manypoints.hMulti-point loop related definitions/macros
o*global.loops.manypoints1d.hMulti-point 1D loop related definitions/macros
o*global.loops.perpoint.hSingle-point loop related definitions/macros PER-POINT LOOPS
o*global.mpi_grmhd_grray_liaison.hGlobal definitions/macros that does LIAISON to connect Broderick ray tracing code and HARM
o*global.nondepmnemonics.hGeneral code definitions of independent quantities
o*global.nondepmnemonics.rad.hGeneral code definitions of independent quantities for RADIATION parts of code
o*global.openmploops.hAll macros and definitions related to OpenMP loop wrappers
o*global.openmpthreadprivates.hAll macros and definitions related to OpenMP private quantities
o*global.other.hOther macros and definitions currently reltaed to ENO only
o*global.realdef.hMacros and definitions related to variable types
o*global.stepch.hMacros and definitions related to step_ch (RK stepping)
o*global.storage.hMacros and definitions related to storage mapping functions
o*global.structs.hMacros and definitions related to HARM structures
o*global.variousmacros.hMacros and definitions related to various things Various macros
o*gslincludes.hMacros and definitions for GSL library
o*idealgaseos.cIDEAL GAS EOS functions
o*image.cImage dumping
o*init.cUSER initial conditions (usually links to code in initbasecode directory)
o*init.h
o*init.tools.cGeneralized USER initial conditions routines that can be used for many different (but not all) initial conditions
o*initbase.boundloop.cGeneral initialization of code related to loops over boundary conditions
o*initbase.cGeneral initialization of code
o*initbase.enerregions.cGeneral initialization of code related to loops over active cells
o*initbase.funcdeclare.hFunction declarations for initbase.c functions used globally
o*initbase.gridsectioning.cGeneral initialization of code related to grid sectioning
o*initbase.tools.cFunctions that don't depend upon global quantities/functions
o*interpline.cSpatial Interpolation for fluxes based upon providing full 1D line information Instead of acting per point, this acts per line to improve memory efficiency
o*interpline.para.cParabolic/PPM Spatial Interpolation for fluxes based upon providing full 1D line information Instead of acting per point, this acts per line to improve memory efficiency
o*interpline.smono.hFunction declarations for global use of functions in interpline.smono.c
o*interpline.smono_static.hSasha Mono static function declarations to be included elsewhere
o*interppoint.cSpatial Interpolation for fluxes based upon providing each point Inefficient compared to interpline.c, but simpler
o*interppoint.para.cParabolic/PPM Spatial Interpolation for fluxes based upon providing each point / parabolic interpolation subroutin / ref. Colella && Woodward's paper / Colella, P., & Woodward, P. R. 1984, J. Comput. Phys., 54, 174-201 / / using zone-centered value of 5 continuous zones / to get left and right value of the middle zone. / / / Latest JCM version is para4()/parapl(): 02/25/08
o*jon_interp_coorduser.c
o*koral.mdefs.hMathematica source file C language definitions for use with Mathematica output Could add definitions for Random(), SeedRandom(), etc
o*main.cMain file
o*makehead.incHeader for makefile. Sets primary code compile conditionals
o*maketail.harm.incTail for makefile for harm related files
o*maketail.incTail for makefile with various final links
o*maketail.ldouble.deps.incTail including dependencies for long double makefile. See scripts/longdouble2double.sh
o*maketail.ldouble.incTail for long double makefile. See scripts/longdouble2double.sh
o*maketailsuperlong.incTail for super long double makefile. See scripts/longdouble2double.sh
o*math.tools.cFunctions that don't depend upon any global things
o*metric.cSets metric in some coordinates based upon metric.h type choice for MCOORD this file includes metric dependent terms, including for initial condition routines for IC coords
o*metric.funcdeclare.hFunction delcarations for global use of functions in metric.c
o*metric.hMetric Definitions and some metric related macros
o*metric.tools.cFunctions that don't depend upon global behavior of code that are used to compute things related to the metric or coordinates
o*metric.tools.funcdeclare.hFunction declarations for global use of things in metric.tools.c
o*mpi_fileio.cVarious file input/output using MPI functions Notes:
o*mpi_fprintfs.cVarious fprintf() calls that account for which core we are on Generally, myid=0 writes general full-core info, while all cores write specific core info
o*mpi_fprintfs.funcdeclare.hFunction declarations for global use of functions in mpi_fprintfs.c
o*mpi_grmhd_grray_liaison.cGenreal MPI hooks to allow GRMHD or GRRAY+GRMHD to run together
o*mpi_init.cInitialize MPI functions
o*mpi_init_grmhd.cInitialize MPI functions specifically related to GRMHD code
o*mpi_set_arrays.cInitialize MPI arrays
o*mpidefs.hVariable definitions for MPI
o*mpidefs.mpi_grmhd_grray_liaison.hVariable definitions for mpi_grmhd_grray_liaison.c
o*mympi.definit.hDefault MPI definitions/macros
o*mympi.global.depmnemonics.hMPI dependent macros/definitions
o*mympi.global.funcdeclare.hMPI function declarations to be used globally
o*mympi.global.loops.hMPI loop definitions/macros
o*mympi.global.nondepmnemonics.hMPI independent macros/definitions
o*mympi.hGeneral MPI wrapper for macros/definitions
o*mytime.cTiming functions (report and diagnostics) OPENMPMARK: assume all mytime routines not called by multiple threads
o*mytime.hTiming functions (report and diagnostics) declarations and definitions/macros
o*para_and_paraenohybrid.hMacros/definitions for interppoint.para.c and interpline.para.c
o*phys.cAll globally-related physics calculations THINGS IN HERE ARE NOT PER POINT OR USE GLOBAL VARIABLES or call get_geometry()
o*phys.funcdeclare.hFunction declarations for global use of things in phys.c
o*phys.tools.cAll locally-related physics calculations THINGS IN HERE ARE PER-POINT and use only LOCAL variables (no globals)
o*phys.tools.funcdeclare.hFunction declarations for global use of things in phys.tools.c
o*phys.tools.rad.cAll locally-related Koral/RAD physics calculations
o*rescale_interp.cFunctions that rescale input primitives/conserves for interpolation purposes, and then functions that unrescale the result back to inputted type of quantities GENERAL PRIMITIVE INTERPOLATION CHANGE OF VARIABLES GODMARK: really should restrict rescale() to npr2interplist since may operate on quantity didn't want to change (to do this, just loop over PINTERPLOOP(pliter,pl) always and put conditional on each pl using if(pl==??)
o*restart.cFunctions related to restarting code and reading/writing rdump's restart functions; restart_init and restart_dump
o*restart.checks.cFunctions related to checking if restarting was correct/reasonable
o*restart.hFunction declarations for restart.c
o*set_arrays.cWrapper for setting up (allocation/pointer shifting, dummy assignment) of all per-point, 1D, and multi-D arrays
o*set_arrays_multidimen.cSets allocation, pointer shift, and dummy assignment for multi-dimen arrays
o*set_arrays_multidimen.rad.cSets allocation, pointer shift, and dummy assignment for multi-dimen arrays for RADIATION/Koral code
o*set_arrays_perpoint_perline.cSets allocation, pointer shift, and dummy assignment for per-point quantities or 1D arrays
o*set_grid.cGeneral initialization of grid (coordinates, metric, connection coefficients, etc.)
o*set_grid.funcdeclare.hFunction declarations for global use of set_grid.c functions
o*sources.cSource physics and source geometry coordinate factors
o*step_ch.cCode to take full RK step
o*superdefs.hLarge arrays large data structures not needed by liaison code
o*superdefs.pointers.hLarge array pointers
o*superdefs.pointers.rad.hLarge array pointers for Koral/RADIATION
o*superdefs.rad.hLarge arrays for Koral/RADIATION
o*supermpidefs.hLarge arrays for MPI
o*tetlapack_func_doubleonly.cExternal related Tetrad calculations (double only)
o*tetrad.cTetrad related calculations
o*tetrad.funcdeclare.hFunction declarations for global use of tetrad.c functions
o*transforms.cCoordinate and frame transformation functions
o*transforms.funcdeclare.hFunction declrations for global use of functions in transforms.c
o*u2p_defs.hU->P inversion definitions for all utoprim files
o*u2p_util.cU->P inversion functions used by all utoprim files
o*unconverted_by_double2longdouble.inc
o*utoprim_jon.cJon's U->P inversion
o*utoprim_jon.hU->P inversion definitions for utoprim_jon.c
o*utoprim_jon_eos.cEOS stuff for utoprim_jon.c FUNCTIONS ARE GENERAL for ANY EOS input variables may need to be expanded for more advanced EOS this file is actually just included in other files
o*utoprimgen.cGeneral extended feature wrapper for inversion U->P
o*utoprimgen.funcdeclare.hFunction declrations for global use of functions in utoprimgen.c
o*vchar.cCompute characteristics calculate components of magnetosonic velocity corresponding to primitive variables p Based upon cfg 7-10-01
o*wavespeeds.cWrapper for using vchar and storing wavespeed results
\*wavespeeds.funcdeclare.hFunction declrations for global use of functions in wavespeeds.c