Commit Graph

72 Commits

Author SHA1 Message Date
f512f10096 test(tests/poly): poly test now uses interpolating function to set mesh radius 2025-03-18 11:19:25 -04:00
afc488abd1 fix(poly): coefficients properly handle chain rule 2025-03-18 11:18:46 -04:00
8dcdf92414 feat(poly): interpolating polynomial to find polytrope surface
Instead of treating the polytrope as a free boundary problem I have defined an interpolating polynominal, accurate to within 0.01 percent over n=[0,5) which is used to set the size of the domain for a given n
2025-03-18 10:15:51 -04:00
18e719fba1 refactor(header): brought auto header changes from main into polytrope branch 2025-03-18 07:21:47 -04:00
3f86d0ceb1 docs(src): added file headers to all files 2025-03-17 12:42:33 -04:00
88a45c7d09 test(tests/poly): removed some debugging output from poly test 2025-03-17 11:11:22 -04:00
b4615fc0aa fix(poly): working on solving polytrope 2025-03-14 09:12:40 -04:00
5300fa88a9 pulled from github 2025-03-14 09:11:13 -04:00
e75f9ada09 feat(polyMFEMUtils): changed slope constraint to look at all connected elements 2025-03-14 09:07:51 -04:00
0c2a5e3d9a refactor(polyMFEMUtils): removed unused methods 2025-03-14 08:02:30 -04:00
59162a1a54 feat(poly): constraint integrator
The NewtonSolver has been subclassed to try to auto enforce the zero boundary central condition by modifying the residual vector and the gradient matrix. This is a work in progress

BREAKING CHANGE:
2025-03-05 12:55:53 -05:00
cd6da7065b refactor(poly/coeff): renamed coefficients to be more descriptive 2025-03-05 12:54:47 -05:00
f61c8fae28 fix(poly): working on 3D polytrope
not working yet
2025-03-03 09:54:13 -05:00
6416d95260 feat(meshIO): LinearRescale method added
Rescaling a mesh by a linear transformation is a useful option so that we can start with a single "base" mesh and then rescale it to the dimensions needed for our problem. This commit adds the LinearRescale option too meshIO so that a unit sphere can be turned into a sphere of arbitrary radius (as an example).
2025-02-24 16:35:39 -05:00
d8789bd343 feat(polySolver): getters for polySolver 2025-02-23 14:11:18 -05:00
9925f56e34 fix(poly): polytrope converges to solution
first commit where the polytrope module converges to a solution. I have not yet validated if it is a correct solution
2025-02-20 16:05:02 -05:00
776174c093 refactor(macros): added macros class
macros provides a unified place to define macros which can be accessed at other points in the code. I defined a DEPRICATION_WARNING_OFF macro so we can disable those warnings for times when we cannot control them
2025-02-20 16:04:05 -05:00
ff299f8ce7 fix(poly): changed lambda from fespace to scalar
previously I had a lagrangian multipliers at every element; however, we are enforcing a global constraint so there need only be one lagrangian multiplier
2025-02-20 15:36:46 -05:00
1fd1e624f2 feat(poly): lagrangian constrained weak form of 3D lane-Emden
added a basic implimentation of the 3D lane emden equation using a lagrangian multiplier to constrain the value at the center of a spherical domain
2025-02-20 15:28:00 -05:00
b939fd68fa feat(poly): added first pass implimentation of 3D constrained lane-emden solver
This has not currently been tested and this commit should not be viewed as scientifically complete
2025-02-19 14:35:15 -05:00
7330fb9906 feat(poly): initial build system for polytrope 2025-02-14 10:50:07 -05:00
f4be5b3733 feat(poly): added skeleton of polytrope model
the polytrope module will be used as an initial guess to the solver. A skeleton of this has been imported from https://github.com/tboudreaux/FEMPolytrope

This module will need major updates still to handle 3D, proper boundary conditions, and to incorporate it with the rest of our meshing scheme
2025-02-12 16:44:10 -05:00