Modules

ModuleSource FileDescription
m_allocator allocator.f90
m_base_backend backend.f90
m_base_case base_case.f90

Provides the base case for running a simulation. New cases are implemented by extending this to specify the initial and boundary conditions, forcing terms and case-specific postprocessing and analysis.

m_case_generic generic.f90

An example case set up to run and sustain a freestream flow. This is a good place to start for adding a new flow case.

m_case_tgv tgv.f90
m_common common.f90
m_cuda_allocator allocator.f90
m_cuda_backend backend.f90
m_cuda_common common.f90
m_cuda_exec_dist exec_dist.f90
m_cuda_exec_thom exec_thom.f90
m_cuda_kernels_dist distributed.f90
m_cuda_kernels_fieldops fieldops.f90
m_cuda_kernels_reorder reorder.f90
m_cuda_kernels_thom thomas.f90
m_cuda_poisson_fft poisson_fft.f90
m_cuda_sendrecv sendrecv.f90
m_cuda_spectral spectral_processing.f90
m_cuda_tdsops tdsops.f90
m_field field.f90
m_mesh mesh.f90
m_omp_backend backend.f90
m_omp_common common.f90
m_omp_exec_dist exec_dist.f90
m_omp_kernels_dist distributed.f90
m_omp_poisson_fft poisson_fft.f90
m_omp_sendrecv sendrecv.f90
m_ordering ordering.f90

"Application storage" stores spatial data with a directionality for better cache locality This set of functions converts indices from this application storage (_dir) to cartesian indices (_ijk)

m_poisson_fft poisson_fft.f90
m_solver solver.f90
m_tdsops tdsops.f90
m_time_integrator time_integrator.f90
m_vector_calculus vector_calculus.f90