coriolis_block Interface

public interface coriolis_block

Calls

interface~~coriolis_block~~CallsGraph interface~coriolis_block coriolis_block proc~constructor~7 constructor interface~coriolis_block->proc~constructor~7 uniform_scalar_field uniform_scalar_field proc~constructor~7->uniform_scalar_field la_gesvx la_gesvx proc~constructor~7->la_gesvx vinv_r vinv_r proc~constructor~7->vinv_r vinv_i vinv_i proc~constructor~7->vinv_i str str proc~constructor~7->str cheb1d_scalar_field cheb1d_scalar_field proc~constructor~7->cheb1d_scalar_field emdx_i emdx_i proc~constructor~7->emdx_i emdx_r emdx_r proc~constructor~7->emdx_r

Contents


Module Procedures

private function constructor(phi, nu, velbound, dvelbound, integrate_bound, template) result(this)

Author
Chris MacMackin
Date
January 2018

Builds a Coriolis block which can be used to solve the inverse problem for the linear components of the plume momentum equations. The result can only be used with fields having the same grid as the template.

Arguments

Type IntentOptional AttributesName
real(kind=r8), intent(in) :: phi

The dimensionless coriolis parameter

real(kind=r8), intent(in) :: nu

The dimensionless eddy diffusivity

integer, intent(in) :: velbound

Location code for the velocity's boundary condition. 1 indicates upper boundary, -1 indicates lower boundary.

integer, intent(in) :: dvelbound

Location code for the velocity's boundary condition. 1 indicates upper boundary, -1 indicates lower boundary.

integer, intent(in) :: integrate_bound

Location code for the boundary to perform integrations from. This should be the opposite boundary from where boundary data is stored.

class(abstract_field), intent(in) :: template

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

Return Value type(coriolis_block)