4503ae9906
docs(lane-emden-variation-form-derivation): added derivation write up
2025-04-25 11:41:59 -04:00
56f596500c
feat(poly): added NonlinearPowerIntegrator and PolytropeOperator
...
A custom integrator is required to handle the theta^n term in the lane emden equation, that is written as NonlinearPowerIntegrator which is a mfem::NonlinearFormIntegrator and defines methods to assemble its element vector (function value) and element gradient matrix (jacobian). This is then, along with built in mfem vectors for M Q and D, incorporated into the PolytropeOperator which defines methods for Mult (calculate the residuals of the variational form) and GetGradient (find the jacobian of the system)
2025-04-25 11:41:08 -04:00
a2a003efcb
Merge pull request #41 from tboudreaux/feature/meshGeneration
...
Feature/mesh generation
2025-04-25 11:22:27 -04:00
e5864ca31e
feat(probe): added glvisview helped method to probe namespace
2025-04-25 11:22:13 -04:00
a3c9983d0c
feat(meshView): added basic mesh view utility
2025-04-25 11:21:16 -04:00
2b3330b4f6
feat(meshIO): added linear rescale capability to meshIO
...
loaded meshes can be linearly rescaled (so for example a unit sphere can be rescaled to a sphere of any radius)
2025-04-25 11:13:15 -04:00
9a76c447f1
feat(meshGeneration): added mesh generation scripts and three res of spherical mesh
2025-04-25 11:12:40 -04:00
cac22ab847
Merge pull request #38 from tboudreaux/fix/opatcoremodulename
...
fix(resource-manager): fixed old style calls to opat-core
2025-04-25 10:41:30 -04:00
4fd3643d1e
fix(resource-manager): fixed old style calls to opat-core
...
tboudreaux:feature/mixedPolytrope implimented a fix to bring old style opat-core calls to the more up to date style. This change has been fast forwarded into main
2025-04-25 10:39:10 -04:00
1a616f36bf
build(meson.build): removed -Werror for now
2025-04-25 10:33:18 -04:00
9d81a580b5
refactor(core_midres): core mid res has had its resolution slightly increased
2025-04-25 10:32:46 -04:00
2acc037111
fix(poly): phi boundary values now coorespond to theta flux through polytrope surface
2025-04-25 10:32:06 -04:00
58840d82cd
refactor(poly): renamed core2 to core_hires and updated docs for polysolver
2025-04-23 11:00:32 -04:00
c4709cc48e
refactor(testConfig.yaml): updated test config for debuging
2025-04-23 09:17:55 -04:00
e259fcd0d4
perf(index.yaml): point mesh to mid res for debugging
2025-04-23 09:17:30 -04:00
917dc961de
feat(assets/mesh): added mid resolution mesh
2025-04-23 09:17:00 -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
b203fe625c
perf(index.yaml): temp disable heml table loading to speed up polytrope debugging
2025-04-21 10:18:17 -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
9d164ef35b
feat(operator): smarter memory managment for all invertable matricies
...
approxJacobiInvert now only preforms a reallocation if the result buffer is non null. If it is non null it will preform validation to confirm that the result buffer is the correct size to recive the inverted matrix
2025-04-21 09:55:21 -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
2192dca6d7
build(meson.build): added -Wall and -Werror to 4DSSE default options
...
these are there to enforce best practices and to catch errors soon. See this blog post by one of the curl maintainers (https://daniel.haxx.se/blog/2024/12/12/a-twenty-five-years-old-curl-bug/ )
2025-04-21 08:54:30 -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
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
e7ad73c0f9
refactor(jacobiInvert): moved all jacobi inverting logic into dedicated function
2025-04-21 07:33:39 -04:00
ae317fda5e
fix(tests/meson.build): removed opatIO_sandbox subdir
2025-04-18 11:28:22 -04:00
aee93c8ee0
fix(specs): removed opat spec from source tree as that is in opat-core now
2025-04-18 11:27:14 -04:00
025f55125a
fix(opatIO_sandbox): removed opatIO sandbox code as that is not part of this souce tree anymore
2025-04-18 11:26:54 -04:00
f007e5745a
feat(gitignore): added .idea
2025-04-18 11:20:23 -04:00
5602c39b86
feat(assets): added low res spherical mesh
2025-04-18 11:19:54 -04:00
c5aff2c554
docs(lane-emden-derivation): added derivation
2025-04-18 11:19:36 -04:00
0cc8e5bdfa
feat(polyInitialGuess): use numeric derivitive for phi initial guess
2025-04-18 11:18:55 -04:00
56cefaeb1c
fix(yaml-cpp): locked cmake version for yaml-cpp
2025-04-18 11:18:31 -04:00
c680433740
feat(debugUtils): added more sparse matrix debug utilities
2025-04-14 07:58:37 -04:00
41460acacf
feat(debug-utils): added framework for shared debug util tools
2025-04-10 09:05:30 -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
dcc4381cbb
refactor(poly): removed unused includes
2025-04-02 15:00:28 -04:00
15a020b1bb
test(tests): misc updates (all minor)
2025-04-02 14:57:57 -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
407eef4e48
docs(laneEmdenBlockForm): added derivation pdf
2025-04-02 08:54:15 -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
763bedcf1d
refactor(testConfig): playing around with polytropic index
2025-03-26 12:36:40 -04:00