Commit Graph

35 Commits

Author SHA1 Message Date
2e9de49f88 refactor(poly): minor comment cleaning up 2025-06-03 08:11:01 -04:00
bd4aebedce refactor(polySolver): turned on preconditioner and removed redundant validation check 2025-05-18 15:33:06 -04:00
534a9cdf4b feat(polySolver): added polytropic index as a constructor argument for polytrope operator 2025-05-12 14:27:41 -04:00
454d49c3d3 style(polySolver): removed redundant lines 2025-05-11 14:37:26 -04:00
ed4b6404ab refactor(poly): refactored initializer 2025-04-30 07:28:00 -04:00
ae5d61bd75 feat(poly): locking phi surface flux and fixed phi boundary condition application 2025-04-28 13:44:27 -04:00
2acc037111 fix(poly): phi boundary values now coorespond to theta flux through polytrope surface 2025-04-25 10:32:06 -04:00
e56ab5644b fix(poly): fixed -M bug in form
MFEM MixedVectorWeakDivergenceIntegrator is actually already -M in our derivation, I have negated this so that Mform -> M directly
2025-04-23 09:13:30 -04:00
e4b56d7ce2 feat(poly): added memory safty flags 2025-04-21 10:18:44 -04:00
09fdff27bc refactor(poly): improved const corectness 2025-04-21 09:22:21 -04:00
1af5bd00a2 refactor(thetaSeriesExpansion): marked parameters as const 2025-04-21 09:09:09 -04:00
513e90b7a0 refactor(solver): renamed setupOperator -> setOperatorEssentialTrueDofs to better reflect method job 2025-04-21 09:05:34 -04:00
30a6cb074f docs(src): updated file headers 2025-04-21 08:56:45 -04:00
431a47b9c7 refactor(poly): updated header guards to pragma once 2025-04-21 08:54:59 -04:00
58cebc6167 feat(poly): preconditioner is now being computed 2025-04-21 08:35:29 -04:00
184f92faf1 refactor(polySolver): removed build_prec method
building and managing has been offloaded to the operator
2025-04-21 08:07:17 -04:00
0cc8e5bdfa feat(polyInitialGuess): use numeric derivitive for phi initial guess 2025-04-18 11:18:55 -04:00
08b68c22de feat(poly): major work on preconditioner for block form of lane emden equation
working on a "smart" schur compliment preconditioner for the block form of the lane emden equation. Currently this is stub and should not be considered usable
2025-04-09 15:17:55 -04:00
acf5367556 fix(poly): bug fixing in block form
currently derivitive constraint is not working
2025-04-03 11:14:50 -04:00
e3afe90f37 feat(poly): moved to a block form for poly
essential dofs can be applied to both theta and phi (grad theta) if we move to a block form. I have done this derivation and made that change so that we can properly apply the central boundary condition to the slope
2025-04-02 14:57:37 -04:00
0880403850 fix(poly): have a much closer to working polytrope, still small divergence near core 2025-03-27 14:26:23 -04:00
b2ddbc41e7 fix(poly): increased default gamma and changed initial guess
The default gamma value has been upped to 1e4 which is enough to strongly constrain the solution to have zero slope at the core region. Further, the initial guess has been changed from a series expansion of theta to a simple quadratic that is one at origin and zero at the polytrope radius. This is faster to evaluate and seems to work just as well.
2025-03-26 12:34:30 -04:00
df3cf68e92 docs(src): updated headers 2025-03-19 13:50:01 -04:00
b3581d11ed feat(poly): added full constraint integrator function
not yet debugged
2025-03-19 13:49:21 -04:00
b98f6b6ebd feat(poly): started work on penalty term in variational form 2025-03-19 10:09:37 -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
b4615fc0aa fix(poly): working on solving polytrope 2025-03-14 09:12:40 -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
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
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
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