Device wrappers for basis-aware mixed boundary-condition constraint kernels. These routines operate on a resolved mixed-node mask together with a local orthonormal basis stored as nodewise normal and tangent vectors. They are used to impose homogeneous or prescribed constraints on vector fields in the local (n, t1, t2) basis on device backends.
|
| subroutine, public | device_constrain_mixed_bc_zero (mixed_msk, x, y, z, constraint_n, constraint_t1, constraint_t2, n, t1, t2, m, strm) |
| | Constrain mixed-boundary projections by zeroing the selected local components on the device.
|
| |
| subroutine, public | device_constrain_mixed_bc_set (mixed_msk, x, y, z, constraint_n, constraint_t1, constraint_t2, n, t1, t2, values_n, values_t1, values_t2, m, strm) |
| | Constrain mixed-boundary projections by assigning prescribed local components derived from nodewise target vectors on the device.
|
| |
| subroutine, public | device_constrain_mixed_bc_set_const (mixed_msk, x, y, z, constraint_n, constraint_t1, constraint_t2, n, t1, t2, value_n, value_t1, value_t2, m, strm) |
| | Constrain mixed-boundary projections by assigning prescribed local components derived from a constant target vector on the device.
|
| |
◆ device_constrain_mixed_bc_set()
| subroutine, public device_constrain_mixed_bc::device_constrain_mixed_bc_set |
( |
type(c_ptr), intent(in) |
mixed_msk, |
|
|
type(c_ptr), intent(in) |
x, |
|
|
type(c_ptr), intent(in) |
y, |
|
|
type(c_ptr), intent(in) |
z, |
|
|
integer, intent(in) |
constraint_n, |
|
|
integer, intent(in) |
constraint_t1, |
|
|
integer, intent(in) |
constraint_t2, |
|
|
type(c_ptr), intent(in) |
n, |
|
|
type(c_ptr), intent(in) |
t1, |
|
|
type(c_ptr), intent(in) |
t2, |
|
|
type(c_ptr), intent(in) |
values_n, |
|
|
type(c_ptr), intent(in) |
values_t1, |
|
|
type(c_ptr), intent(in) |
values_t2, |
|
|
integer, intent(in) |
m, |
|
|
type(c_ptr), intent(in), optional |
strm |
|
) |
| |
- Parameters
-
| [in] | mixed_msk | Device pointer to the resolved mixed-node mask. |
| [in,out] | x | Device pointer to the x-component field. |
| [in,out] | y | Device pointer to the y-component field. |
| [in,out] | z | Device pointer to the z-component field. |
| [in] | constraint_n | Nonzero if the normal component is constrained. |
| [in] | constraint_t1 | Nonzero if the first tangent component is constrained. |
| [in] | constraint_t2 | Nonzero if the second tangent component is constrained. |
| [in] | n | Device pointer to the nodewise normal vectors. |
| [in] | t1 | Device pointer to the nodewise first tangent vectors. |
| [in] | t2 | Device pointer to the nodewise second tangent vectors. |
| [in] | values_n | Device pointer to the x-components of the target vectors. |
| [in] | values_t1 | Device pointer to the y-components of the target vectors. |
| [in] | values_t2 | Device pointer to the z-components of the target vectors. |
| [in] | m | Number of resolved mixed nodes. |
| [in] | strm | Optional backend stream/queue to launch on. |
Definition at line 235 of file device_constrain_mixed_bc.F90.
◆ device_constrain_mixed_bc_set_const()
| subroutine, public device_constrain_mixed_bc::device_constrain_mixed_bc_set_const |
( |
type(c_ptr), intent(in) |
mixed_msk, |
|
|
type(c_ptr), intent(in) |
x, |
|
|
type(c_ptr), intent(in) |
y, |
|
|
type(c_ptr), intent(in) |
z, |
|
|
integer, intent(in) |
constraint_n, |
|
|
integer, intent(in) |
constraint_t1, |
|
|
integer, intent(in) |
constraint_t2, |
|
|
type(c_ptr), intent(in) |
n, |
|
|
type(c_ptr), intent(in) |
t1, |
|
|
type(c_ptr), intent(in) |
t2, |
|
|
real(kind=rp), intent(in) |
value_n, |
|
|
real(kind=rp), intent(in) |
value_t1, |
|
|
real(kind=rp), intent(in) |
value_t2, |
|
|
integer, intent(in) |
m, |
|
|
type(c_ptr), intent(in), optional |
strm |
|
) |
| |
- Parameters
-
| [in] | mixed_msk | Device pointer to the resolved mixed-node mask. |
| [in,out] | x | Device pointer to the x-component field. |
| [in,out] | y | Device pointer to the y-component field. |
| [in,out] | z | Device pointer to the z-component field. |
| [in] | constraint_n | Nonzero if the normal component is constrained. |
| [in] | constraint_t1 | Nonzero if the first tangent component is constrained. |
| [in] | constraint_t2 | Nonzero if the second tangent component is constrained. |
| [in] | n | Device pointer to the nodewise normal vectors. |
| [in] | t1 | Device pointer to the nodewise first tangent vectors. |
| [in] | t2 | Device pointer to the nodewise second tangent vectors. |
| [in] | value_n | x-component of the constant target vector. |
| [in] | value_t1 | y-component of the constant target vector. |
| [in] | value_t2 | z-component of the constant target vector. |
| [in] | m | Number of resolved mixed nodes. |
| [in] | strm | Optional backend stream/queue to launch on. |
Definition at line 291 of file device_constrain_mixed_bc.F90.
◆ device_constrain_mixed_bc_zero()
| subroutine, public device_constrain_mixed_bc::device_constrain_mixed_bc_zero |
( |
type(c_ptr), intent(in) |
mixed_msk, |
|
|
type(c_ptr), intent(in) |
x, |
|
|
type(c_ptr), intent(in) |
y, |
|
|
type(c_ptr), intent(in) |
z, |
|
|
integer, intent(in) |
constraint_n, |
|
|
integer, intent(in) |
constraint_t1, |
|
|
integer, intent(in) |
constraint_t2, |
|
|
type(c_ptr), intent(in) |
n, |
|
|
type(c_ptr), intent(in) |
t1, |
|
|
type(c_ptr), intent(in) |
t2, |
|
|
integer, intent(in) |
m, |
|
|
type(c_ptr), intent(in), optional |
strm |
|
) |
| |
- Parameters
-
| [in] | mixed_msk | Device pointer to the resolved mixed-node mask. |
| [in,out] | x | Device pointer to the x-component field. |
| [in,out] | y | Device pointer to the y-component field. |
| [in,out] | z | Device pointer to the z-component field. |
| [in] | constraint_n | Nonzero if the normal component is constrained. |
| [in] | constraint_t1 | Nonzero if the first tangent component is constrained. |
| [in] | constraint_t2 | Nonzero if the second tangent component is constrained. |
| [in] | n | Device pointer to the nodewise normal vectors. |
| [in] | t1 | Device pointer to the nodewise first tangent vectors. |
| [in] | t2 | Device pointer to the nodewise second tangent vectors. |
| [in] | m | Number of resolved mixed nodes. |
| [in] | strm | Optional backend stream/queue to launch on. |
Definition at line 181 of file device_constrain_mixed_bc.F90.