fin_diff_block Interface

public interface fin_diff_block

Calls

interface~~fin_diff_block~~CallsGraph interface~fin_diff_block fin_diff_block proc~constructor~11 constructor interface~fin_diff_block->proc~constructor~11

Contents


Module Procedures

private function constructor(template, boundary_locs, boundary_types) result(this)

Author
Chris MacMackin
Date
December 2016

Build a tridiagonal matrix block for finite differences. See the end of the documentation of the fin_diff_block type for a description of how boundary conditions are treated.

Arguments

Type IntentOptional AttributesName
class(abstract_field), intent(in) :: template

A scalar field with the same grid as any fields passed as arguments to the solve_for method.

integer, intent(in), optional dimension(:):: boundary_locs

The locations in the raw representation of rhs for which boundary conditions are specified. Defaults to there being none.

integer, intent(in), optional dimension(:):: boundary_types

Integers specifying the type of boundary condition. The type of boundary condition corresponding to a given integer is specified in boundary_types_mod. Only Dirichlet and Neumann conditions are supported. Defaults to Dirichlet. The order in which they are stored must match that of boundary_locs.

Return Value type(fin_diff_block)

A new finite difference operator