face_linear_scalar Function

private function face_linear_scalar(mesh, bc, face_id, cell_id, nb, owner_value, neighbor_value) result(face_value)

Linearly interpolates a scalar field to a face.

Arguments

Type IntentOptional Attributes Name
type(mesh_t), intent(in) :: mesh
type(bc_set_t), intent(in) :: bc
integer, intent(in) :: face_id
integer, intent(in) :: cell_id
integer, intent(in) :: nb
real(kind=rk), intent(in) :: owner_value
real(kind=rk), intent(in) :: neighbor_value

Return Value real(kind=rk)


Calls

proc~~face_linear_scalar~~CallsGraph proc~face_linear_scalar mod_flow_projection::face_linear_scalar proc~face_neighbor_weight mod_flow_projection::face_neighbor_weight proc~face_linear_scalar->proc~face_neighbor_weight proc~fatal_error mod_kinds::fatal_error proc~face_neighbor_weight->proc~fatal_error proc~outward_normal mod_flow_projection::outward_normal proc~face_neighbor_weight->proc~outward_normal proc~patch_type_for_face mod_bc::patch_type_for_face proc~face_neighbor_weight->proc~patch_type_for_face

Called by

proc~~face_linear_scalar~~CalledByGraph proc~face_linear_scalar mod_flow_projection::face_linear_scalar proc~correct_cell_velocity mod_flow_projection::correct_cell_velocity proc~correct_cell_velocity->proc~face_linear_scalar proc~pressure_gradient_cell mod_flow_projection::pressure_gradient_cell proc~pressure_gradient_cell->proc~face_linear_scalar proc~advance_projection_step mod_flow_projection::advance_projection_step proc~advance_projection_step->proc~correct_cell_velocity proc~compute_momentum_rhs mod_flow_projection::compute_momentum_rhs proc~advance_projection_step->proc~compute_momentum_rhs proc~compute_momentum_rhs->proc~pressure_gradient_cell program~lowmach_react_hex lowmach_react_hex program~lowmach_react_hex->proc~advance_projection_step

Source Code

   function face_linear_scalar(mesh, bc, face_id, cell_id, nb, owner_value, neighbor_value) result(face_value)
      type(mesh_t), intent(in) :: mesh
      type(bc_set_t), intent(in) :: bc
      integer, intent(in) :: face_id
      integer, intent(in) :: cell_id
      integer, intent(in) :: nb
      real(rk), intent(in) :: owner_value, neighbor_value
      real(rk) :: face_value

      real(rk) :: w_nb

      w_nb = face_neighbor_weight(mesh, bc, face_id, cell_id, nb)

      face_value = (one - w_nb) * owner_value + w_nb * neighbor_value
   end function face_linear_scalar