22template <
typename ScalarType,
typename ScalarTypeGr
id, util::FlagLike FlagType >
27 const FlagType& freeslip_boundary_mask )
33 kernels::common::assign_masked_else_keep_old<ScalarType, 3, FlagType>( b.
block_1().
grid_data(), 0, mask_data, freeslip_boundary_mask, 0 );
Block vector consisting of a Q1 vector and a Q1 scalar vector on distributed shell grids.
Definition vector_q1isoq2_q1.hpp:20
const Block1Type & block_1() const
Get const reference to block 1 (vector field).
Definition vector_q1isoq2_q1.hpp:138
const grid::Grid4DDataVec< ScalarType, VecDim > & grid_data() const
Get const reference to grid data.
Definition vector_q1.hpp:280
Definition strong_algebraic_dirichlet_enforcement.hpp:8
void strong_algebraic_freeslip_enforcement_in_place(linalg::VectorQ1IsoQ2Q1< ScalarType > &b, const grid::Grid3DDataVec< ScalarTypeGrid, 3 > &coords_shell, const grid::Grid4DDataScalar< FlagType > &mask_data, const FlagType &freeslip_boundary_mask)
Helper function to modify the right-hand side vector accordingly for strong free-slip boundary condit...
Definition strong_algebraic_freeslip_enforcement.hpp:23
Kokkos::View< ScalarType ***[VecDim], Layout > Grid3DDataVec
Definition grid_types.hpp:40
Kokkos::View< ScalarType ****, Layout > Grid4DDataScalar
Definition grid_types.hpp:25
void cartesian_to_normal_tangential_in_place(VectorQ1Vec< ScalarType, 3 > &vec_cartesian, const grid::Grid3DDataVec< ScalarTypeGrid, 3 > &coords_shell, const grid::Grid4DDataScalar< FlagType > mask_data, const FlagType &flag)
Definition local_basis_trafo_normal_tangential.hpp:102
void normal_tangential_to_cartesian_in_place(VectorQ1Vec< ScalarType, 3 > &vec_normal_tangential, const grid::Grid3DDataVec< ScalarTypeGrid, 3 > &coords_shell, const grid::Grid4DDataScalar< FlagType > mask_data, const FlagType &flag)
Definition local_basis_trafo_normal_tangential.hpp:146