subdomain_s Submodule


Uses

    • intrinsic_array_m
    • assert_m
    • sourcery_m
  • module~~subdomain_s~~UsesGraph module~subdomain_s subdomain_s assert_m assert_m module~subdomain_s->assert_m intrinsic_array_m intrinsic_array_m module~subdomain_s->intrinsic_array_m module~subdomain_m subdomain_m module~subdomain_s->module~subdomain_m sourcery_m sourcery_m module~subdomain_s->sourcery_m

Variables

Type Visibility Attributes Name Initial
real, private, allocatable :: halo_x(:,:,:)[:]
integer, private, parameter :: west = 1
integer, private, parameter :: east = 2
type(data_partition_t), private :: data_partition
real, private :: dx_
real, private :: dy_
real, private :: dz_
integer, private :: my_nx
integer, private :: nx
integer, private :: ny
integer, private :: nz
integer, private :: me
integer, private :: num_subdomains
integer, private :: my_internal_west
integer, private :: my_internal_east
real, private, allocatable :: increment(:,:,:)

Module Procedures

module procedure /home/runner/work/matcha/matcha/doc/html/module/subdomain_s.html dt_stable pure module function dt_stable(self, alpha) result(my_dt)

Set the time step at 90% of the stability limit obtained generalizing to 3D the value provided for 2D by Kassinos, S., & Alexiadis, A. (2024). Beyond Language: Applying MLX Transformers to Engineering Physics. arXiv preprint arXiv:2410.04167.

Arguments

Type IntentOptional Attributes Name
class(subdomain_t), intent(in) :: self
real, intent(in) :: alpha

Return Value real

module procedure /home/runner/work/matcha/matcha/doc/html/module/subdomain_s.html define module subroutine define(side, boundary_val, internal_val, n, self)

Arguments

Type IntentOptional Attributes Name
real, intent(in) :: side
real, intent(in) :: boundary_val
real, intent(in) :: internal_val
integer, intent(in) :: n

number of grid points in each coordinate direction

class(subdomain_t), intent(out) :: self

module procedure /home/runner/work/matcha/matcha/doc/html/module/subdomain_s.html dx pure module function dx(self) result(my_dx)

Arguments

Type IntentOptional Attributes Name
class(subdomain_t), intent(in) :: self

Return Value real

module procedure /home/runner/work/matcha/matcha/doc/html/module/subdomain_s.html dy pure module function dy(self) result(my_dy)

Arguments

Type IntentOptional Attributes Name
class(subdomain_t), intent(in) :: self

Return Value real

module procedure /home/runner/work/matcha/matcha/doc/html/module/subdomain_s.html dz pure module function dz(self) result(my_dz)

Arguments

Type IntentOptional Attributes Name
class(subdomain_t), intent(in) :: self

Return Value real

module procedure /home/runner/work/matcha/matcha/doc/html/module/subdomain_s.html laplacian pure module function laplacian(rhs) result(laplacian_rhs)

Arguments

Type IntentOptional Attributes Name
class(subdomain_t), intent(in) :: rhs

Return Value type(subdomain_t)

module procedure /home/runner/work/matcha/matcha/doc/html/module/subdomain_s.html multiply pure module function multiply(lhs, rhs) result(product)

Arguments

Type IntentOptional Attributes Name
real, intent(in) :: lhs
class(subdomain_t), intent(in) :: rhs

Return Value type(subdomain_t)

module procedure /home/runner/work/matcha/matcha/doc/html/module/subdomain_s.html add pure module function add(lhs, rhs) result(total)

Arguments

Type IntentOptional Attributes Name
class(subdomain_t), intent(in) :: lhs
type(subdomain_t), intent(in) :: rhs

Return Value type(subdomain_t)

module procedure /home/runner/work/matcha/matcha/doc/html/module/subdomain_s.html assign_and_sync module subroutine assign_and_sync(lhs, rhs)

Arguments

Type IntentOptional Attributes Name
class(subdomain_t), intent(out) :: lhs
type(subdomain_t), intent(in) :: rhs

module procedure /home/runner/work/matcha/matcha/doc/html/module/subdomain_s.html values pure module function values(self) result(my_values)

Arguments

Type IntentOptional Attributes Name
class(subdomain_t), intent(in) :: self

Return Value real, allocatable, (:,:,:)

module procedure /home/runner/work/matcha/matcha/doc/html/module/subdomain_s.html step module subroutine step(alpha_dt, self)

Arguments

Type IntentOptional Attributes Name
real, intent(in) :: alpha_dt
class(subdomain_t), intent(inout) :: self