MFC:Pre_process  v1.0
Modules List
Here is a list of all modules with brief descriptions:
 Nm_compile_specificThis module contains subroutines that are compiler specific
 Nm_data_outputThis module takes care of writing the grid and initial condition data files into the "0" time-step directory located in the folder associated with the rank of the local processor, which is a sub- directory of the case folder specified by the user in the input file pre_process.inp
 Nm_derived_typesThis file contains the definitions of all of the custom-defined types used in the pre-process code
 Nm_global_parametersThis module contains all of the parameters characterizing the computational domain, simulation algorithm, initial condition and the stiffened equation of state
 Nm_gridThis module takes care of creating the rectilinear grid on which the data for the initial condition will be laid out and on which the simulation will eventually be computed. The grid may either be uniform or non-uniform. Non-uniform grids are generated using the hyperbolic tangent function, see Johnsen (2007) for details. Alternatively to synthesizing a new grid, the user may select to read in a preexisting one. This is carried out through the module m_start_up.f90. In such a case, the responsibility of this module becomes only to allocate/deallocate the necessary grid variables for the cell-centers and cell-boundaries locations
 Nm_initial_conditionThis module provides a platform that is analagous to constructive solid geometry techniques and in this way allows for the creation of a wide variety of initial conditions. Several 1D, 2D and 3D fundamental geometries are included that may further be combined into more complex shapes. This is achieved by carefully setting up the order in which the patches are laid out in the domain and specifying the priority that each patch has over the preceeding ones. The resulting shapes may be identified both by the values of their primitive variables and the associated patch identities. Note that the user may choose to read in and modify a preexisting initial condition. The module m_start_up.f90 is responsible for reading in the relevant data files
 Nm_mpi_proxyThis module serves as a proxy to the parameters and subroutines available in the MPI implementation's MPI module. Specifically, the role of the proxy is to harness basic MPI commands into more complex procedures as to achieve the required pre-processing communication goals
 Nm_start_upThis module contains subroutines that read, and check consistency of, the user provided inputs and data
 Nm_variables_conversionThis module consists of subroutines used in the conversion of the conservative variables into the primitive ones and vice versa. In addition, the module also contains the subroutines used to obtain the mixture variables