0.6.0
Loading...
Searching...
No Matches
mod_immersed_boundary_condition_tools::ibc_extrapolate_dual Interface Reference

Public Member Functions

subroutine ibc_extrapolate_dual (primal_node_type, dual_node_type, ib_metrics, ib_metrics_dual, dual_field)
 Mixed face-cell extrapolation.
 
subroutine ibc_extrapolate_dual_cell (ib_metrics_cell, face_immersed_boundary, face_field_)
 
subroutine ibc_extrapolate_dual_face (face_immersed_boundary, ib_metrics_cell, cell_field)
 

Constructor & Destructor Documentation

◆ ibc_extrapolate_dual()

subroutine mod_immersed_boundary_condition_tools::ibc_extrapolate_dual::ibc_extrapolate_dual ( type(t_node_type), intent(in) primal_node_type,
type(t_node_type), intent(in) dual_node_type,
type(t_immersed_boundary_metrics), intent(in) ib_metrics,
type(t_immersed_boundary_metrics), intent(in) ib_metrics_dual,
double precision, dimension(:,:,:), intent(inout) dual_field )

Mixed face-cell extrapolation.

This routine set outer nodes of a dual field to apply discrete operator without harm. For instance, on a cell-centered ghost node:

─┼─∧─┼─
 > o >
─┼─∧─┼─

There may be a face-centered node which is an outer node. In that case, it is not possible to apply discrete operator such as face-to-cell interpolation or face-to-cell divergence. This routine extrapolate the dual field to make discrete operators appliable. Note that the opposite face-centered node is always a ghost node. The same problem occurs around the three face-centered ghost nodes:

───┼───     │ o │
 o > o     ─┼─∧─┼─    …
───┼───     │ o │

which are handled as well.

Currently, this routine simply copy the opposite-side ghost node value to the outer node value. A more elaborate extrapolation may be designed in the future.

Member Function/Subroutine Documentation

◆ ibc_extrapolate_dual_cell()

subroutine mod_immersed_boundary_condition_tools::ibc_extrapolate_dual::ibc_extrapolate_dual_cell ( type(t_immersed_boundary_metrics), intent(in) ib_metrics_cell,
type(t_face_immersed_boundary_metrics), intent(in) face_immersed_boundary,
type(t_face_field), intent(inout) face_field_ )

◆ ibc_extrapolate_dual_face()

subroutine mod_immersed_boundary_condition_tools::ibc_extrapolate_dual::ibc_extrapolate_dual_face ( type(t_face_immersed_boundary_metrics), intent(in) face_immersed_boundary,
type(t_immersed_boundary_metrics), intent(in) ib_metrics_cell,
double precision, dimension(:,:,:), intent(inout) cell_field )

The documentation for this interface was generated from the following file: