face_linear_vector Function

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

Linearly interpolates a vector 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(3)
real(kind=rk), intent(in) :: neighbor_value(3)

Return Value real(kind=rk), (3)


Calls

proc~~face_linear_vector~~CallsGraph proc~face_linear_vector mod_flow_projection::face_linear_vector proc~face_neighbor_weight mod_flow_projection::face_neighbor_weight proc~face_linear_vector->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_vector~~CalledByGraph proc~face_linear_vector mod_flow_projection::face_linear_vector proc~compute_momentum_rhs mod_flow_projection::compute_momentum_rhs proc~compute_momentum_rhs->proc~face_linear_vector proc~compute_predicted_face_flux mod_flow_projection::compute_predicted_face_flux proc~compute_predicted_face_flux->proc~face_linear_vector proc~advance_projection_step mod_flow_projection::advance_projection_step proc~advance_projection_step->proc~compute_momentum_rhs proc~advance_projection_step->proc~compute_predicted_face_flux program~lowmach_react_hex lowmach_react_hex program~lowmach_react_hex->proc~advance_projection_step

Source Code

   function face_linear_vector(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(3), neighbor_value(3)
      real(rk) :: face_value(3)

      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_vector