111 Commits

Author SHA1 Message Date
d2e43c82f1 feat(discretization): added implementation of checked_block_size
tho see the note in the header, this could be made more general likeley
2026-10-14 10:58:52 -04:00
d3ff5add71 feat(discretization): Added SystemLayout and associated helpers to allow for more robust access to parts of the block system 2026-10-14 10:57:52 -04:00
3ca1385a8c docs(Emily's-rules): added some new rules 2026-10-14 10:06:05 -04:00
5908f49e05 feat(dimensions): added InverseTimeSquared and GravitationalConstant 2026-10-14 10:05:40 -04:00
a9db87b834 feat(geometry/deformation/backend/mfem/detail): added reference tracking structs
Note, I say this in the todo's in the files too. This system is something of a holdover from the older MeanField system which used a bespoke (per module) caching system. We may want to consider ripping this out in favor of the more general depedencies graph system now that we have it in SERiF
2026-10-12 14:25:16 -04:00
0a1fb8d8db feat(geometry/deformation/backend/mfem): added radial_location implementation 2026-10-12 14:10:52 -04:00
eb9da56438 feat(geometry/deformation/backend/mfem/detail): added radial loactor to help identify points on a surface 2026-10-12 14:10:10 -04:00
c440134059 docs(mapping): added doxygen comments 2026-10-12 13:58:37 -04:00
546dc42d3e docs(mapping/compactification): added compactification documentation 2026-10-12 11:16:57 -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
747f37a10e docs(discretization/forms): made some small corrections 2026-10-09 15:59:51 -04:00
8154949bb7 docs(discretization/forms): expanded operand documentation with example 2026-10-09 15:55:57 -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
1348f32312 docs(eos): added doxygen comments throughout 2026-10-05 14:23:58 -04:00
3c4d1614d4 docs(discretization/quadrature): added another doxygen comment 2026-10-05 13:52:39 -04:00
4b742bcaf5 docs(discretization/quadrature): added doxygen docs throughout 2026-10-05 13:51:47 -04:00
36585a9682 docs(discretization/domain): added doxygen comments throughout 2026-10-05 13:22:51 -04:00
54dcd9f3f9 feat(discretiztion/backend/mfem): added boundary_trace and mass_diagonal backend 2026-10-05 13:22:26 -04:00
f1f3e77ea8 docs(domain/mesh): added doxygen comments throughout 2026-10-05 08:09:59 -04:00
0db22935b4 docs(domain/relation): added doxygen comments throughout 2026-10-02 16:18:37 -04:00
80e15b60b5 docs(functional_space): added doxygen comments throughout 2026-10-02 07:28:34 -04:00
05df03b1c1 docs(forms): added doxygen comments throughout 2026-10-01 16:10:32 -04:00
b030d3010f docs(domain): added doxygen comments throughout 2026-10-01 15:20:14 -04:00
f94f4ee8d6 docs(blocks): added doxygen comments 2026-10-01 15:12:07 -04:00
c1ddf6d534 feat(mfem-backend): ported DofMap system from MeanField
Broadly MeanField had a system that would map the full index of degrees of freedom to some reduced index space based on domain support. This system has been cleaned up and ported. Further, we have consolidated this system into the discretization system from where it lived in MeanField (in the operators subsystem)
2026-10-01 15:11:22 -04:00
47e8cd0652 docs(dimensions): added dimension doxygen comments 2026-10-01 15:09:11 -04:00
52c42ec7cd feat(mapper): finished porting over mapper 2026-09-23 09:29:05 -04:00
9e0e1f5c18 Working on more domain mapper translation 2026-09-22 05:30:55 -04:00
ce5809bca9 small formatting 2026-09-20 16:34:00 -04:00