93 Commits

Author SHA1 Message Date
81de98d9e2 Update the copyright year to 2023.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2023-02-01 18:36:37 -03:00
336a04377b BOUNDARIES: Remove unused variables.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2022-10-17 11:29:58 -03:00
a3a140b572 BLOCKS, BOUNDARIES, EVOLUTION: Fix block variable update.
When the block has been (de)refined, its field %update is set in order
to update its primitive variables. However, the block which are
neighbors of the (de)refined blocks, since their boundaries are updated
too, were not selected for the primitive variable update.

Fix this by adding a new meta block field %boundary, which indicates
that a block boundary has been updated, and update the corresponding
data block primitive variables either if the %update or %boundary flags
are set.

Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2022-02-11 22:37:46 -03:00
6f23ae962e BOUNDARIES: Prepare primitive variables for specific boundaries.
The specific boundaries (open, outflow, reflective, custom, etc.) work
on the primitive variables. Since the boundaries are updated using the
conservative variables, we have to update the primitive variables in the
block to which the specific boundary is applied. Then, the conservative
variables are update at the ghost zone where the specific boundary
condition was applied.

Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2022-02-09 19:25:18 -03:00
47ebb9703c BOUNDARIES: Process boundary prolongation from minlev to maxlev.
Since the update of boundaries using prolongation depends on the
neighboring cells, make sure it is applied for blocks at the same level,
from the minimum to maximum level.

Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2022-02-09 16:49:26 -03:00
d74cc0b6af BOUNDARIES: Fix boundaries_face_prolong() to include the internal edge.
Four child blocks at higher levels do not have internal edge neighbors.
Therefore, the face prolongation from the lower level neighbor of these
four blocks has to include the internal edges.

Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2022-02-09 16:00:04 -03:00
87daca8d55 BOUNDARIES: Fix boundaries_edge_prolong() to include the internal corner.
Two child blocks at higher levels do not have internal corner neighbor.
Therefore, the edge prolongation from the lower level neighbor of these
two blocks has to include the internal corner.

Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2022-02-09 15:59:29 -03:00
be47092f3c BOUNDARIES: Work with the conservative variables for the boundary update.
In this way the restricted or prolongated boundaries preserve the
conserved variables.

Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2022-02-08 17:45:26 -03:00
d188045d96 BOUNDARIES: Reorganize the specific boundaries.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2022-02-08 17:13:05 -03:00
de587766b6 BOUNDARIES: Correct fluxes dimension by dimension in boundary_fluxes().
This solver the problem of updating the fluxes in an inconsistent way
for the same run with a different number of MPI processes.

Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2022-02-08 16:15:51 -03:00
43499e930f BOUNDARIES: Organize importing of variables from other modules.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2022-02-08 09:59:42 -03:00
76d768246d BOUNDARIES: Handle all direction at once in boundaries_face_prolong().
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2022-02-07 15:37:23 -03:00
7e5d0a4a0d BOUNDARIES: Handle all direction at once in boundaries_face_restrict().
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2022-02-07 15:25:21 -03:00
7eb4276751 BOUNDARIES: Handle all direction at once in boundaries_face_copy().
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2022-02-07 15:11:51 -03:00
6cfa6d2f00 BOUNDARIES: Fix wrong check in boundaries_edge_prolong().
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2022-02-07 15:07:47 -03:00
5194861d1a BOUNDARIES: Small changes in corner copy subroutines.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2022-02-07 13:14:26 -03:00
92a96a7e2f BOUNDARIES: Handle all direction at once in boundaries_edge_prolong().
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2022-02-07 13:12:48 -03:00
1bb006f091 BOUNDARIES: Handle all direction at once in boundaries_edge_restrict().
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2022-02-07 12:45:20 -03:00
8675bc2cf3 BOUNDARIES: Handle all direction at once in boundaries_edge_copy().
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2022-02-07 12:11:23 -03:00
dc6bd31951 BOUNDARIES: Remove comments from prepare/release_exchange_array().
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2022-02-05 23:20:21 -03:00
c268109465 BLOCKS, BOUNDARIES: Simplify the block_info structure.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2022-02-05 23:18:25 -03:00
db537fd635 BOUNDARIES: Remove comments from boundary_variables().
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2022-02-05 18:48:18 -03:00
e4e784ba8f BOUNDARIES: Rewrite boundaries_specific().
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2022-02-05 18:46:37 -03:00
70ce98b9fc BOUNDARIES: Rewrite boundaries_face_copy().
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2022-02-05 18:37:26 -03:00
cdcf90ae30 BOUNDARIES: Rewrite boundaries_face_restrict().
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2022-02-05 18:05:11 -03:00
65be245c97 BOUNDARIES: Rewrite boundaries_face_prolong().
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2022-02-05 17:39:04 -03:00
4b72a50106 BOUNDARIES: Rewrite block_face_restrict().
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2022-02-04 23:21:47 -03:00
df71b8e06e BOUNDARIES: Rewrite block_face_prolong().
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2022-02-04 23:05:07 -03:00
2c0499a82e BOUNDARIES: Rewrite boundaries_edge_copy().
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2022-02-03 22:25:20 -03:00
1f7c84d790 BOUNDARIES: Rewrite boundaries_edge_restrict().
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2022-02-03 18:34:23 -03:00
ca9563e374 BOUNDARIES: Rewrite boundaries_edge_prolong().
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2022-02-03 17:55:14 -03:00
653173496f BOUNDARIES: Rewrite boundaries_corner_copy().
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2022-02-03 16:25:08 -03:00
5b77ce6173 BOUNDARIES: Rewrite boundaries_corner_restrict().
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2022-02-03 16:02:46 -03:00
09619fc7c8 BOUNDARIES: Rewrite boundaries_corner_prolong().
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2022-02-03 15:37:02 -03:00
8379192543 BOUNDARIES: Do not rename imported variables.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2022-02-03 15:03:44 -03:00
b4a1590dcf BOUNDARIES: Rewrite block_edge_prolong().
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2022-02-03 13:59:15 -03:00
3de7250ff4 BOUNDARIES: Rewrite block_edge_restrict().
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2022-02-03 12:45:53 -03:00
cb364e1207 BOUNDARIES: Use nghosts_double in block_corner_restrict().
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2022-02-03 11:24:04 -03:00
9b030f0b13 BOUNDARIES: Rewrite block_corner_prolong().
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2022-02-03 11:13:07 -03:00
115659486b BOUNDARIES: Rewrite block_corner_restrict().
Use locally calculated indices for the region.

Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2022-02-03 10:17:35 -03:00
4634081ca9 BOUNDARIES: Rewrite boundary_fluxes().
Slighly change the shape of block fluxes. Also add status flag to this
subroutine.

Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2022-02-02 16:39:51 -03:00
b6c6221cfc BOUNDARIES: Rewrite print_boundaries().
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2022-02-02 16:39:29 -03:00
52abf56732 BOUNDARIES: Slightly rewrite finalize_boundaries().
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2022-02-02 10:40:25 -03:00
c9c76c93e1 BOUNDARIES: Rewrite initialize_boundaries().
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2022-02-02 10:30:48 -03:00
b1343baa30 BOUNDARIES: Use enumerator for the boundary type.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2022-02-02 09:54:05 -03:00
9829505650 Update copyright year to 2022.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2022-02-02 09:51:41 -03:00
af4b83cd7c BOUNDARIES: Make variable initialization OpenMP conformant.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2022-01-08 11:39:48 -03:00
e936ade934 BOUNDARIES: Parallelize update_ghost_cells() using OpenMP.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2021-12-10 10:03:42 -03:00
8d27d95a76 BOUNDARIES: Stop compiler complaining if MPI is off.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2021-12-03 10:58:57 -03:00
3081ac0d5f BOUNDARIES: Fix wrong conditions in block_boundary_specific().
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2021-11-26 17:07:31 -03:00