diff --git a/src/matcha/subdomain_s.f90 b/src/matcha/subdomain_s.f90 index ac68f62..f5bfa0c 100644 --- a/src/matcha/subdomain_s.f90 +++ b/src/matcha/subdomain_s.f90 @@ -59,6 +59,16 @@ my_dz = dz_ end procedure + module procedure add + call assert(allocated(lhs%s_) .and. allocated(rhs%s_), "subdomain_t%add: allocated(rhs%s_)") + total%s_ = lhs%s_ + rhs%s_ + end procedure + + module procedure multiply + call assert(allocated(rhs%s_), "subdomain_t%multiply: allocated(rhs%s_)") + product%s_ = lhs + rhs%s_ + end procedure + module procedure assign_ call assert(allocated(rhs%s_), "subdomain_t%assign_: allocated(rhs%s_)") lhs%s_ = rhs%s_ @@ -142,7 +152,6 @@ subroutine apply_boundary_condition(ds) if (me==num_subdomains) ds(my_nx,:,:) = 0. end subroutine - end procedure pure module function laplacian(rhs) result(laplacian_rhs)