Commit Graph

26 Commits

Author SHA1 Message Date
9760e46477 feat(equations): simplified the supported equation set
previously we modeled gravity as a mixed formulation. However, this turns out to not be needed with the improved surface prescription. Removing this and returning to a simpler gravity system dramatically reduces the number of unknowns and therefore speeds up the system.
2026-11-09 13:08:08 -05:00
9a7e4a7112 feat(equations): Loads of simple getters
The continuation and snapshotting systems needed more getters in order to reliably serialize a model. Added those getters
2026-10-14 11:16:29 -04:00
eb521f3f01 feat(equations): Added point-wise datastructurs which equations return to the operator backend
These include all the information needed to integrate the global residual over the domain
2026-10-12 10:55:58 -04:00
0875831525 feat(equations): added rotation_force. This constrains the rotation force based on ridig rotation. When we add differential rotation we will need to dramatically modify this equation 2026-10-12 10:48:08 -04:00
51012252a0 docs(equations): removed old documentation from rigid rotation 2026-10-12 10:33:55 -04:00
f8bc1a37a5 feat(equations): added rigid rotation helper
This is a class which adds some helper utilities for computing the effective potential and the hessian of a body under rigid rotation. Note this is not an equation in and of itself
2026-10-12 10:33:24 -04:00
fee05a621d feat(equations): Added EquationRegistry
This is a compile time pack of equations which can be used to do things like say "this model is described by this set of equations"
2026-10-12 09:37:03 -04:00
cb2ac127aa feat(equations): added pressure_force equation
this equation describes the contribution of pressure to the mechanical balance of the system
2026-10-12 09:15:32 -04:00
1a222ef4b1 feat(equations): Added mixed formulation gravity equations
we solve gravity with a mixed formulation to avoid the loss of one order of accuracy while differentiating the potential.
2026-10-09 16:15:26 -04:00
7432596642 docs(equations): added missing \f for latex rendering 2026-10-08 16:17:17 -04:00
9fd18d834a feat(equations): added mass normalization
This equation weakly constrains the total mass of the system to some prescribed mass by integrating the density over the volume
2026-10-08 16:16:34 -04:00
be9aec541f docs(equations): fixed missing * in doxygen comment preventing it from parsing right 2026-10-08 13:16:51 -04:00
9bd77a661f feat(equations): added hydrostatic_equilibrium equation 2026-10-08 13:11:09 -04:00
6a273fdd9d feat(equations): added gravity force equation. This computes the point-wise gravitational force (which is the residual as generally it should be minimzed). Note that I let the gradient = the negative gravitational acceleration 2026-10-08 12:23:27 -04:00
f2832d4c57 docs(equations): removed old docs 2026-10-08 12:01:20 -04:00
4336a93364 feat(equations): displacement_force
added equation that sums pressure, gravity, and rotation together to get the displacement force. Note that some of the dependencies of this have not been commited yet as they lack documentation
2026-10-08 11:59:57 -04:00
0eef623130 feat(equations): added contribution(s) which allows equations authors to more quickly write equations without writing the boiler plate required by the backend 2026-10-08 11:49:03 -04:00
78c78f6bd4 feat(equations): added compile time concepts and types
These help constrain what are valid equations at compile time thereby preventing invalid equations from causing runtime crashes due to missing methods and members (this does not validate anythinng about the physics of an equation, only that the form of the equation is right). Note that this is done at compile time rather than with runtime polymorphism to avoid both indirection cost but more imporantly to allow the compiler to more easily inline functions and preform other optimizations that indirection can hide.
2026-10-08 11:16:42 -04:00
c8c4b7515d docs(equations): removed some old docs 2026-10-08 11:15:00 -04:00
0571c63fad feat(equations): added central_density
This equation provides a constraint on central density through specific enthalpy (I think this is general so long as the eos can convert, though I wrote this for the barotropic case). This may need to be changed latter to be more general (though also generally we should not constrain central density). this is really there to deal with the specific non-rotating n=3 case where the central density is ill-defined due to a singularity.
2026-10-08 10:44:52 -04:00
ba6264e22c feat(equations): added material centering equation
this equation provides a residual that weakly enforces that some material point should remain at the origin
2026-10-08 10:30:03 -04:00
4cb34acc82 docs(equations): added contributions documentation 2026-10-08 10:28:50 -04:00
c7eab38e1d feat(equations): Added barotropic closure
This enforces that the model density and ethalpy are self consistent with the eos density from the model enthalpy
2026-10-08 09:32:19 -04:00
950f86e9e7 feat(equations/arithmetic): added sum and different equation types
these are needed for things like the displacment force which is the sum of the rotational, gravitational, and pressure forces
2026-10-07 16:15:04 -04:00
9f67fccd45 feat(equations/angular_momentum): added angular momentum constraint equation 2026-10-07 11:14:14 -04:00
47e8cd0652 docs(dimensions): added dimension doxygen comments 2026-10-01 15:09:11 -04:00