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
ddab27b833
build(build-config): removed unused meson option
2025-05-13 14:23:37 -04:00
5595f7109a
build(hypre): added hypre as a subproject
2025-05-13 14:20:45 -04:00
21c6657dc6
build(hypre-&-mpi): brought hypre and mpi in as dependencies and fixed incorrect branch
2025-05-13 14:20:40 -04:00
678f9b6277
docs(.gitignore): added hypre
2025-05-13 14:19:02 -04:00
534a9cdf4b
feat(polySolver): added polytropic index as a constructor argument for polytrope operator
2025-05-12 14:27:41 -04:00
1ee919a4a9
feat(PolytropeOperator): added polytropic index as a member variable
2025-05-12 14:27:01 -04:00
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