vector_calculus_t Derived Type

type, public :: vector_calculus_t

Defines vector calculus operators


Inherits

type~~vector_calculus_t~~InheritsGraph type~vector_calculus_t vector_calculus_t type~base_backend_t base_backend_t type~vector_calculus_t->type~base_backend_t backend type~allocator_t allocator_t type~base_backend_t->type~allocator_t allocator type~mesh_t mesh_t type~base_backend_t->type~mesh_t mesh type~poisson_fft_t poisson_fft_t type~base_backend_t->type~poisson_fft_t poisson_fft type~allocator_t->type~mesh_t mesh type~field_t field_t type~allocator_t->type~field_t first type~geo_t geo_t type~mesh_t->type~geo_t geo type~grid_t grid_t type~mesh_t->type~grid_t grid type~par_t par_t type~mesh_t->type~par_t par type~field_t->type~field_t next

Inherited by

type~~vector_calculus_t~~InheritedByGraph type~vector_calculus_t vector_calculus_t type~solver_t solver_t type~solver_t->type~vector_calculus_t vector_calculus type~base_case_t base_case_t type~base_case_t->type~solver_t solver type~case_channel_t case_channel_t type~case_channel_t->type~base_case_t type~case_generic_t case_generic_t type~case_generic_t->type~base_case_t type~case_tgv_t case_tgv_t type~case_tgv_t->type~base_case_t

Components

Type Visibility Attributes Name Initial
class(base_backend_t), public, pointer :: backend

Constructor

public interface vector_calculus_t

  • public function init(backend) result(vector_calculus)

    Arguments

    Type IntentOptional Attributes Name
    class(base_backend_t), intent(inout), target :: backend

    Return Value type(vector_calculus_t)


Type-Bound Procedures

procedure, public :: curl

  • public subroutine curl(self, o_i_hat, o_j_hat, o_k_hat, u, v, w, x_der1st, y_der1st, z_der1st)

    Curl of a vector field (u, v, w).

    Read more…

    Arguments

    Type IntentOptional Attributes Name
    class(vector_calculus_t) :: self
    class(field_t), intent(inout) :: o_i_hat

    Vector components of the output vector field Omega

    class(field_t), intent(inout) :: o_j_hat

    Vector components of the output vector field Omega

    class(field_t), intent(inout) :: o_k_hat

    Vector components of the output vector field Omega

    class(field_t), intent(in) :: u
    class(field_t), intent(in) :: v
    class(field_t), intent(in) :: w
    class(tdsops_t), intent(in) :: x_der1st
    class(tdsops_t), intent(in) :: y_der1st
    class(tdsops_t), intent(in) :: z_der1st

procedure, public :: divergence_v2c

  • public subroutine divergence_v2c(self, div_u, u, v, w, x_stagder_v2c, x_interpl_v2c, y_stagder_v2c, y_interpl_v2c, z_stagder_v2c, z_interpl_v2c)

    Divergence of a vector field (u, v, w).

    Read more…

    Arguments

    Type IntentOptional Attributes Name
    class(vector_calculus_t) :: self
    class(field_t), intent(inout) :: div_u
    class(field_t), intent(in) :: u
    class(field_t), intent(in) :: v
    class(field_t), intent(in) :: w
    class(tdsops_t), intent(in) :: x_stagder_v2c
    class(tdsops_t), intent(in) :: x_interpl_v2c
    class(tdsops_t), intent(in) :: y_stagder_v2c
    class(tdsops_t), intent(in) :: y_interpl_v2c
    class(tdsops_t), intent(in) :: z_stagder_v2c
    class(tdsops_t), intent(in) :: z_interpl_v2c

procedure, public :: gradient_c2v

  • public subroutine gradient_c2v(self, dpdx, dpdy, dpdz, p, x_stagder_c2v, x_interpl_c2v, y_stagder_c2v, y_interpl_c2v, z_stagder_c2v, z_interpl_c2v)

    Gradient of a scalar field 'p'.

    Read more…

    Arguments

    Type IntentOptional Attributes Name
    class(vector_calculus_t) :: self
    class(field_t), intent(inout) :: dpdx
    class(field_t), intent(inout) :: dpdy
    class(field_t), intent(inout) :: dpdz
    class(field_t), intent(in) :: p
    class(tdsops_t), intent(in) :: x_stagder_c2v
    class(tdsops_t), intent(in) :: x_interpl_c2v
    class(tdsops_t), intent(in) :: y_stagder_c2v
    class(tdsops_t), intent(in) :: y_interpl_c2v
    class(tdsops_t), intent(in) :: z_stagder_c2v
    class(tdsops_t), intent(in) :: z_interpl_c2v

procedure, public :: laplacian

  • public subroutine laplacian(self, lapl_u, u, x_der2nd, y_der2nd, z_der2nd)

    Laplacian of a scalar field 'u'.

    Read more…

    Arguments

    Type IntentOptional Attributes Name
    class(vector_calculus_t) :: self
    class(field_t), intent(inout) :: lapl_u
    class(field_t), intent(in) :: u
    class(tdsops_t), intent(in) :: x_der2nd
    class(tdsops_t), intent(in) :: y_der2nd
    class(tdsops_t), intent(in) :: z_der2nd