MONC
Modules | Functions/Subroutines | Variables
pressuresource.F90 File Reference

Go to the source code of this file.

Modules

module  pressuresource_mod
 Calculates the gradient of the source flow fields (SU, SV, SW.) This is based upon the P field values already set for the divergence error in the diverr component. Note that some communication is required, as a process needs to know the x and y -1 values, which are held on the -1 neighbour in that dimension. These are computed here and sent to neighbour +1, the recvs from a process to neighbour -1 are also registered here and the handles are waited upon the the results combined into P in the solver. If the neighbour is local in any dimension then it is just a local memory copy.
 

Functions/Subroutines

type(component_descriptor_type) function, public pressuresource_mod::pressuresource_get_descriptor ()
 Descriptor of this component for registration. More...
 
subroutine pressuresource_mod::initialisation_callback (current_state)
 On initialisation this will allocate the buffer areas required and set communication handles to null. More...
 
subroutine pressuresource_mod::timestep_callback (current_state)
 The timestep callback will update the values of P for each column. More...
 
subroutine pressuresource_mod::finalisation_callback (current_state)
 Frees up the allocated buffers (if such were allocated) More...
 
subroutine pressuresource_mod::calculate_psrce (current_state)
 Combines the source fields with the pressure values. For U and V, if this is on the low boundary then delay dealing with the -1 values as they will be communicated. Equally, for those fields if this is the high boundary then compute the values and send them on to the neighbouring process. More...
 
subroutine pressuresource_mod::send_neighbouring_pressure_data (current_state)
 Sends the computed source pressure data terms to the p+1 process. More...
 
subroutine pressuresource_mod::register_neighbouring_pressure_data_recv (current_state)
 Registers the receive requests for each neighbouring process if that is not local, is recieves from p-1. More...
 

Variables

real(kind=default_precision), dimension(:,:), allocatable pressuresource_mod::send_buffer_x
 
real(kind=default_precision), dimension(:,:), allocatable pressuresource_mod::send_buffer_y