14eb21bd31
fix(PolytropeOperator): uncommented code that should never have been commented in GetGradient
2025-05-11 15:09:22 -04:00
bee8f693c1
feat(saveBlockFormToBinary): added ability to negate operators in function call
2025-05-11 14:42:47 -04:00
03a7083caf
refactor(testConfig): updated test config
2025-05-11 14:42:04 -04:00
441123ec81
refactor(4DSTARTypes): header guards -> pragma once
2025-05-11 14:41:26 -04:00
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