perf(jacobian-action): major updates to jacobian action application by removing redudant quadrature work. ~5x increase in speed

This commit is contained in:
2026-09-02 17:01:50 -04:00
parent 85500fef3b
commit 25510008dd
74 changed files with 8967 additions and 814 deletions

View File

@@ -443,6 +443,7 @@ export namespace tags {
inline constexpr auto equation_of_state = physics & make_tag("eos");
inline constexpr auto equation_of_state_type_system = equation_of_state & unit & make_tag("type_system");
inline constexpr auto equation_of_state_quantity_types = equation_of_state_type_system & make_tag("quantity_types");
inline constexpr auto dimensional_quantities = physics & unit & make_tag("dimensions") & make_tag("quantity_types");
inline constexpr auto equation_of_state_relation_contract =
equation_of_state_type_system & make_tag("relation_contract");
inline constexpr auto equation_of_state_runtime_view = equation_of_state & unit & make_tag("runtime_view");
@@ -458,7 +459,32 @@ export namespace tags {
equation_of_state_consumer_contract & make_tag("pressure_force");
inline constexpr auto structure_seed_equation_of_state_contract =
equation_of_state_consumer_contract & make_tag("structure_seed");
inline constexpr auto stellar_model_type_contract = barotrope & model & unit & make_tag("type_contract");
inline constexpr auto stellar_model_type_contract = barotrope & model & unit & make_tag("type_contract");
inline constexpr auto model_specification_type_contract =
model & unit & make_tag("specification") & make_tag("type_contract");
inline constexpr auto stellar_model_specification_api =
model_specification_type_contract & make_tag("stellar_model_api");
inline constexpr auto stellar_equilibrium_system = model & solver & make_tag("stellar_equilibrium_system");
inline constexpr auto stellar_equilibrium_system_type_contract =
stellar_equilibrium_system & unit & make_tag("type_contract");
inline constexpr auto stellar_equilibrium_system_integration = stellar_equilibrium_system & integration;
inline constexpr auto stellar_equilibrium_problem = model & solver & make_tag("stellar_equilibrium_problem");
inline constexpr auto stellar_equilibrium_problem_type_contract =
stellar_equilibrium_problem & unit & make_tag("type_contract");
inline constexpr auto stellar_equilibrium_problem_integration = stellar_equilibrium_problem & integration;
inline constexpr auto lane_emden_seed = model & initialization & physics & make_tag("lane_emden");
inline constexpr auto lane_emden_analytic = lane_emden_seed & accuracy & make_tag("analytic_solution");
inline constexpr auto stellar_seed_projection = model & initialization & solver & make_tag("seed_projection");
inline constexpr auto stellar_seed_projection_type_contract =
stellar_seed_projection & unit & make_tag("type_contract");
inline constexpr auto preconditioning_diagnostics = solver & make_tag("preconditioning") & make_tag("diagnostics");
inline constexpr auto preconditioning_diagnostics_unit = preconditioning_diagnostics & unit;
inline constexpr auto preconditioning_spectral_unit = preconditioning_diagnostics_unit & make_tag("spectrum");
inline constexpr auto root_manifest_type_contract =
model & solver & unit & make_tag("root_manifest") & make_tag("type_contract");
inline constexpr auto central_density_phase = barotrope & solver & make_tag("central_density") & make_tag("phase");
inline constexpr auto central_density_phase_unit = central_density_phase & unit;
inline constexpr auto central_density_phase_integration = central_density_phase & integration;
inline constexpr auto stellar_model_runtime_view = barotrope & model & unit & make_tag("runtime_view");
inline constexpr auto stellar_model_deformation_ownership = model & deformation & unit & make_tag("ownership");
inline constexpr auto stellar_model_deformation_compilation =
@@ -510,6 +536,8 @@ export namespace tags {
barotrope_mass_normalization_prepared & integration & make_tag("jacobian");
inline constexpr auto barotrope_mass_normalization_analytic =
barotrope_mass_normalization_prepared & integration & make_tag("analytic_comparison");
inline constexpr auto fixed_total_mass_constraint =
barotrope_mass_normalization_prepared & integration & make_tag("fixed_total_mass") & make_tag("constraint");
inline constexpr auto rotation_prepared = centrifugal & make_tag("prepared");
inline constexpr auto rotation_context = centrifugal & make_tag("context");