xcompact.f90 Source File


This file depends on

sourcefile~~xcompact.f90~~EfferentGraph sourcefile~xcompact.f90 xcompact.f90 sourcefile~base_case.f90 base_case.f90 sourcefile~xcompact.f90->sourcefile~base_case.f90 sourcefile~case_factory.f90 case_factory.f90 sourcefile~xcompact.f90->sourcefile~case_factory.f90 sourcefile~common.f90~4 common.f90 sourcefile~xcompact.f90->sourcefile~common.f90~4 sourcefile~config.f90 config.f90 sourcefile~xcompact.f90->sourcefile~config.f90 sourcefile~logger.f90 logger.f90 sourcefile~xcompact.f90->sourcefile~logger.f90 sourcefile~mesh.f90 mesh.f90 sourcefile~xcompact.f90->sourcefile~mesh.f90 sourcefile~setup.f90 setup.f90 sourcefile~xcompact.f90->sourcefile~setup.f90 sourcefile~base_case.f90->sourcefile~common.f90~4 sourcefile~base_case.f90->sourcefile~config.f90 sourcefile~base_case.f90->sourcefile~logger.f90 sourcefile~base_case.f90->sourcefile~mesh.f90 sourcefile~allocator.f90~3 allocator.f90 sourcefile~base_case.f90->sourcefile~allocator.f90~3 sourcefile~backend.f90~4 backend.f90 sourcefile~base_case.f90->sourcefile~backend.f90~4 sourcefile~field.f90 field.f90 sourcefile~base_case.f90->sourcefile~field.f90 sourcefile~io_manager.f90 io_manager.f90 sourcefile~base_case.f90->sourcefile~io_manager.f90 sourcefile~monitoring.f90 monitoring.f90 sourcefile~base_case.f90->sourcefile~monitoring.f90 sourcefile~postprocess.f90 postprocess.f90 sourcefile~base_case.f90->sourcefile~postprocess.f90 sourcefile~solver.f90 solver.f90 sourcefile~base_case.f90->sourcefile~solver.f90 sourcefile~case_factory.f90->sourcefile~base_case.f90 sourcefile~case_factory.f90->sourcefile~logger.f90 sourcefile~case_factory.f90->sourcefile~mesh.f90 sourcefile~abl.f90~2 abl.f90 sourcefile~case_factory.f90->sourcefile~abl.f90~2 sourcefile~case_factory.f90->sourcefile~allocator.f90~3 sourcefile~case_factory.f90->sourcefile~backend.f90~4 sourcefile~channel.f90 channel.f90 sourcefile~case_factory.f90->sourcefile~channel.f90 sourcefile~cylinder.f90 cylinder.f90 sourcefile~case_factory.f90->sourcefile~cylinder.f90 sourcefile~generic.f90 generic.f90 sourcefile~case_factory.f90->sourcefile~generic.f90 sourcefile~tgv.f90 tgv.f90 sourcefile~case_factory.f90->sourcefile~tgv.f90 sourcefile~wind_turbine.f90 wind_turbine.f90 sourcefile~case_factory.f90->sourcefile~wind_turbine.f90 sourcefile~common.f90~4->sourcefile~logger.f90 sourcefile~config.f90->sourcefile~common.f90~4 sourcefile~config.f90->sourcefile~logger.f90 sourcefile~mesh.f90->sourcefile~common.f90~4 sourcefile~mesh.f90->sourcefile~logger.f90 sourcefile~decomp_2decompfft.f90 decomp_2decompfft.f90 sourcefile~mesh.f90->sourcefile~decomp_2decompfft.f90 sourcefile~mesh.f90->sourcefile~field.f90 sourcefile~mesh_content.f90 mesh_content.f90 sourcefile~mesh.f90->sourcefile~mesh_content.f90 sourcefile~setup.f90->sourcefile~common.f90~4 sourcefile~setup.f90->sourcefile~logger.f90 sourcefile~setup.f90->sourcefile~mesh.f90 sourcefile~allocator.f90 allocator.f90 sourcefile~setup.f90->sourcefile~allocator.f90 sourcefile~allocator.f90~2 allocator.f90 sourcefile~setup.f90->sourcefile~allocator.f90~2 sourcefile~setup.f90->sourcefile~allocator.f90~3 sourcefile~backend.f90 backend.f90 sourcefile~setup.f90->sourcefile~backend.f90 sourcefile~backend.f90~2 backend.f90 sourcefile~setup.f90->sourcefile~backend.f90~2 sourcefile~backend.f90~3 backend.f90 sourcefile~setup.f90->sourcefile~backend.f90~3 sourcefile~setup.f90->sourcefile~backend.f90~4 sourcefile~common.f90 common.f90 sourcefile~setup.f90->sourcefile~common.f90 sourcefile~common.f90~2 common.f90 sourcefile~setup.f90->sourcefile~common.f90~2 sourcefile~common.f90~3 common.f90 sourcefile~setup.f90->sourcefile~common.f90~3 sourcefile~errors.f90 errors.f90 sourcefile~setup.f90->sourcefile~errors.f90 sourcefile~abl.f90~2->sourcefile~base_case.f90 sourcefile~abl.f90~2->sourcefile~common.f90~4 sourcefile~abl.f90~2->sourcefile~config.f90 sourcefile~abl.f90~2->sourcefile~logger.f90 sourcefile~abl.f90~2->sourcefile~mesh.f90 sourcefile~abl.f90~2->sourcefile~allocator.f90~3 sourcefile~abl.f90~2->sourcefile~backend.f90~4 sourcefile~abl.f90~2->sourcefile~field.f90 sourcefile~abl.f90 abl.f90 sourcefile~abl.f90~2->sourcefile~abl.f90 sourcefile~diagnostics.f90 diagnostics.f90 sourcefile~abl.f90~2->sourcefile~diagnostics.f90 sourcefile~inflow_planes.f90 inflow_planes.f90 sourcefile~abl.f90~2->sourcefile~inflow_planes.f90 sourcefile~turbine_model.f90 turbine_model.f90 sourcefile~abl.f90~2->sourcefile~turbine_model.f90 sourcefile~turbine_setup.f90 turbine_setup.f90 sourcefile~abl.f90~2->sourcefile~turbine_setup.f90 sourcefile~allocator.f90->sourcefile~common.f90~4 sourcefile~allocator.f90->sourcefile~logger.f90 sourcefile~allocator.f90->sourcefile~mesh.f90 sourcefile~allocator.f90->sourcefile~allocator.f90~3 sourcefile~allocator.f90->sourcefile~field.f90 sourcefile~allocator.f90~2->sourcefile~common.f90~4 sourcefile~allocator.f90~2->sourcefile~mesh.f90 sourcefile~allocator.f90~2->sourcefile~allocator.f90~3 sourcefile~allocator.f90~2->sourcefile~field.f90 sourcefile~allocator.f90~3->sourcefile~common.f90~4 sourcefile~allocator.f90~3->sourcefile~field.f90 sourcefile~backend.f90->sourcefile~common.f90~4 sourcefile~backend.f90->sourcefile~logger.f90 sourcefile~backend.f90->sourcefile~mesh.f90 sourcefile~backend.f90->sourcefile~allocator.f90~3 sourcefile~backend.f90->sourcefile~backend.f90~4 sourcefile~backend.f90->sourcefile~common.f90~2 sourcefile~backend.f90->sourcefile~field.f90 sourcefile~device_info.f90 device_info.f90 sourcefile~backend.f90->sourcefile~device_info.f90 sourcefile~exec_dist.f90~3 exec_dist.f90 sourcefile~backend.f90->sourcefile~exec_dist.f90~3 sourcefile~exec_thom.f90~3 exec_thom.f90 sourcefile~backend.f90->sourcefile~exec_thom.f90~3 sourcefile~fieldops.f90 fieldops.f90 sourcefile~backend.f90->sourcefile~fieldops.f90 sourcefile~sendrecv.f90~2 sendrecv.f90 sourcefile~backend.f90->sourcefile~sendrecv.f90~2 sourcefile~tdsops.f90 tdsops.f90 sourcefile~backend.f90->sourcefile~tdsops.f90 sourcefile~tdsops.f90~2 tdsops.f90 sourcefile~backend.f90->sourcefile~tdsops.f90~2 sourcefile~backend.f90~2->sourcefile~common.f90~4 sourcefile~backend.f90~2->sourcefile~logger.f90 sourcefile~backend.f90~2->sourcefile~mesh.f90 sourcefile~backend.f90~2->sourcefile~allocator.f90~2 sourcefile~backend.f90~2->sourcefile~allocator.f90~3 sourcefile~backend.f90~2->sourcefile~backend.f90~4 sourcefile~backend.f90~2->sourcefile~common.f90~3 sourcefile~backend.f90~2->sourcefile~errors.f90 sourcefile~backend.f90~2->sourcefile~field.f90 sourcefile~distributed.f90~3 distributed.f90 sourcefile~backend.f90~2->sourcefile~distributed.f90~3 sourcefile~exec_dist.f90~2 exec_dist.f90 sourcefile~backend.f90~2->sourcefile~exec_dist.f90~2 sourcefile~exec_thom.f90 exec_thom.f90 sourcefile~backend.f90~2->sourcefile~exec_thom.f90 sourcefile~fieldops.f90~2 fieldops.f90 sourcefile~backend.f90~2->sourcefile~fieldops.f90~2 sourcefile~poisson_fft.f90~3 poisson_fft.f90 sourcefile~backend.f90~2->sourcefile~poisson_fft.f90~3 sourcefile~reorder.f90 reorder.f90 sourcefile~backend.f90~2->sourcefile~reorder.f90 sourcefile~sendrecv.f90 sendrecv.f90 sourcefile~backend.f90~2->sourcefile~sendrecv.f90 sourcefile~backend.f90~2->sourcefile~tdsops.f90 sourcefile~tdsops.f90~3 tdsops.f90 sourcefile~backend.f90~2->sourcefile~tdsops.f90~3 sourcefile~backend.f90~3->sourcefile~common.f90~4 sourcefile~backend.f90~3->sourcefile~logger.f90 sourcefile~backend.f90~3->sourcefile~mesh.f90 sourcefile~backend.f90~3->sourcefile~allocator.f90~3 sourcefile~backend.f90~3->sourcefile~backend.f90~4 sourcefile~backend.f90~3->sourcefile~common.f90 sourcefile~backend.f90~3->sourcefile~field.f90 sourcefile~exec_dist.f90 exec_dist.f90 sourcefile~backend.f90~3->sourcefile~exec_dist.f90 sourcefile~exec_thom.f90~2 exec_thom.f90 sourcefile~backend.f90~3->sourcefile~exec_thom.f90~2 sourcefile~ordering.f90 ordering.f90 sourcefile~backend.f90~3->sourcefile~ordering.f90 sourcefile~poisson_fft.f90 poisson_fft.f90 sourcefile~backend.f90~3->sourcefile~poisson_fft.f90 sourcefile~sendrecv.f90~3 sendrecv.f90 sourcefile~backend.f90~3->sourcefile~sendrecv.f90~3 sourcefile~backend.f90~3->sourcefile~tdsops.f90 sourcefile~backend.f90~4->sourcefile~common.f90~4 sourcefile~backend.f90~4->sourcefile~logger.f90 sourcefile~backend.f90~4->sourcefile~mesh.f90 sourcefile~backend.f90~4->sourcefile~allocator.f90~3 sourcefile~backend.f90~4->sourcefile~field.f90 sourcefile~poisson_fft.f90~2 poisson_fft.f90 sourcefile~backend.f90~4->sourcefile~poisson_fft.f90~2 sourcefile~backend.f90~4->sourcefile~tdsops.f90 sourcefile~channel.f90->sourcefile~base_case.f90 sourcefile~channel.f90->sourcefile~common.f90~4 sourcefile~channel.f90->sourcefile~config.f90 sourcefile~channel.f90->sourcefile~logger.f90 sourcefile~channel.f90->sourcefile~mesh.f90 sourcefile~channel.f90->sourcefile~allocator.f90~3 sourcefile~channel.f90->sourcefile~backend.f90~4 sourcefile~channel.f90->sourcefile~field.f90 sourcefile~channel.f90->sourcefile~solver.f90 sourcefile~common.f90~2->sourcefile~common.f90~4 sourcefile~common.f90~2->sourcefile~logger.f90 sourcefile~cylinder.f90->sourcefile~base_case.f90 sourcefile~cylinder.f90->sourcefile~common.f90~4 sourcefile~cylinder.f90->sourcefile~config.f90 sourcefile~cylinder.f90->sourcefile~logger.f90 sourcefile~cylinder.f90->sourcefile~mesh.f90 sourcefile~cylinder.f90->sourcefile~allocator.f90~3 sourcefile~cylinder.f90->sourcefile~backend.f90~4 sourcefile~cylinder.f90->sourcefile~field.f90 sourcefile~cylinder.f90->sourcefile~solver.f90 sourcefile~decomp_2decompfft.f90->sourcefile~logger.f90 sourcefile~decomp_2decompfft.f90->sourcefile~mesh_content.f90 sourcefile~errors.f90->sourcefile~logger.f90 sourcefile~field.f90->sourcefile~common.f90~4 sourcefile~generic.f90->sourcefile~base_case.f90 sourcefile~generic.f90->sourcefile~common.f90~4 sourcefile~generic.f90->sourcefile~logger.f90 sourcefile~generic.f90->sourcefile~mesh.f90 sourcefile~generic.f90->sourcefile~allocator.f90~3 sourcefile~generic.f90->sourcefile~backend.f90~4 sourcefile~generic.f90->sourcefile~field.f90 sourcefile~generic.f90->sourcefile~solver.f90 sourcefile~io_manager.f90->sourcefile~solver.f90 sourcefile~checkpoint_manager.f90 checkpoint_manager.f90 sourcefile~io_manager.f90->sourcefile~checkpoint_manager.f90 sourcefile~checkpoint_state.f90 checkpoint_state.f90 sourcefile~io_manager.f90->sourcefile~checkpoint_state.f90 sourcefile~snapshot_manager.f90 snapshot_manager.f90 sourcefile~io_manager.f90->sourcefile~snapshot_manager.f90 sourcefile~stats.f90 stats.f90 sourcefile~io_manager.f90->sourcefile~stats.f90 sourcefile~mesh_content.f90->sourcefile~common.f90~4 sourcefile~mesh_content.f90->sourcefile~logger.f90 sourcefile~monitoring.f90->sourcefile~common.f90~4 sourcefile~monitoring.f90->sourcefile~logger.f90 sourcefile~monitoring.f90->sourcefile~field.f90 sourcefile~monitoring.f90->sourcefile~solver.f90 sourcefile~scalar_series.f90 scalar_series.f90 sourcefile~monitoring.f90->sourcefile~scalar_series.f90 sourcefile~postprocess.f90->sourcefile~common.f90~4 sourcefile~postprocess.f90->sourcefile~logger.f90 sourcefile~postprocess.f90->sourcefile~field.f90 sourcefile~postprocess.f90->sourcefile~solver.f90 sourcefile~solver.f90->sourcefile~common.f90~4 sourcefile~solver.f90->sourcefile~config.f90 sourcefile~solver.f90->sourcefile~logger.f90 sourcefile~solver.f90->sourcefile~mesh.f90 sourcefile~solver.f90->sourcefile~allocator.f90~3 sourcefile~solver.f90->sourcefile~backend.f90~4 sourcefile~solver.f90->sourcefile~field.f90 sourcefile~ibm.f90 ibm.f90 sourcefile~solver.f90->sourcefile~ibm.f90 sourcefile~les.f90 les.f90 sourcefile~solver.f90->sourcefile~les.f90 sourcefile~solver.f90->sourcefile~tdsops.f90 sourcefile~tdsops_setup.f90 tdsops_setup.f90 sourcefile~solver.f90->sourcefile~tdsops_setup.f90 sourcefile~time_integrator.f90 time_integrator.f90 sourcefile~solver.f90->sourcefile~time_integrator.f90 sourcefile~vector_calculus.f90 vector_calculus.f90 sourcefile~solver.f90->sourcefile~vector_calculus.f90 sourcefile~tgv.f90->sourcefile~base_case.f90 sourcefile~tgv.f90->sourcefile~common.f90~4 sourcefile~tgv.f90->sourcefile~logger.f90 sourcefile~tgv.f90->sourcefile~mesh.f90 sourcefile~tgv.f90->sourcefile~allocator.f90~3 sourcefile~tgv.f90->sourcefile~backend.f90~4 sourcefile~tgv.f90->sourcefile~field.f90 sourcefile~tgv.f90->sourcefile~solver.f90 sourcefile~wind_turbine.f90->sourcefile~base_case.f90 sourcefile~wind_turbine.f90->sourcefile~common.f90~4 sourcefile~wind_turbine.f90->sourcefile~config.f90 sourcefile~wind_turbine.f90->sourcefile~logger.f90 sourcefile~wind_turbine.f90->sourcefile~mesh.f90 sourcefile~wind_turbine.f90->sourcefile~allocator.f90~3 sourcefile~wind_turbine.f90->sourcefile~backend.f90~4 sourcefile~wind_turbine.f90->sourcefile~field.f90 sourcefile~wind_turbine.f90->sourcefile~solver.f90 sourcefile~wind_turbine.f90->sourcefile~turbine_model.f90 sourcefile~wind_turbine.f90->sourcefile~turbine_setup.f90 sourcefile~abl.f90->sourcefile~common.f90~4 sourcefile~abl.f90->sourcefile~config.f90 sourcefile~abl.f90->sourcefile~logger.f90 sourcefile~abl.f90->sourcefile~mesh.f90 sourcefile~abl.f90->sourcefile~allocator.f90~3 sourcefile~abl.f90->sourcefile~backend.f90~4 sourcefile~abl.f90->sourcefile~field.f90 sourcefile~abl.f90->sourcefile~les.f90 sourcefile~checkpoint_manager.f90->sourcefile~common.f90~4 sourcefile~checkpoint_manager.f90->sourcefile~config.f90 sourcefile~checkpoint_manager.f90->sourcefile~logger.f90 sourcefile~checkpoint_manager.f90->sourcefile~field.f90 sourcefile~checkpoint_manager.f90->sourcefile~solver.f90 sourcefile~checkpoint_manager.f90->sourcefile~checkpoint_state.f90 sourcefile~checkpoint_manager.f90->sourcefile~stats.f90 sourcefile~io.f90 io.f90 sourcefile~checkpoint_manager.f90->sourcefile~io.f90 sourcefile~io_field_utils.f90 io_field_utils.f90 sourcefile~checkpoint_manager.f90->sourcefile~io_field_utils.f90 sourcefile~io_session.f90 io_session.f90 sourcefile~checkpoint_manager.f90->sourcefile~io_session.f90 sourcefile~checkpoint_state.f90->sourcefile~io_session.f90 sourcefile~diagnostics.f90->sourcefile~common.f90~4 sourcefile~diagnostics.f90->sourcefile~config.f90 sourcefile~diagnostics.f90->sourcefile~logger.f90 sourcefile~diagnostics.f90->sourcefile~mesh.f90 sourcefile~diagnostics.f90->sourcefile~backend.f90~4 sourcefile~diagnostics.f90->sourcefile~field.f90 sourcefile~diagnostics.f90->sourcefile~les.f90 sourcefile~distributed.f90~3->sourcefile~common.f90~4 sourcefile~exec_dist.f90->sourcefile~common.f90~4 sourcefile~exec_dist.f90->sourcefile~common.f90 sourcefile~exec_dist.f90->sourcefile~sendrecv.f90~3 sourcefile~exec_dist.f90->sourcefile~tdsops.f90 sourcefile~distributed.f90~2 distributed.f90 sourcefile~exec_dist.f90->sourcefile~distributed.f90~2 sourcefile~exec_dist.f90~2->sourcefile~common.f90~4 sourcefile~exec_dist.f90~2->sourcefile~common.f90~3 sourcefile~exec_dist.f90~2->sourcefile~distributed.f90~3 sourcefile~exec_dist.f90~2->sourcefile~sendrecv.f90 sourcefile~exec_dist.f90~2->sourcefile~tdsops.f90~3 sourcefile~exec_dist.f90~3->sourcefile~common.f90~4 sourcefile~exec_dist.f90~3->sourcefile~logger.f90 sourcefile~exec_dist.f90~3->sourcefile~common.f90~2 sourcefile~exec_dist.f90~3->sourcefile~sendrecv.f90~2 sourcefile~exec_dist.f90~3->sourcefile~tdsops.f90~2 sourcefile~distributed.f90 distributed.f90 sourcefile~exec_dist.f90~3->sourcefile~distributed.f90 sourcefile~exec_thom.f90->sourcefile~common.f90~4 sourcefile~exec_thom.f90->sourcefile~tdsops.f90~3 sourcefile~thomas.f90~3 thomas.f90 sourcefile~exec_thom.f90->sourcefile~thomas.f90~3 sourcefile~exec_thom.f90~2->sourcefile~common.f90~4 sourcefile~exec_thom.f90~2->sourcefile~tdsops.f90 sourcefile~thomas.f90~2 thomas.f90 sourcefile~exec_thom.f90~2->sourcefile~thomas.f90~2 sourcefile~exec_thom.f90~3->sourcefile~common.f90~4 sourcefile~exec_thom.f90~3->sourcefile~tdsops.f90~2 sourcefile~thomas.f90 thomas.f90 sourcefile~exec_thom.f90~3->sourcefile~thomas.f90 sourcefile~fieldops.f90->sourcefile~common.f90~4 sourcefile~fieldops.f90->sourcefile~common.f90~2 sourcefile~fieldops.f90~2->sourcefile~common.f90~4 sourcefile~fieldops.f90~2->sourcefile~common.f90~3 sourcefile~ibm.f90->sourcefile~common.f90~4 sourcefile~ibm.f90->sourcefile~logger.f90 sourcefile~ibm.f90->sourcefile~mesh.f90 sourcefile~ibm.f90->sourcefile~allocator.f90~3 sourcefile~ibm.f90->sourcefile~backend.f90~4 sourcefile~ibm.f90->sourcefile~field.f90 sourcefile~ibm.f90->sourcefile~io_session.f90 sourcefile~inflow_planes.f90->sourcefile~common.f90~4 sourcefile~inflow_planes.f90->sourcefile~config.f90 sourcefile~inflow_planes.f90->sourcefile~logger.f90 sourcefile~inflow_planes.f90->sourcefile~mesh.f90 sourcefile~inflow_planes.f90->sourcefile~backend.f90~4 sourcefile~inflow_planes.f90->sourcefile~field.f90 sourcefile~inflow_planes.f90->sourcefile~io_session.f90 sourcefile~les.f90->sourcefile~common.f90~4 sourcefile~les.f90->sourcefile~config.f90 sourcefile~les.f90->sourcefile~logger.f90 sourcefile~les.f90->sourcefile~mesh.f90 sourcefile~les.f90->sourcefile~backend.f90~4 sourcefile~les.f90->sourcefile~field.f90 sourcefile~les.f90->sourcefile~tdsops.f90 sourcefile~ordering.f90->sourcefile~common.f90~4 sourcefile~poisson_fft.f90->sourcefile~common.f90~4 sourcefile~poisson_fft.f90->sourcefile~logger.f90 sourcefile~poisson_fft.f90->sourcefile~mesh.f90 sourcefile~poisson_fft.f90->sourcefile~field.f90 sourcefile~poisson_fft.f90->sourcefile~poisson_fft.f90~2 sourcefile~poisson_fft.f90->sourcefile~tdsops.f90 sourcefile~spectral_processing.f90~2 spectral_processing.f90 sourcefile~poisson_fft.f90->sourcefile~spectral_processing.f90~2 sourcefile~poisson_fft.f90~2->sourcefile~common.f90~4 sourcefile~poisson_fft.f90~2->sourcefile~logger.f90 sourcefile~poisson_fft.f90~2->sourcefile~mesh.f90 sourcefile~poisson_fft.f90~2->sourcefile~field.f90 sourcefile~poisson_fft.f90~2->sourcefile~tdsops.f90 sourcefile~poisson_fft.f90~3->sourcefile~common.f90~4 sourcefile~poisson_fft.f90~3->sourcefile~logger.f90 sourcefile~poisson_fft.f90~3->sourcefile~mesh.f90 sourcefile~poisson_fft.f90~3->sourcefile~allocator.f90~2 sourcefile~poisson_fft.f90~3->sourcefile~errors.f90 sourcefile~poisson_fft.f90~3->sourcefile~field.f90 sourcefile~poisson_fft.f90~3->sourcefile~poisson_fft.f90~2 sourcefile~poisson_fft.f90~3->sourcefile~sendrecv.f90 sourcefile~poisson_fft.f90~3->sourcefile~tdsops.f90 sourcefile~spectral_processing.f90 spectral_processing.f90 sourcefile~poisson_fft.f90~3->sourcefile~spectral_processing.f90 sourcefile~reorder.f90->sourcefile~common.f90~4 sourcefile~reorder.f90->sourcefile~common.f90~3 sourcefile~scalar_series.f90->sourcefile~common.f90~4 sourcefile~scalar_series.f90->sourcefile~logger.f90 sourcefile~sendrecv.f90->sourcefile~common.f90~4 sourcefile~sendrecv.f90->sourcefile~logger.f90 sourcefile~sendrecv.f90->sourcefile~errors.f90 sourcefile~sendrecv.f90~2->sourcefile~common.f90~4 sourcefile~sendrecv.f90~2->sourcefile~common.f90~2 sourcefile~sendrecv.f90~3->sourcefile~common.f90~4 sourcefile~sendrecv.f90~3->sourcefile~logger.f90 sourcefile~snapshot_manager.f90->sourcefile~common.f90~4 sourcefile~snapshot_manager.f90->sourcefile~config.f90 sourcefile~snapshot_manager.f90->sourcefile~logger.f90 sourcefile~snapshot_manager.f90->sourcefile~field.f90 sourcefile~snapshot_manager.f90->sourcefile~solver.f90 sourcefile~snapshot_manager.f90->sourcefile~io.f90 sourcefile~io_base.f90 io_base.f90 sourcefile~snapshot_manager.f90->sourcefile~io_base.f90 sourcefile~snapshot_manager.f90->sourcefile~io_field_utils.f90 sourcefile~snapshot_manager.f90->sourcefile~io_session.f90 sourcefile~stats.f90->sourcefile~common.f90~4 sourcefile~stats.f90->sourcefile~config.f90 sourcefile~stats.f90->sourcefile~logger.f90 sourcefile~stats.f90->sourcefile~field.f90 sourcefile~stats.f90->sourcefile~solver.f90 sourcefile~stats.f90->sourcefile~io_session.f90 sourcefile~tdsops.f90->sourcefile~common.f90~4 sourcefile~tdsops.f90->sourcefile~logger.f90 sourcefile~tdsops.f90~2->sourcefile~common.f90~4 sourcefile~tdsops.f90~2->sourcefile~common.f90~2 sourcefile~tdsops.f90~2->sourcefile~tdsops.f90 sourcefile~tdsops.f90~3->sourcefile~common.f90~4 sourcefile~tdsops.f90~3->sourcefile~tdsops.f90 sourcefile~tdsops_setup.f90->sourcefile~common.f90~4 sourcefile~tdsops_setup.f90->sourcefile~logger.f90 sourcefile~tdsops_setup.f90->sourcefile~mesh.f90 sourcefile~tdsops_setup.f90->sourcefile~backend.f90~4 sourcefile~tdsops_setup.f90->sourcefile~tdsops.f90 sourcefile~time_integrator.f90->sourcefile~common.f90~4 sourcefile~time_integrator.f90->sourcefile~logger.f90 sourcefile~time_integrator.f90->sourcefile~allocator.f90~3 sourcefile~time_integrator.f90->sourcefile~backend.f90~4 sourcefile~time_integrator.f90->sourcefile~field.f90 sourcefile~turbine_model.f90->sourcefile~common.f90~4 sourcefile~turbine_model.f90->sourcefile~mesh.f90 sourcefile~turbine_model.f90->sourcefile~allocator.f90~3 sourcefile~turbine_model.f90->sourcefile~backend.f90~4 sourcefile~turbine_model.f90->sourcefile~field.f90 sourcefile~turbine_model.f90->sourcefile~checkpoint_state.f90 sourcefile~turbine_setup.f90->sourcefile~config.f90 sourcefile~turbine_setup.f90->sourcefile~logger.f90 sourcefile~turbine_setup.f90->sourcefile~io_manager.f90 sourcefile~turbine_setup.f90->sourcefile~solver.f90 sourcefile~turbine_setup.f90->sourcefile~turbine_model.f90 sourcefile~adm.f90 adm.f90 sourcefile~turbine_setup.f90->sourcefile~adm.f90 sourcefile~alm.f90 alm.f90 sourcefile~turbine_setup.f90->sourcefile~alm.f90 sourcefile~turbine_dummy.f90 turbine_dummy.f90 sourcefile~turbine_setup.f90->sourcefile~turbine_dummy.f90 sourcefile~vector_calculus.f90->sourcefile~common.f90~4 sourcefile~vector_calculus.f90->sourcefile~logger.f90 sourcefile~vector_calculus.f90->sourcefile~allocator.f90~3 sourcefile~vector_calculus.f90->sourcefile~backend.f90~4 sourcefile~vector_calculus.f90->sourcefile~field.f90 sourcefile~vector_calculus.f90->sourcefile~tdsops.f90 sourcefile~adm.f90->sourcefile~common.f90~4 sourcefile~adm.f90->sourcefile~logger.f90 sourcefile~adm.f90->sourcefile~mesh.f90 sourcefile~adm.f90->sourcefile~allocator.f90~3 sourcefile~adm.f90->sourcefile~backend.f90~4 sourcefile~adm.f90->sourcefile~field.f90 sourcefile~adm.f90->sourcefile~scalar_series.f90 sourcefile~adm.f90->sourcefile~turbine_model.f90 sourcefile~adm.f90->sourcefile~io_session.f90 sourcefile~alm.f90->sourcefile~common.f90~4 sourcefile~alm.f90->sourcefile~logger.f90 sourcefile~alm.f90->sourcefile~mesh.f90 sourcefile~alm.f90->sourcefile~allocator.f90~3 sourcefile~alm.f90->sourcefile~backend.f90~4 sourcefile~alm.f90->sourcefile~field.f90 sourcefile~alm.f90->sourcefile~scalar_series.f90 sourcefile~alm.f90->sourcefile~turbine_model.f90 sourcefile~alm.f90->sourcefile~io_session.f90 sourcefile~alm_controller.f90 alm_controller.f90 sourcefile~alm.f90->sourcefile~alm_controller.f90 sourcefile~alm_element.f90 alm_element.f90 sourcefile~alm.f90->sourcefile~alm_element.f90 sourcefile~alm_output.f90 alm_output.f90 sourcefile~alm.f90->sourcefile~alm_output.f90 sourcefile~alm_turbine.f90 alm_turbine.f90 sourcefile~alm.f90->sourcefile~alm_turbine.f90 sourcefile~distributed.f90->sourcefile~common.f90~4 sourcefile~distributed.f90->sourcefile~common.f90~2 sourcefile~distributed.f90~2->sourcefile~common.f90~4 sourcefile~distributed.f90~2->sourcefile~common.f90 sourcefile~io.f90->sourcefile~common.f90~4 sourcefile~io.f90->sourcefile~logger.f90 sourcefile~io.f90->sourcefile~backend.f90~4 sourcefile~io.f90->sourcefile~field.f90 sourcefile~io.f90->sourcefile~io_base.f90 sourcefile~io_base.f90->sourcefile~common.f90~4 sourcefile~io_base.f90->sourcefile~backend.f90~4 sourcefile~io_base.f90->sourcefile~field.f90 sourcefile~io_field_utils.f90->sourcefile~common.f90~4 sourcefile~io_field_utils.f90->sourcefile~logger.f90 sourcefile~io_field_utils.f90->sourcefile~field.f90 sourcefile~io_field_utils.f90->sourcefile~solver.f90 sourcefile~io_field_utils.f90->sourcefile~io_base.f90 sourcefile~nvtx.f90 nvtx.f90 sourcefile~io_field_utils.f90->sourcefile~nvtx.f90 sourcefile~io_session.f90->sourcefile~common.f90~4 sourcefile~io_session.f90->sourcefile~logger.f90 sourcefile~io_session.f90->sourcefile~backend.f90~4 sourcefile~io_session.f90->sourcefile~field.f90 sourcefile~io_session.f90->sourcefile~io.f90 sourcefile~io_session.f90->sourcefile~io_base.f90 sourcefile~spectral_processing.f90->sourcefile~common.f90~4 sourcefile~spectral_processing.f90~2->sourcefile~common.f90~4 sourcefile~spectral_processing.f90~2->sourcefile~logger.f90 sourcefile~thomas.f90->sourcefile~common.f90~4 sourcefile~thomas.f90->sourcefile~common.f90~2 sourcefile~thomas.f90~2->sourcefile~common.f90~4 sourcefile~thomas.f90~2->sourcefile~common.f90 sourcefile~thomas.f90~3->sourcefile~common.f90~4 sourcefile~turbine_dummy.f90->sourcefile~common.f90~4 sourcefile~turbine_dummy.f90->sourcefile~mesh.f90 sourcefile~turbine_dummy.f90->sourcefile~allocator.f90~3 sourcefile~turbine_dummy.f90->sourcefile~backend.f90~4 sourcefile~turbine_dummy.f90->sourcefile~field.f90 sourcefile~turbine_dummy.f90->sourcefile~turbine_model.f90 sourcefile~turbine_dummy.f90->sourcefile~io_session.f90 sourcefile~alm_controller.f90->sourcefile~common.f90~4 sourcefile~alm_controller.f90->sourcefile~logger.f90 sourcefile~alm_element.f90->sourcefile~common.f90~4 sourcefile~alm_element.f90->sourcefile~logger.f90 sourcefile~alm_airfoil.f90 alm_airfoil.f90 sourcefile~alm_element.f90->sourcefile~alm_airfoil.f90 sourcefile~alm_output.f90->sourcefile~common.f90~4 sourcefile~alm_output.f90->sourcefile~logger.f90 sourcefile~alm_output.f90->sourcefile~alm_element.f90 sourcefile~alm_turbine.f90->sourcefile~common.f90~4 sourcefile~alm_turbine.f90->sourcefile~logger.f90 sourcefile~alm_turbine.f90->sourcefile~alm_controller.f90 sourcefile~alm_turbine.f90->sourcefile~alm_element.f90 sourcefile~alm_turbine.f90->sourcefile~alm_airfoil.f90 sourcefile~alm_airfoil.f90->sourcefile~common.f90~4 sourcefile~alm_airfoil.f90->sourcefile~logger.f90

Source Code

program xcompact
  use m_mpi, only: MPI_COMM_WORLD, MPI_Comm_rank, MPI_Comm_size, &
                   MPI_Finalize, MPI_Init

  use m_backend_setup, only: backend_setup_t, poisson_uses_2decomp
  use m_base_case, only: base_case_t
  use m_common, only: dp, get_argument
  use m_config, only: domain_config_t, solver_config_t
  use m_logger, only: log_info, log_warn, str
  use m_mesh, only: mesh_t
  use m_case_factory, only: allocate_flow_case

  implicit none

  type(backend_setup_t), target :: setup
  type(mesh_t), target :: mesh
  class(base_case_t), allocatable :: flow_case

  type(domain_config_t) :: domain_cfg
  type(solver_config_t) :: solver_cfg
  integer :: nrank, nproc, ierr
  logical :: use_2decomp

  call MPI_Init(ierr)
  call MPI_Comm_rank(MPI_COMM_WORLD, nrank, ierr)
  call MPI_Comm_size(MPI_COMM_WORLD, nproc, ierr)

  call log_info('Parallel run with '//str(nproc)//' ranks')
  call log_info('Data precision is '//str(dp))

  call domain_cfg%read(nml_file=get_argument(1))
  call solver_cfg%read(nml_file=get_argument(1))

  if (product(domain_cfg%nproc_dir) /= nproc) then
    call log_warn('nproc_dir specified in the input file does not match the &
                  &total number of ranks, falling back to a 1D decomposition &
                  &along Z-dir instead.')
    domain_cfg%nproc_dir = [1, 1, nproc]
  end if

  ! Decide whether 2decomp is used or not
  use_2decomp = poisson_uses_2decomp(solver_cfg%poisson_solver_type)

  mesh = mesh_t(domain_cfg%dims_global, domain_cfg%nproc_dir, &
                domain_cfg%L_global, domain_cfg%BC_x, domain_cfg%BC_y, &
                domain_cfg%BC_z, domain_cfg%stretching, domain_cfg%beta, &
                use_2decomp=use_2decomp)

  call setup%init(mesh)

  call log_info('Flow case: '//trim(domain_cfg%flow_case_name))

  call allocate_flow_case(domain_cfg%flow_case_name, setup%backend, mesh, &
                          setup%host_allocator, flow_case)
  call log_info('solver instantiated')

  call flow_case%run()

  call MPI_Finalize(ierr)

end program xcompact