347 merge mortars to master#348
Draft
albertjimenezramos wants to merge 200 commits into
Draft
Conversation
Add Hatem Kessasra to contributors
Reorganize sliding mesh implementation for clarity, modularity and maintainability. All sliding mesh logic is now centralized in dedicated modules, decoupled from HexMesh and the solver core. Changes per file: Makefile: - Add SlidingMeshClass.f90 and SlidingMeshProcedures.f90 to build SlidingMeshClass.f90: - New dedicated module for SlidingMesh type definition - Read sliding mesh parameters (center, radius, angle) from control file #define slidingmesh block instead of hardcoded values SlidingMeshProcedures.f90: - New dedicated module centralizing all sliding mesh subroutines previously embedded in HexMesh.f90 - Remove dead code, legacy commented calls and debug write statements HexMesh.f90: - Remove sliding mesh subroutines now in SlidingMeshProcedures Read_SpecMesh.f90: - Remove legacy sliding mesh calls now handled in DGSEMClass DGSEMClass.f90: - Add subroutine to read sliding mesh parameters from control file - Add subroutine to trigger initial rotation at simulation start ExplicitMethod.f90 / ExplicitLtod.f90 / TimeIntegrator.f90: - Adapt to new sliding mesh module structure EllipticBR2.f90 / EllipticIP.f90: - Adapt to new sliding mesh module structure
Collaborator
Author
Extract mortar matrix setup into helper routines
…scale optional function argument that take values 0 and 1 if not present.
GetSmallFacesRotation splits the big mortar face into 4 virtual faces and computes the rotation of each small face using HORSES3D's faceRotation convention (NEXTNODE-based). Also checks small mortar faces ordering for consistency.
- Add GetSmallFacesRotation subroutine to check mortar slave faces ordering consistency (not required for well-formed meshes) - Remove debug print statements - Remove unused variables and dead comments - Add comments for clarity
Add CGNS-to-HORSES3D permutation for non-conforming mortar slave faces. CGNS stores slave elements in outward-normal order (p x q), while HORSES3D expects them in its own frame (positive increasing axes). The permutation differs on three faces.
- Rename master/slave mortar face arguments for better clarity - Remove dead comments
07c5c9e to
193008b
Compare
Update the mortar MPI communication routines to match the new communication pattern used throughout the codebase.
In the mixed case where an HMESH_MPI big face has local small faces, the small-face fluxes are computed in the MPI face loop. Since the corresponding elements have no MPI face of their own, they were incorrectly classified as sequential and integrated too early. Mark these elements as shared so they are processed at the correct time.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.