m_field Module


Uses

  • module~~m_field~~UsesGraph module~m_field m_field module~m_common m_common module~m_field->module~m_common

Used by

  • module~~m_field~~UsedByGraph module~m_field m_field module~m_allocator m_allocator module~m_allocator->module~m_field module~m_mesh m_mesh module~m_allocator->module~m_mesh module~m_base_backend m_base_backend module~m_base_backend->module~m_field module~m_base_backend->module~m_allocator 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_solver m_solver module~m_base_case->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_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_mesh->module~m_field 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_ordering m_ordering module~m_omp_backend->module~m_ordering 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_poisson_fft->module~m_field module~m_poisson_fft->module~m_mesh module~m_solver->module~m_field module~m_solver->module~m_allocator module~m_solver->module~m_base_backend 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_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_case_channel m_case_channel 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_ordering->module~m_mesh 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_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 program~xcompact->module~m_case_channel

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 a 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)