Commit Graph

17 Commits

Author SHA1 Message Date
f5dea85db1 fix(PolytropeOperator): seperated boundary aware and unaware operators for M, Q, and D
residual calculation needs to be done when boundary degrees of freedom have not been removed (since their removal takes place in the Mult step in order to introduce the proper restoring force). Whereas jacobian calculation needs to always work from the boundary aware operators (these are sparse matrices)

The other thing to note here is that this seems contrary to a matrix free design. While true it is common practive to assemble linear terms since they are cheap. We still never assemble the non linear matrix form.
2025-05-22 11:30:24 -04:00
b16ba8a7b6 feat(operator): added matrix free inverter and SchurComplement operator
In order to maintain memory efficienty I have implimented a matrix free SchurComplement operator as well as an operator which uses a few iterations of GMRES to approxinate the inverse of any general operator.
2025-05-18 15:32:08 -04:00
1ee919a4a9 feat(PolytropeOperator): added polytropic index as a member variable 2025-05-12 14:27:01 -04:00
412a3be2ec refactor(PolytropeOperator): commented out debug code 2025-05-11 14:40:19 -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
afdebb8636 refactor(operator): added updatePreconditioner method
the preconditioner must be built once before the solver begins to iterater, by putting the logic for this in a dedicated method it becomes cleaner to call
2025-04-21 09:56: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
4a6b7aaa35 feat(polytrope-operator): finished computing the preconditioner 2025-04-21 08:04:49 -04:00
274f24034c refactor(operator.h): removed get block methods 2025-04-21 07:45:17 -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