m_field Module


Uses

  • module~~m_field~~UsesGraph module~m_field m_field module~m_common m_common module~m_field->module~m_common module~m_mpi m_mpi module~m_common->module~m_mpi iso_fortran_env iso_fortran_env module~m_mpi->iso_fortran_env mpi mpi module~m_mpi->mpi

Used by

  • module~~m_field~~UsedByGraph module~m_field m_field module~m_allocator m_allocator module~m_allocator->module~m_field module~m_base_backend m_base_backend module~m_base_backend->module~m_field module~m_base_backend->module~m_allocator module~m_mesh m_mesh module~m_base_backend->module~m_mesh module~m_poisson_fft m_poisson_fft module~m_base_backend->module~m_poisson_fft module~m_base_case m_base_case module~m_base_case->module~m_field module~m_base_case->module~m_allocator module~m_base_case->module~m_base_backend module~m_base_case->module~m_mesh module~m_monitoring m_monitoring module~m_base_case->module~m_monitoring module~m_postprocess m_postprocess module~m_base_case->module~m_postprocess module~m_solver m_solver module~m_base_case->module~m_solver module~m_io_manager m_io_manager module~m_base_case->module~m_io_manager module~m_case_channel m_case_channel module~m_case_channel->module~m_field 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_mesh module~m_case_channel->module~m_solver module~m_case_cylinder m_case_cylinder module~m_case_cylinder->module~m_field module~m_case_cylinder->module~m_allocator module~m_case_cylinder->module~m_base_backend module~m_case_cylinder->module~m_base_case module~m_case_cylinder->module~m_mesh module~m_case_cylinder->module~m_solver module~m_case_generic m_case_generic module~m_case_generic->module~m_field 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_mesh module~m_case_generic->module~m_solver module~m_case_tgv m_case_tgv module~m_case_tgv->module~m_field 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_mesh module~m_case_tgv->module~m_solver module~m_checkpoint_manager m_checkpoint_manager module~m_checkpoint_manager->module~m_field module~m_io_field_utils m_io_field_utils module~m_checkpoint_manager->module~m_io_field_utils module~m_io_session m_io_session module~m_checkpoint_manager->module~m_io_session module~m_checkpoint_manager->module~m_solver module~m_stats m_stats module~m_checkpoint_manager->module~m_stats module~m_checkpoint_state m_checkpoint_state module~m_checkpoint_manager->module~m_checkpoint_state module~m_cuda_allocator m_cuda_allocator module~m_cuda_allocator->module~m_field module~m_cuda_allocator->module~m_allocator module~m_cuda_allocator->module~m_mesh module~m_cuda_backend m_cuda_backend module~m_cuda_backend->module~m_field module~m_cuda_backend->module~m_allocator module~m_cuda_backend->module~m_base_backend module~m_cuda_backend->module~m_cuda_allocator module~m_cuda_poisson_fft m_cuda_poisson_fft module~m_cuda_backend->module~m_cuda_poisson_fft module~m_cuda_backend->module~m_mesh module~m_cuda_poisson_fft->module~m_field module~m_cuda_poisson_fft->module~m_cuda_allocator module~m_cuda_poisson_fft->module~m_mesh module~m_cuda_poisson_fft->module~m_poisson_fft module~m_ibm m_ibm module~m_ibm->module~m_field module~m_ibm->module~m_allocator module~m_ibm->module~m_base_backend module~m_ibm->module~m_io_session module~m_ibm->module~m_mesh module~m_io_backend m_io_backend module~m_io_backend->module~m_field module~m_io_backend->module~m_base_backend module~m_io_base m_io_base module~m_io_backend->module~m_io_base module~m_io_backend~2 m_io_backend module~m_io_backend~2->module~m_field module~m_io_backend~2->module~m_base_backend module~m_io_backend~2->module~m_io_base module~m_io_base->module~m_field module~m_io_base->module~m_base_backend module~m_io_field_utils->module~m_field module~m_io_field_utils->module~m_io_base module~m_io_field_utils->module~m_solver module~m_io_session->module~m_field module~m_io_session->module~m_base_backend module~m_io_session->module~m_io_backend~2 module~m_io_session->module~m_io_base module~m_les m_les module~m_les->module~m_field module~m_les->module~m_base_backend module~m_les->module~m_mesh module~m_mesh->module~m_field module~m_monitoring->module~m_field module~m_monitoring->module~m_solver module~m_omp_backend m_omp_backend module~m_omp_backend->module~m_field module~m_omp_backend->module~m_allocator module~m_omp_backend->module~m_base_backend module~m_omp_backend->module~m_mesh module~m_omp_poisson_fft m_omp_poisson_fft module~m_omp_poisson_fft->module~m_field module~m_omp_poisson_fft->module~m_mesh module~m_omp_poisson_fft->module~m_poisson_fft module~m_omptgt_allocator m_omptgt_allocator module~m_omptgt_allocator->module~m_field module~m_omptgt_allocator->module~m_allocator module~m_omptgt_allocator->module~m_mesh module~m_omptgt_backend m_omptgt_backend module~m_omptgt_backend->module~m_field module~m_omptgt_backend->module~m_allocator module~m_omptgt_backend->module~m_mesh module~m_omptgt_backend->module~m_omp_backend module~m_omptgt_backend->module~m_omptgt_allocator module~m_poisson_fft->module~m_field module~m_poisson_fft->module~m_mesh module~m_postprocess->module~m_field module~m_postprocess->module~m_solver module~m_snapshot_manager m_snapshot_manager module~m_snapshot_manager->module~m_field module~m_snapshot_manager->module~m_io_field_utils module~m_snapshot_manager->module~m_io_session module~m_snapshot_manager->module~m_solver module~m_solver->module~m_field module~m_solver->module~m_allocator module~m_solver->module~m_base_backend module~m_solver->module~m_ibm module~m_solver->module~m_les module~m_solver->module~m_mesh 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_stats->module~m_field module~m_stats->module~m_io_session module~m_stats->module~m_solver module~m_time_integrator->module~m_field module~m_time_integrator->module~m_allocator module~m_time_integrator->module~m_base_backend module~m_vector_calculus->module~m_field module~m_vector_calculus->module~m_allocator module~m_vector_calculus->module~m_base_backend module~m_checkpoint_state->module~m_io_session module~m_io_manager->module~m_checkpoint_manager module~m_io_manager->module~m_snapshot_manager module~m_io_manager->module~m_solver module~m_io_manager->module~m_stats module~m_io_manager->module~m_checkpoint_state proc~init_omp_poisson_fft m_omp_backend::omp_backend_t%init_omp_poisson_fft proc~init_omp_poisson_fft->module~m_omp_poisson_fft program~xcompact xcompact program~xcompact->module~m_allocator program~xcompact->module~m_base_backend program~xcompact->module~m_base_case program~xcompact->module~m_case_channel program~xcompact->module~m_case_cylinder program~xcompact->module~m_case_generic program~xcompact->module~m_case_tgv program~xcompact->module~m_cuda_allocator program~xcompact->module~m_cuda_backend program~xcompact->module~m_mesh program~xcompact->module~m_omp_backend

Interfaces

public interface field_t

  • public function field_init(ngrid, next, id) result(f)

    Arguments

    Type IntentOptional Attributes Name
    integer, intent(in) :: ngrid
    type(field_t), intent(in), pointer :: next
    integer, intent(in) :: id

    Return Value type(field_t)


Derived Types

type, public ::  field_t

Memory block type holding both a data field and a pointer to the next block. The field_t type also holds an integer refcount that counts the number of references to this field. User code is currently responsible for incrementing the reference count.

Components

Type Visibility Attributes Name Initial
class(field_t), public, pointer :: next
real(kind=dp), public, pointer, contiguous :: data(:,:,:)
integer, public :: dir
integer, public :: data_loc
integer, public :: refcount = 0
integer, public :: id

An integer identifying the memory block.

Constructor

public function field_init (ngrid, next, id)

Type-Bound Procedures

procedure, public :: fill
procedure, public :: get_shape
procedure, public :: set_shape
procedure, public :: set_data_loc

type, public ::  flist_t

Use for creating a list of field pointers

Components

Type Visibility Attributes Name Initial
class(field_t), public, pointer :: ptr

Functions

public function field_init(ngrid, next, id) result(f)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: ngrid
type(field_t), intent(in), pointer :: next
integer, intent(in) :: id

Return Value type(field_t)

public function get_shape(self) result(dims)

Arguments

Type IntentOptional Attributes Name
class(field_t) :: self

Return Value integer, (3)


Subroutines

public subroutine fill(self, c)

Arguments

Type IntentOptional Attributes Name
class(field_t) :: self
real(kind=dp), intent(in) :: c

public subroutine set_data_loc(self, data_loc)

Arguments

Type IntentOptional Attributes Name
class(field_t) :: self
integer, intent(in) :: data_loc

public subroutine set_shape(self, dims)

Arguments

Type IntentOptional Attributes Name
class(field_t) :: self
integer, intent(in) :: dims(3)