Skip to content

Conversation

@vickysharma0812
Copy link
Member

This pull request introduces several significant updates to the build system and the Fortran source modules, focusing on improved modularity, new dependencies, and enhanced error handling. The main changes include the addition of GMSH and HDF5 support, refactoring of the BaseContinuity_Method module for better error handling and consistency, and improvements to the BoundingBox_Method module. There are also updates to the CMake configuration for more modern and maintainable syntax, as well as the introduction of configuration files for development tools.

Build system and dependency enhancements:

  • Added support for GMSH SDK and HDF5 libraries via new CMake modules (addGmsh.cmake, addHDF5.cmake) and included them in the build process. This allows optional linking against GMSH and ensures HDF5 (with Fortran and HL components) is found and properly configured. [1] [2] [3] [4]
  • Updated CMake configuration to use lowercase, modern CMake commands and improved conditional logic for optional dependencies (LAPACK95, ARPACK, raylib, OpenMP, GMSH).
  • Updated project version to 24.10.3 in CMakeLists.txt.
  • Added new geometry modules (Point, Line, Triangle, Quadrangle, Tetrahedron, Hexahedron, Prism, Pyramid) to the build process for expanded element support.

Fortran module improvements:

  • Refactored BaseContinuity_Method.F90 for more robust error handling (using stderr instead of stdout), improved string handling, and made interfaces more consistent (e.g., BaseContinuity_ToString now supports uppercase output, and error cases now call STOP). [1] [2] [3] [4] [5]
  • Enhanced BoundingBox_Method.F90 with new operator interfaces (.Center., .Intersection., .Nptrs., .UNION.), added Copy and Reallocate interfaces, and improved public API exposure. [1] [2] [3] [4]
  • Added the GEMM interface to the F95_BLAS module for matrix-matrix multiplication support. [1] [2]

Development and configuration tools:

  • Added a fortitude.toml configuration file for Fortran linting and code checks.
  • Removed the .fortls configuration file, possibly in favor of other tooling.

Minor and cleanup changes:

  • Fixed a typo in addToml.cmake to check for the correct package variable (toml-f_FOUND).
  • Commented out unused or optional includes in various CMake and Fortran files for clarity and maintainability. [1] [2] [3]
  • Minor formatting and alignment improvements in several modules for consistency.

These changes collectively improve the codebase's modularity, maintainability, and readiness for new features and dependencies.

vickysharma0812 and others added 30 commits August 20, 2024 12:59
- fixing minor issue
- fixing the issue for MeshGrid2D
- cleaning ogpf (Gnuplot utility)
- now gnuplot can be controlled through Gnuplot_Class in easifemClasses
- minor bug fixed for quadrangle
- adding new method without allocation
- adding no allocation subroutine (wip)
- finish up to vector interpolation
- adding get methods where no allocation happens
- adding GetInterpolation methods where no allocation happens
- adding projection methods in which no allocation occurs
@vickysharma0812 vickysharma0812 merged commit c59abb0 into master Dec 24, 2025
1 check failed
@vickysharma0812 vickysharma0812 changed the title For Next Release easifemBase-v24.10.0 For Next Release easifemBase-v25.10.0 Dec 24, 2025
@vickysharma0812 vickysharma0812 added this to the v25.10.0 milestone Dec 24, 2025
@vickysharma0812 vickysharma0812 self-assigned this Dec 24, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants