xcompact Program

Uses

  • program~~xcompact~~UsesGraph program~xcompact xcompact module~m_allocator m_allocator program~xcompact->module~m_allocator module~m_base_backend m_base_backend program~xcompact->module~m_base_backend module~m_base_case m_base_case program~xcompact->module~m_base_case module~m_case_channel m_case_channel program~xcompact->module~m_case_channel module~m_case_generic m_case_generic program~xcompact->module~m_case_generic module~m_case_tgv m_case_tgv program~xcompact->module~m_case_tgv module~m_common m_common program~xcompact->module~m_common module~m_config m_config program~xcompact->module~m_config module~m_cuda_allocator m_cuda_allocator program~xcompact->module~m_cuda_allocator module~m_cuda_backend m_cuda_backend program~xcompact->module~m_cuda_backend module~m_cuda_common m_cuda_common program~xcompact->module~m_cuda_common module~m_mesh m_mesh program~xcompact->module~m_mesh module~m_omp_backend m_omp_backend program~xcompact->module~m_omp_backend module~m_omp_common m_omp_common program~xcompact->module~m_omp_common mpi mpi program~xcompact->mpi module~m_allocator->module~m_common module~m_allocator->module~m_mesh iso_fortran_env iso_fortran_env module~m_allocator->iso_fortran_env module~m_field m_field module~m_allocator->module~m_field module~m_base_backend->module~m_allocator module~m_base_backend->module~m_common module~m_base_backend->module~m_mesh module~m_base_backend->mpi module~m_base_backend->module~m_field module~m_poisson_fft m_poisson_fft module~m_base_backend->module~m_poisson_fft module~m_tdsops m_tdsops module~m_base_backend->module~m_tdsops module~m_base_case->module~m_allocator module~m_base_case->module~m_base_backend module~m_base_case->module~m_common module~m_base_case->module~m_mesh module~m_base_case->module~m_field module~m_solver m_solver module~m_base_case->module~m_solver module~m_case_channel->module~m_allocator module~m_case_channel->module~m_base_backend module~m_case_channel->module~m_base_case module~m_case_channel->module~m_common module~m_case_channel->module~m_config module~m_case_channel->module~m_mesh module~m_case_channel->mpi module~m_case_channel->iso_fortran_env module~m_case_channel->module~m_solver module~m_case_generic->module~m_allocator module~m_case_generic->module~m_base_backend module~m_case_generic->module~m_base_case module~m_case_generic->module~m_common module~m_case_generic->module~m_mesh module~m_case_generic->iso_fortran_env module~m_case_generic->module~m_field module~m_case_generic->module~m_solver module~m_case_tgv->module~m_allocator module~m_case_tgv->module~m_base_backend module~m_case_tgv->module~m_base_case module~m_case_tgv->module~m_common module~m_case_tgv->module~m_mesh module~m_case_tgv->iso_fortran_env module~m_case_tgv->module~m_field module~m_case_tgv->module~m_solver module~m_config->module~m_common module~m_config->iso_fortran_env module~m_cuda_allocator->module~m_allocator module~m_cuda_allocator->module~m_common module~m_cuda_allocator->module~m_mesh module~m_cuda_allocator->module~m_field module~m_cuda_backend->module~m_allocator module~m_cuda_backend->module~m_base_backend module~m_cuda_backend->module~m_common module~m_cuda_backend->module~m_cuda_allocator module~m_cuda_backend->module~m_cuda_common module~m_cuda_backend->module~m_mesh module~m_cuda_backend->mpi cudafor cudafor module~m_cuda_backend->cudafor module~m_cuda_backend->iso_fortran_env module~m_cuda_exec_dist m_cuda_exec_dist module~m_cuda_backend->module~m_cuda_exec_dist module~m_cuda_kernels_dist m_cuda_kernels_dist module~m_cuda_backend->module~m_cuda_kernels_dist module~m_cuda_kernels_fieldops m_cuda_kernels_fieldops module~m_cuda_backend->module~m_cuda_kernels_fieldops module~m_cuda_kernels_reorder m_cuda_kernels_reorder module~m_cuda_backend->module~m_cuda_kernels_reorder module~m_cuda_poisson_fft m_cuda_poisson_fft module~m_cuda_backend->module~m_cuda_poisson_fft module~m_cuda_sendrecv m_cuda_sendrecv module~m_cuda_backend->module~m_cuda_sendrecv module~m_cuda_tdsops m_cuda_tdsops module~m_cuda_backend->module~m_cuda_tdsops module~m_cuda_backend->module~m_field module~m_cuda_backend->module~m_tdsops module~m_mesh->module~m_common module~m_mesh->mpi module~m_mesh->iso_fortran_env module~m_mesh->module~m_field module~m_mesh_content m_mesh_content module~m_mesh->module~m_mesh_content module~m_omp_backend->module~m_allocator module~m_omp_backend->module~m_base_backend module~m_omp_backend->module~m_common module~m_omp_backend->module~m_mesh module~m_omp_backend->module~m_omp_common module~m_omp_backend->mpi module~m_omp_backend->module~m_field module~m_omp_exec_dist m_omp_exec_dist module~m_omp_backend->module~m_omp_exec_dist module~m_omp_sendrecv m_omp_sendrecv module~m_omp_backend->module~m_omp_sendrecv module~m_ordering m_ordering module~m_omp_backend->module~m_ordering module~m_omp_backend->module~m_tdsops module~m_cuda_exec_dist->module~m_common module~m_cuda_exec_dist->module~m_cuda_common module~m_cuda_exec_dist->mpi module~m_cuda_exec_dist->cudafor module~m_cuda_exec_dist->module~m_cuda_kernels_dist module~m_cuda_exec_dist->module~m_cuda_sendrecv module~m_cuda_exec_dist->module~m_cuda_tdsops module~m_cuda_kernels_dist->module~m_common module~m_cuda_kernels_dist->cudafor module~m_cuda_kernels_fieldops->module~m_common module~m_cuda_kernels_fieldops->module~m_cuda_common module~m_cuda_kernels_fieldops->cudafor module~m_cuda_kernels_reorder->module~m_common module~m_cuda_kernels_reorder->module~m_cuda_common module~m_cuda_kernels_reorder->cudafor module~m_cuda_poisson_fft->module~m_common module~m_cuda_poisson_fft->module~m_cuda_allocator module~m_cuda_poisson_fft->module~m_mesh module~m_cuda_poisson_fft->mpi module~m_cuda_poisson_fft->cudafor module~m_cuda_poisson_fft->iso_fortran_env module~m_cuda_poisson_fft->module~m_field module~m_cuda_poisson_fft->module~m_poisson_fft module~m_cuda_poisson_fft->module~m_tdsops cufft cufft module~m_cuda_poisson_fft->cufft cufftXt cufftXt module~m_cuda_poisson_fft->cufftXt iso_c_binding iso_c_binding module~m_cuda_poisson_fft->iso_c_binding module~m_cuda_spectral m_cuda_spectral module~m_cuda_poisson_fft->module~m_cuda_spectral module~m_cuda_sendrecv->module~m_common module~m_cuda_sendrecv->mpi module~m_cuda_sendrecv->cudafor module~m_cuda_tdsops->module~m_common module~m_cuda_tdsops->iso_fortran_env module~m_cuda_tdsops->module~m_tdsops module~m_field->module~m_common module~m_mesh_content->module~m_common module~m_omp_exec_dist->module~m_common module~m_omp_exec_dist->module~m_omp_common module~m_omp_exec_dist->mpi module~m_omp_exec_dist->module~m_omp_sendrecv module~m_omp_exec_dist->module~m_tdsops module~m_omp_kernels_dist m_omp_kernels_dist module~m_omp_exec_dist->module~m_omp_kernels_dist module~m_omp_sendrecv->module~m_common module~m_omp_sendrecv->mpi module~m_ordering->module~m_common module~m_ordering->module~m_mesh module~m_poisson_fft->module~m_common module~m_poisson_fft->module~m_mesh module~m_poisson_fft->module~m_field module~m_poisson_fft->module~m_tdsops module~m_solver->module~m_allocator module~m_solver->module~m_base_backend module~m_solver->module~m_common module~m_solver->module~m_config module~m_solver->module~m_mesh module~m_solver->mpi module~m_solver->iso_fortran_env module~m_solver->module~m_field module~m_solver->module~m_tdsops module~m_time_integrator m_time_integrator module~m_solver->module~m_time_integrator module~m_vector_calculus m_vector_calculus module~m_solver->module~m_vector_calculus module~m_tdsops->module~m_common module~m_tdsops->iso_fortran_env module~m_cuda_spectral->module~m_common module~m_cuda_spectral->cudafor module~m_omp_kernels_dist->module~m_common module~m_omp_kernels_dist->module~m_omp_common omp_lib omp_lib module~m_omp_kernels_dist->omp_lib module~m_time_integrator->module~m_allocator module~m_time_integrator->module~m_base_backend module~m_time_integrator->module~m_common module~m_time_integrator->module~m_field module~m_vector_calculus->module~m_allocator module~m_vector_calculus->module~m_base_backend module~m_vector_calculus->module~m_common module~m_vector_calculus->iso_fortran_env module~m_vector_calculus->module~m_field module~m_vector_calculus->module~m_tdsops

Calls

program~~xcompact~~CallsGraph program~xcompact xcompact cudagetdevice cudagetdevice program~xcompact->cudagetdevice cudagetdevicecount cudagetdevicecount program~xcompact->cudagetdevicecount cudasetdevice cudasetdevice program~xcompact->cudasetdevice mpi_comm_rank mpi_comm_rank program~xcompact->mpi_comm_rank mpi_comm_size mpi_comm_size program~xcompact->mpi_comm_size mpi_finalize mpi_finalize program~xcompact->mpi_finalize mpi_init mpi_init program~xcompact->mpi_init proc~get_argument m_common::get_argument program~xcompact->proc~get_argument proc~run m_base_case::base_case_t%run program~xcompact->proc~run boundary_conditions boundary_conditions proc~run->boundary_conditions forcings forcings proc~run->forcings postprocess postprocess proc~run->postprocess pre_correction pre_correction proc~run->pre_correction proc~get_block m_allocator::allocator_t%get_block proc~run->proc~get_block proc~get_field_data m_base_backend::base_backend_t%get_field_data proc~run->proc~get_field_data proc~is_root m_mesh_content::par_t%is_root proc~run->proc~is_root proc~pressure_correction m_solver::solver_t%pressure_correction proc~run->proc~pressure_correction proc~release_block m_allocator::allocator_t%release_block proc~run->proc~release_block proc~step m_time_integrator::time_intg_t%step proc~run->proc~step proc~transeq m_solver::solver_t%transeq proc~run->proc~transeq none~get_padded_dims m_mesh::mesh_t%get_padded_dims proc~get_block->none~get_padded_dims proc~create_block m_allocator::allocator_t%create_block proc~get_block->proc~create_block proc~set_shape m_field::field_t%set_shape proc~get_block->proc~set_shape proc~get_field_data->proc~get_block proc~get_field_data->proc~release_block copy_f_to_data copy_f_to_data proc~get_field_data->copy_f_to_data proc~get_rdr_from_dirs m_common::get_rdr_from_dirs proc~get_field_data->proc~get_rdr_from_dirs reorder reorder proc~get_field_data->reorder proc~pressure_correction->proc~get_block proc~pressure_correction->proc~release_block proc~divergence_v2p m_solver::solver_t%divergence_v2p proc~pressure_correction->proc~divergence_v2p proc~gradient_p2v m_solver::solver_t%gradient_p2v proc~pressure_correction->proc~gradient_p2v vecadd vecadd proc~pressure_correction->vecadd proc~transeq->proc~get_block proc~transeq->proc~release_block proc~transeq->reorder sum_yintox sum_yintox proc~transeq->sum_yintox sum_zintox sum_zintox proc~transeq->sum_zintox transeq_x transeq_x proc~transeq->transeq_x transeq_y transeq_y proc~transeq->transeq_y transeq_z transeq_z proc~transeq->transeq_z proc~get_padded_dims_dir m_mesh::mesh_t%get_padded_dims_dir none~get_padded_dims->proc~get_padded_dims_dir proc~get_padded_dims_phi m_mesh::mesh_t%get_padded_dims_phi none~get_padded_dims->proc~get_padded_dims_phi proc~divergence_v2c m_vector_calculus::vector_calculus_t%divergence_v2c proc~divergence_v2p->proc~divergence_v2c proc~gradient_c2v m_vector_calculus::vector_calculus_t%gradient_c2v proc~gradient_p2v->proc~gradient_c2v proc~divergence_v2c->proc~get_block proc~divergence_v2c->proc~release_block proc~divergence_v2c->reorder proc~divergence_v2c->vecadd tds_solve tds_solve proc~divergence_v2c->tds_solve none~get_n_groups m_mesh::mesh_t%get_n_groups proc~get_padded_dims_dir->none~get_n_groups proc~get_padded_dims_phi->none~get_padded_dims proc~gradient_c2v->proc~get_block proc~gradient_c2v->proc~release_block proc~gradient_c2v->reorder proc~gradient_c2v->tds_solve proc~get_n_groups_dir m_mesh::mesh_t%get_n_groups_dir none~get_n_groups->proc~get_n_groups_dir proc~get_n_groups_phi m_mesh::mesh_t%get_n_groups_phi none~get_n_groups->proc~get_n_groups_phi proc~get_n_groups_phi->none~get_n_groups

Variables

Type Attributes Name Initial
class(base_backend_t), pointer :: backend
class(allocator_t), pointer :: allocator
type(allocator_t), pointer :: host_allocator
type(mesh_t), target :: mesh
class(base_case_t), allocatable :: flow_case
type(cuda_backend_t), target :: cuda_backend
type(cuda_allocator_t), target :: cuda_allocator
integer :: ndevs
integer :: devnum
type(omp_backend_t), target :: omp_backend
type(allocator_t), target :: omp_allocator
real(kind=dp) :: t_start
real(kind=dp) :: t_end
type(domain_config_t) :: domain_cfg
type(solver_config_t) :: solver_cfg
character(len=32) :: backend_name
integer :: nrank
integer :: nproc
integer :: ierr
logical :: use_2decomp