Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
40 commits
Select commit Hold shift + click to select a range
4e47613
Merge pull request #3 from SimVascular/main
zasexton Jun 9, 2025
3bdfb91
Merge branch 'SimVascular:main' into main
zasexton Aug 26, 2025
3fb5364
Merge branch 'SimVascular:main' into main
zasexton Sep 18, 2025
4749c70
Merge branch 'SimVascular:main' into main
zasexton Oct 6, 2025
47a7985
Merge branch 'SimVascular:main' into main
zasexton Oct 27, 2025
2d4f8ed
Merge pull request #5 from SimVascular/main
zasexton Nov 11, 2025
1154fe8
Merge branch 'SimVascular:main' into main
zasexton Jan 5, 2026
690a92c
Merge branch 'SimVascular:main' into main
zasexton Feb 27, 2026
e6dd7e9
Merge branch 'SimVascular:main' into main
zasexton Mar 25, 2026
b831ea1
Merge branch 'SimVascular:main' into main
zasexton Apr 8, 2026
1e117c2
Merge branch 'SimVascular:main' into main
zasexton Apr 21, 2026
35cc8fe
Merge branch 'SimVascular:main' into main
zasexton Apr 30, 2026
42b23df
Merge branch 'SimVascular:main' into main
zasexton May 12, 2026
f412876
Merge branch 'SimVascular:main' into main
zasexton May 26, 2026
3a6af11
Merge branch 'SimVascular:main' into main
zasexton Jun 1, 2026
c5e934f
Merge branch 'SimVascular:main' into main
zasexton Jul 1, 2026
b34bfb3
Merge branch 'SimVascular:main' into main
zasexton Jul 1, 2026
a2f1677
Define the FE Quadrature module boundary
zasexton Jul 22, 2026
a07b87b
Add immutable reference-space quadrature rules
zasexton Jul 22, 2026
fbf3630
Establish Quadrature Phase 01 baselines
zasexton Jul 22, 2026
6110849
Run API documentation from the repository root
zasexton Jul 22, 2026
593f765
Polish quadrature validation result handling
zasexton Jul 22, 2026
4449885
Simplify reference-cell validation
zasexton Jul 23, 2026
454c7dd
Use FE vectors for quadrature points
zasexton Jul 23, 2026
f9ec988
Separate quadrature dimensions and zeroth moment
zasexton Jul 23, 2026
2e48f4c
Inline binary64 weight accumulation
zasexton Jul 23, 2026
0b4d7bf
Simplify quadrature validation diagnostics
zasexton Jul 23, 2026
02aff30
Keep quadrature validation policy internal
zasexton Jul 23, 2026
bad9188
Remove redundant reference measure alias
zasexton Jul 23, 2026
752bbee
Clarify the quadrature rule contract
zasexton Jul 23, 2026
fba6733
Simplify quadrature rule validation
zasexton Jul 23, 2026
b1433cb
Use exact summation for quadrature validation
zasexton Jul 23, 2026
ce8ca07
fixing spacing for exact binary summation
zasexton Jul 23, 2026
d66e30c
Document binary64 validation assumptions
zasexton Jul 24, 2026
e8d3680
Qualify quadrature vector include
zasexton Jul 24, 2026
42c9e9e
Use reference cell measure terminology
zasexton Jul 24, 2026
4feee78
Complete reference cell measure documentation
zasexton Jul 24, 2026
6fb1dad
Focus quadrature tests on new infrastructure
zasexton Jul 24, 2026
970f3c0
Merge branch 'main' into quadrature-P01
zasexton Jul 24, 2026
1c28f9e
Merge branch 'main' into quadrature-P01
zasexton Jul 29, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 4 additions & 2 deletions Code/CMake/SimVascularExternals.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,10 @@ if(DOXYGEN_FOUND)
configure_file(${SV_SOURCE_DIR}/../Documentation/Doxyfile
${SV_BINARY_DIR}/Doxyfile @ONLY)
add_custom_target(doc
${DOXYGEN_EXECUTABLE} ${SV_BINARY_DIR}/Doxyfile
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
COMMAND "${CMAKE_COMMAND}" -E remove_directory
"${SV_SOURCE_DIR}/../Documentation/build"
COMMAND "${DOXYGEN_EXECUTABLE}" "${SV_BINARY_DIR}/Doxyfile"
WORKING_DIRECTORY "${SV_SOURCE_DIR}/.."
Comment on lines +12 to +15

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If I understand this right, the purpose of this is to fix the make doc recipe (whereas as of now the documentation would have to be built by calling doxygen manually from the repository root folder). Is this correct?

If so, is the documentation now generated into the build folder, or into the source folder as in the current main branch?

COMMENT "Generating API documentation with Doxygen" VERBATIM
)
endif(DOXYGEN_FOUND)
Expand Down
6 changes: 6 additions & 0 deletions Code/Source/solver/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -266,11 +266,17 @@ file(GLOB SOLVER_FE_MATH_SRCS CONFIGURE_DEPENDS
FE/Math/*.h
)

file(GLOB SOLVER_FE_QUADRATURE_SRCS CONFIGURE_DEPENDS
FE/Quadrature/*.cpp
FE/Quadrature/*.h
)

list(APPEND CSRCS
${SOLVER_CORE_SRCS}
${SOLVER_FE_COMMON_SRCS}
${SOLVER_FE_BASIS_SRCS}
${SOLVER_FE_MATH_SRCS}
${SOLVER_FE_QUADRATURE_SRCS}
)
Comment on lines +269 to 280

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Wouldn't it be better to have separate CMakeLists.txt files in the individual subfolders, and to build separate binaries that are then linked into the executable? The main CMakeLists.txt would then recurse into subfolders, instead of listing all the files.

In my opinion this would encourage the clean separation of the different modules, and it might be a good idea to start implementing it at least for the newly refactored parts of the library.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@zasexton I agree with @michelebucelli; better to use CMake to manage sub-directories.


# Set PETSc interace code.
Expand Down
28 changes: 7 additions & 21 deletions Code/Source/solver/FE/Common/Types.h
Original file line number Diff line number Diff line change
Expand Up @@ -69,10 +69,9 @@ enum class CellFamily {
* @brief Shared vocabulary types, constants, and exception infrastructure used by every FE module.
*
* @details The Common module collects the foundational definitions that the
* rest of the FE library builds on: index and scalar type aliases; element,
* basis, quadrature, and field enumerations; sentinel constants and strong
* type wrappers; and the FE exception hierarchy together with its
* argument-checking helpers.
* rest of the FE library builds on: index and scalar type aliases; shared
* enumerations and strong types; sentinel constants; and the FE exception
* hierarchy together with its argument-checking helpers.
*/

namespace svmp::FE {
Expand All @@ -83,10 +82,10 @@ namespace svmp::FE {
* @brief Core type aliases, enumerations, constants, geometric types, and compile-time traits.
*
* @details This group documents the index and identifier types used for
* element-local and global numbering, the element/basis/quadrature/field
* enumerations shared across modules, sentinel constants, reference- and
* physical-space geometric aliases, and the strong-type utilities that
* prevent accidental mixing of conceptually distinct values.
* element-local and global numbering, the enumerations shared across modules,
* sentinel constants, reference- and physical-space geometric aliases, and
* the strong-type utilities that prevent accidental mixing of conceptually
* distinct values.
* @{
*/

Expand Down Expand Up @@ -242,19 +241,6 @@ enum class ElementType : std::uint8_t {
Unknown ///< Unrecognized or uninitialized element type
};

/**
* @brief Quadrature rule types
*/
enum class QuadratureType : std::uint8_t {
GaussLegendre, ///< Standard Gaussian quadrature
GaussLobatto, ///< Includes endpoints (for spectral elements)
Newton, ///< Newton-Cotes rules
Reduced, ///< Order-based reduced integration for locking
PositionBased, ///< Position-based reduced integration (legacy compatible)
Composite, ///< Composite rules for adaptivity
Custom ///< User-defined quadrature points
};

/**
* @brief Basis function families
*/
Expand Down
3 changes: 2 additions & 1 deletion Code/Source/solver/FE/FE.h
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,8 @@
* This header intentionally contains no declarations. It gives Doxygen a
* header-based home for the top-level FE group; submodule groups attach to it
* from their own headers, including FE_Basis (Basis/BasisFunction.h),
* FE_Common (Common/Types.h), and FE_Math (Math/Vector.h).
* FE_Common (Common/Types.h), FE_Math (Math/Vector.h), and FE_Quadrature
* (Quadrature/QuadratureRule.h).
*/

/**
Expand Down
Loading
Loading