Template for a user-defined scalar Pn/Pn boundary condition.
|
| subroutine | scalar_pnpn_bc_template_init (this, coef, json) |
| | Constructor from JSON.
|
| |
| subroutine | scalar_pnpn_bc_template_apply_scalar (this, x, n, time, strong) |
| | Apply the boundary condition to a scalar field on the CPU.
|
| |
| subroutine | scalar_pnpn_bc_template_apply_vector (this, x, y, z, n, time, strong) |
| | Apply the boundary condition to a vector field on the CPU.
|
| |
| subroutine | scalar_pnpn_bc_template_apply_scalar_dev (this, x_d, time, strong, strm) |
| | Apply the boundary condition to a scalar field on the device.
|
| |
| subroutine | scalar_pnpn_bc_template_apply_vector_dev (this, x_d, y_d, z_d, time, strong, strm) |
| | Apply the boundary condition to a vector field on the device.
|
| |
| subroutine | scalar_pnpn_bc_template_free (this) |
| | Destructor.
|
| |
| subroutine | scalar_pnpn_bc_template_finalize (this) |
| | Finalize the boundary condition.
|
| |
| subroutine, public | scalar_pnpn_bc_template_register_types () |
| | Register the custom boundary condition type with scalar Pn/Pn.
|
| |
| subroutine | scalar_pnpn_bc_template_allocate (obj) |
| | Allocate the custom boundary condition.
|
| |
◆ scalar_pnpn_bc_template_allocate()
◆ scalar_pnpn_bc_template_apply_scalar()
| subroutine scalar_pnpn_bc_template::scalar_pnpn_bc_template_apply_scalar |
( |
class(scalar_pnpn_bc_template_t), intent(inout) |
this, |
|
|
real(kind=rp), dimension(n), intent(inout) |
x, |
|
|
integer, intent(in) |
n, |
|
|
type(time_state_t), intent(in), optional |
time, |
|
|
logical, intent(in), optional |
strong |
|
) |
| |
|
private |
- Parameters
-
| [in,out] | x | The scalar field values. |
| [in] | n | The number of field values. |
| [in] | time | The current time state. |
| [in] | strong | Whether strong or weak conditions are being applied. |
Definition at line 93 of file scalar_pnpn_bc_template.f90.
◆ scalar_pnpn_bc_template_apply_scalar_dev()
| subroutine scalar_pnpn_bc_template::scalar_pnpn_bc_template_apply_scalar_dev |
( |
class(scalar_pnpn_bc_template_t), intent(inout), target |
this, |
|
|
type(c_ptr), intent(inout) |
x_d, |
|
|
type(time_state_t), intent(in), optional |
time, |
|
|
logical, intent(in), optional |
strong, |
|
|
type(c_ptr), intent(inout) |
strm |
|
) |
| |
|
private |
- Parameters
-
| [in,out] | x_d | Device pointer to the scalar field values. |
| [in] | time | The current time state. |
| [in] | strong | Whether strong or weak conditions are being applied. |
| [in,out] | strm | The device stream. |
Definition at line 128 of file scalar_pnpn_bc_template.f90.
◆ scalar_pnpn_bc_template_apply_vector()
| subroutine scalar_pnpn_bc_template::scalar_pnpn_bc_template_apply_vector |
( |
class(scalar_pnpn_bc_template_t), intent(inout) |
this, |
|
|
real(kind=rp), dimension(n), intent(inout) |
x, |
|
|
real(kind=rp), dimension(n), intent(inout) |
y, |
|
|
real(kind=rp), dimension(n), intent(inout) |
z, |
|
|
integer, intent(in) |
n, |
|
|
type(time_state_t), intent(in), optional |
time, |
|
|
logical, intent(in), optional |
strong |
|
) |
| |
|
private |
- Parameters
-
| [in,out] | x | The first vector component. |
| [in,out] | y | The second vector component. |
| [in,out] | z | The third vector component. |
| [in] | n | The number of values in each component. |
| [in] | time | The current time state. |
| [in] | strong | Whether strong or weak conditions are being applied. |
Definition at line 111 of file scalar_pnpn_bc_template.f90.
◆ scalar_pnpn_bc_template_apply_vector_dev()
| subroutine scalar_pnpn_bc_template::scalar_pnpn_bc_template_apply_vector_dev |
( |
class(scalar_pnpn_bc_template_t), intent(inout), target |
this, |
|
|
type(c_ptr), intent(inout) |
x_d, |
|
|
type(c_ptr), intent(inout) |
y_d, |
|
|
type(c_ptr), intent(inout) |
z_d, |
|
|
type(time_state_t), intent(in), optional |
time, |
|
|
logical, intent(in), optional |
strong, |
|
|
type(c_ptr), intent(inout) |
strm |
|
) |
| |
|
private |
- Parameters
-
| [in,out] | x_d | Device pointer to the first vector component. |
| [in,out] | y_d | Device pointer to the second vector component. |
| [in,out] | z_d | Device pointer to the third vector component. |
| [in] | time | The current time state. |
| [in] | strong | Whether strong or weak conditions are being applied. |
| [in,out] | strm | The device stream. |
Definition at line 148 of file scalar_pnpn_bc_template.f90.
◆ scalar_pnpn_bc_template_finalize()
◆ scalar_pnpn_bc_template_free()
◆ scalar_pnpn_bc_template_init()
- Parameters
-
| [in] | coef | The SEM coefficients. |
| [in,out] | json | The JSON object configuring the boundary condition. |
Definition at line 75 of file scalar_pnpn_bc_template.f90.
◆ scalar_pnpn_bc_template_register_types()
| subroutine, public scalar_pnpn_bc_template::scalar_pnpn_bc_template_register_types |