|
Neko 1.99.3
A portable framework for high-order spectral element flow simulations
|
Defines overset interface vector boundary conditions.
Data Types | |
| type | overset_interface_vector_t |
Extension of the user defined dirichlet condition overset_interface More... | |
Functions/Subroutines | |
| subroutine | overset_interface_vector_init (this, coef, json) |
| Constructor. | |
| subroutine | overset_interface_vector_init_from_components (this, coef, tol, pad) |
| Constructor from components. | |
| subroutine | overset_interface_vector_free (this) |
Destructor. Currently unused as is, all field_dirichlet attributes are freed in fluid_scheme_incompressible::free. | |
| subroutine | overset_interface_vector_apply_scalar (this, x, n, time, strong) |
| No-op apply scalar. | |
| subroutine | overset_interface_vector_apply_scalar_dev (this, x_d, time, strong, strm) |
| No-op apply scalar (device). | |
| subroutine | overset_interface_vector_apply_vector (this, x, y, z, n, time, strong) |
| Apply the boundary condition to a vector field. | |
| subroutine | overset_interface_vector_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 | overset_interface_vector_finalize (this, only_facets) |
| Finalize by building the mask arrays and propagating to underlying bcs. | |
| subroutine | overset_interface_update (this, time) |
| Update the values at the interfaces. | |
| subroutine | build_masks_ (this) |
| Build masks. | |
| subroutine | gather_interface_dofs_ (this) |
| Gather interface dofs. | |
| subroutine | setup_interpolator_ (this) |
| Set up the interpolator. | |
|
private |
Create a new mask_t based on the 0-mask for the overset boundary points
Create a mask that marks the full elements containing overset boundary points
Create a domain mask that exclude the boundary elements.
Definition at line 465 of file overset_interface_vector.f90.

|
private |
Gather the coordinates to the vectors
synchronize if on device
Definition at line 518 of file overset_interface_vector.f90.

|
private |
Change the coordinates of the interface if set up by the user
Update in sub-step 1 should be an extrapolation of the boundary values
Find points if needed - later make sure only in first substep
For more substep than 1, then we just interpolate
Interpolate the values
Scatter them to the bc fields
Definition at line 407 of file overset_interface_vector.f90.

|
private |
| x | Field onto which to copy the values (e.g. u,v,w,p or s). |
| n | Size of the array x. |
| t | Current time state. |
Definition at line 243 of file overset_interface_vector.f90.
|
private |
| x_d | Device pointer to the field onto which to copy the values. |
| time | The current time state. |
Definition at line 258 of file overset_interface_vector.f90.
|
private |
| x | x-component of the field onto which to apply the values. |
| y | y-component of the field onto which to apply the values. |
| z | z-component of the field onto which to apply the values. |
| n | Size of the x, y and z arrays. |
| time | The current time state. |
TODO: Change the mask to mask_t
Definition at line 277 of file overset_interface_vector.f90.

|
private |
| x | x-component of the field onto which to apply the values. |
| y | y-component of the field onto which to apply the values. |
| z | z-component of the field onto which to apply the values. |
| time | The current time state. |
| strm | Device stream |
Definition at line 317 of file overset_interface_vector.f90.

|
private |
From field_dirichlet_vector_t
Build heper masks
Gather the interface boundary points
Initialize the interpolator and find the points
Keep a vector list that holds the values of interface fields
Fill the vector lists
Definition at line 353 of file overset_interface_vector.f90.
|
private |
Definition at line 208 of file overset_interface_vector.f90.
| subroutine overset_interface_vector::overset_interface_vector_init | ( | class(overset_interface_vector_t), intent(inout), target | this, |
| type(coef_t), intent(in), target | coef, | ||
| type(json_file), intent(inout) | json | ||
| ) |
| [in] | coef | The SEM coefficients. |
| [in,out] | json | The JSON object configuring the boundary condition. |
Parse the interpolation settings
Definition at line 139 of file overset_interface_vector.f90.
|
private |
| [in] | coef | The SEM coefficients. |
This initializes coef, dof, msh, and Xh pointers
Set the interpolation settings
init coord vectors
Copy the dof coordinates to the internal vectors keep this to later check if the coordinates have changed.
Definition at line 157 of file overset_interface_vector.f90.

|
private |
Initialize the interpolator with the mask and the dof coords
Find the interface points on the global domain
Definition at line 543 of file overset_interface_vector.f90.