feat(newton): first newton solver implementation
This commit is contained in:
@@ -145,7 +145,13 @@ target_sources(mean_field
|
||||
libmeanfield/interface/quadrature/policy.cppm
|
||||
libmeanfield/interface/quadrature/mfem.cppm
|
||||
libmeanfield/interface/solver/fields.cppm
|
||||
libmeanfield/interface/solver/linear_backend.cppm
|
||||
libmeanfield/interface/solver/newton.cppm
|
||||
libmeanfield/interface/solver/preconditioning_diagnostics.cppm
|
||||
libmeanfield/interface/solver/stellar_equilibrium_types.cppm
|
||||
libmeanfield/interface/solver/stellar_structure.cppm
|
||||
libmeanfield/interface/solver/stellar_context.cppm
|
||||
libmeanfield/interface/solver/stellar_equilibrium.cppm
|
||||
libmeanfield/interface/preconditioning/backend.cppm
|
||||
libmeanfield/interface/preconditioning/backend_implementations.cppm
|
||||
libmeanfield/interface/preconditioning/gravity_field.cppm
|
||||
@@ -155,6 +161,7 @@ target_sources(mean_field
|
||||
libmeanfield/interface/preconditioning/stellar_structure.cppm
|
||||
libmeanfield/interface/preconditioning/specification_border.cppm
|
||||
libmeanfield/interface/preconditioning/equilibrium_coordinates.cppm
|
||||
libmeanfield/interface/preconditioning/stellar_recipe.cppm
|
||||
libmeanfield/interface/preconditioning/preconditioning.cppm
|
||||
libmeanfield/interface/normalization/plan.cppm
|
||||
libmeanfield/interface/normalization/physical_riesz.cppm
|
||||
@@ -346,10 +353,18 @@ add_executable(tests
|
||||
tests/normalization/stellar_equilibrium.cpp
|
||||
tests/user-api/stellar_equilibrium.cpp
|
||||
tests/solver/preconditioning_diagnostics.cpp
|
||||
tests/solver/stellar_equilibrium_architecture.cpp
|
||||
tests/solver/stellar_equilibrium_architecture_internal.cpp
|
||||
tests/solver/stellar_equilibrium_runtime.cpp
|
||||
)
|
||||
|
||||
target_link_libraries(tests PRIVATE mean_field test_mod Catch2::Catch2 Boost::boost)
|
||||
|
||||
# A deliberately opt-in API workbench. It is compiled explicitly during API
|
||||
# verification but temporary user experiments do not break the default build.
|
||||
add_executable(sandbox EXCLUDE_FROM_ALL sandbox.cpp)
|
||||
target_link_libraries(sandbox PRIVATE mean_field)
|
||||
|
||||
add_executable(mpi_tests
|
||||
tests/mpi/mpi_test_main.cpp
|
||||
tests/mpi/distributed_execution.cpp
|
||||
@@ -416,6 +431,26 @@ catch_discover_tests(
|
||||
WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}"
|
||||
)
|
||||
|
||||
add_test(
|
||||
NAME mpi_single_rank_stellar_root
|
||||
COMMAND
|
||||
${MPIEXEC_EXECUTABLE}
|
||||
${MPIEXEC_NUMPROC_FLAG} 1
|
||||
${MPIEXEC_PREFLAGS}
|
||||
$<TARGET_FILE:mpi_tests>
|
||||
${MPIEXEC_POSTFLAGS}
|
||||
"[single-rank]"
|
||||
)
|
||||
set_tests_properties(
|
||||
mpi_single_rank_stellar_root
|
||||
PROPERTIES
|
||||
LABELS "mpi;single-rank"
|
||||
PROCESSORS 1
|
||||
RESOURCE_LOCK mean_field_mpi
|
||||
TIMEOUT 600
|
||||
WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}"
|
||||
)
|
||||
|
||||
foreach (mean_field_mpi_ranks IN ITEMS 2 4)
|
||||
add_test(
|
||||
NAME mpi_${mean_field_mpi_ranks}_ranks
|
||||
@@ -425,7 +460,7 @@ foreach (mean_field_mpi_ranks IN ITEMS 2 4)
|
||||
${MPIEXEC_PREFLAGS}
|
||||
$<TARGET_FILE:mpi_tests>
|
||||
${MPIEXEC_POSTFLAGS}
|
||||
"[mpi]"
|
||||
"[mpi]~[single-rank]"
|
||||
)
|
||||
set_tests_properties(
|
||||
mpi_${mean_field_mpi_ranks}_ranks
|
||||
|
||||
Reference in New Issue
Block a user