Commit Graph

373 Commits

Author SHA1 Message Date
2db56b2f99 feat(glVlisView): changed mesh socket stream to display solution 2025-05-11 14:40:58 -04:00
412a3be2ec refactor(PolytropeOperator): commented out debug code 2025-05-11 14:40:19 -04:00
8b9d46e996 style(NonlinearPowerIntegrator): removed old comments 2025-05-11 14:38:50 -04:00
3d33839028 feat(NonlinearPowerIntergrator): increased robustness to theta ~ 0 and theta < 0 2025-05-11 14:38:22 -04:00
454d49c3d3 style(polySolver): removed redundant lines 2025-05-11 14:37:26 -04:00
d78f09623c refactor(network): header guard -> pragma once 2025-05-06 15:27:40 -04:00
45c6c267d2 refactor(resources): changed resources module name to macros (to prevent conflict with resource) 2025-05-05 15:23:36 -04:00
ecbf65c71b refactor(gitignore): pulled gitignore from main 2025-05-05 15:22:39 -04:00
7ae0c63b7f refactor(meshView): removed unused capture in anonymous function 2025-04-30 07:37:09 -04:00
afccf30840 refactor(resource): increased const correctness 2025-04-30 07:36:23 -04:00
90083113b5 refactor(probe): removed old cout debug statements 2025-04-30 07:35:27 -04:00
ff1df81e2b refactor(mfem_smout): broke logic saving sparse matrix into two methods 2025-04-30 07:33:37 -04:00
dee6ca80f4 fix(operator): changed MULT (residuals) to deal with negated M properly 2025-04-30 07:32:56 -04:00
ed4b6404ab refactor(poly): refactored initializer 2025-04-30 07:28:00 -04:00
424f6eee9b refactor(meshGeneration): working on gmsh to generate curvilinear isogeomatric spherical mesh 2025-04-30 07:26:58 -04:00
ec37fda35b feat(meshIO): framework for handling curvilinear meshes
meshIO now has a framework to set the curvature of an input mesh. This is still an early and incomplete implimentation. This has also changed the call signature a bit for GetMesh as that now returns a reference to the mesh (which is fully owned by the meshIO object)

BREAKING CHANGE: all calls to meshIO::GetMesh now must expect a mfem::Mesh&
2025-04-29 15:52:56 -04:00
ae5d61bd75 feat(poly): locking phi surface flux and fixed phi boundary condition application 2025-04-28 13:44:27 -04:00
d678c4bc33 refactor(resource-manager): minor style changes and comments 2025-04-28 13:43:57 -04:00
d3a5e4615b fix(polyCoeff.h): removed const qualifier on stuct 2025-04-25 12:41:14 -04:00
33c15b5713 fix(polyCoeff.h): removed accidently deleted file 2025-04-25 12:26:32 -04:00
cb6d0b8bd4 Merge branch 'main' into feature/mixedPolytrope
# Conflicts:
#	src/poly/coeff/meson.build
#	src/poly/coeff/private/polyCoeff.cpp
#	src/poly/utils/meson.build
#	src/poly/utils/private/operator.cpp
#	src/resources/macros/warning_control.h
#	src/types/public/4DSTARTypes.h
2025-04-25 12:24:44 -04:00
9ed4e6f328 Merge pull request #43 from tboudreaux/feature/polytropeOperator
Feature/polytrope operator
2025-04-25 11:57:34 -04:00
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