| Module | Source File | Description |
|---|---|---|
| analytical_sol | analytical_sol.f90 | This is a module to compute analytical solutions for some model problems |
| comm_variable | comm_variable.f90 | This is a module that define some common variables for the whole project |
| CSLP_Solver | CSLP_Solver.f90 | This is a module to solve the inverse of CSLP approximately By multigrid methods or Krylov iterations |
| define_BC | boundaries.f90 | This is a module to deal with the computational stencils for the Dirichlet of Sommerfeld boundary conditions |
| define_grid | DefineGrid.f90 | This is a module to determine the grid coordinate. First determined by Rank 0 and then distributed to the other ranks. For now, only rectangular domain with uniform space step size, i.e. hx==hy. |
| define_rhs | RHS.f90 | This is a module to determine the right-hand side for different model problems |
| deflaion_setup | deflation_setup.f90 | This is an integrated module for deflation preconditioning |
| idrs_module | idrs_module.f90 | IDRS Induced Dimension Reduction method |
| mpi_setup | MPI_setup.f90 | Module for setting up MPI partition and data exchange |
| operators | Operators.f90 | This is a module to implement some matrix-free operations |
| read_setup | read_setup.f90 | This is a module to read the input parameters for the solver settings |
| smoother | Smoother.f90 | A smoother module |
| solvers | solvers.f90 | Serveral GMRES-type Krylov solvers. Only applies to the (default) finest grid level |
| user_module | user_module.f90 | A module for IDR(s) to make data type and operators compatible |
| wavenumber | wavenumber.f90 | This module is used to determine the wavenumber of the computational domain, as well as (kh)^2 |
| write_data | Write_data.f90 | A module for solutions output. The idea is to collect the data from the other ranks to rank 0, and then write into a tecplot file (.plt). |