-
Notifications
You must be signed in to change notification settings - Fork 28
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Support for operator boundary conditions #22
Comments
Created new |
"This is the first time an operator has been gh_inc, it is because the boundary conditions are enforced as:
Where bc is either 0 or 1, so we need to have intent(inout) I think we'll need to leave it as The 'proper' solution is to introduce a |
…or. Begin support for enforce_operator_bcs kernel
@thomasmelvin : does the new |
Yes |
Thanks Tom. I've updated the documentation to describe the new enforce_operator_bc_kernel and have tweaked eg4 to show the use of such a kernel. |
Merge request for issue #22 - apply BCs to operators
#26 has been merged to master. Closing issue. |
Boundary conditions are applied to fields through calls to enforce_bc_kernel that are either explicitly written by the algorithm generator or automatically applied after calls to matrix_vector_kernel for W1 and W2 function spaces.
It has been decided to directly include the boundary conditions inside of operators through the use of a enforce_operator_bc_kernel that modifies a operator type. LFRic ticket https://code.metoffice.gov.uk/trac/lfric/ticket/999 implements this new kernel and this issue is to replace the psykalite call with psyclone support.
Additionally with the boundary conditions placed in the appropriate operators there will no longer be any need for automatic generation of enforce_bc calls after matrix_vector calls and so this can be removed.
The text was updated successfully, but these errors were encountered: