Skip to content

347 merge mortars to master#348

Draft
albertjimenezramos wants to merge 200 commits into
masterfrom
347-merge-mortars-to-master
Draft

347 merge mortars to master#348
albertjimenezramos wants to merge 200 commits into
masterfrom
347-merge-mortars-to-master

Conversation

@albertjimenezramos

Copy link
Copy Markdown
Collaborator

No description provided.

albertjimenezramos and others added 5 commits May 13, 2026 10:19
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
@albertjimenezramos

Copy link
Copy Markdown
Collaborator Author

@loganoz , @HatemKsr and I have a meeting scheduled for Wednesday. After the meeting, can we merge if new conflicts don't appear?

HatemKsr and others added 12 commits June 10, 2026 18:26
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
@HatemKsr HatemKsr force-pushed the 347-merge-mortars-to-master branch from 07c5c9e to 193008b Compare June 25, 2026 21:11
albertjimenezramos and others added 11 commits July 3, 2026 16:53
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.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Merge mortars to master

4 participants