Commit Graph

204 Commits

Author SHA1 Message Date
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
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
e5864ca31e feat(probe): added glvisview helped method to probe namespace 2025-04-25 11:22:13 -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
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
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
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
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
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
0cc8e5bdfa feat(polyInitialGuess): use numeric derivitive for phi initial guess 2025-04-18 11:18:55 -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
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
0880403850 fix(poly): have a much closer to working polytrope, still small divergence near core 2025-03-27 14:26:23 -04:00
b2ddbc41e7 fix(poly): increased default gamma and changed initial guess
The default gamma value has been upped to 1e4 which is enough to strongly constrain the solution to have zero slope at the core region. Further, the initial guess has been changed from a series expansion of theta to a simple quadratic that is one at origin and zero at the polytrope radius. This is faster to evaluate and seems to work just as well.
2025-03-26 12:34:30 -04:00
7e99c2dd14 build(probe): added macros_dep for warning control 2025-03-26 11:41:34 -04:00
14bc8a49b3 Merge branch 'main' into feature/pointwisePolytrope 2025-03-26 11:38:07 -04:00
edd4c04c64 feat(composition): added mix method to combine compositions. Also overloaded the + operator to mix with an assumed fraction of 50/50 2025-03-26 08:07:11 -04:00
0e9a7df381 feat(composition): added ability to change composition modes 2025-03-25 13:01:22 -04:00
cb33f75e0c feat(composition): added numberFrac methods and subset method
Composition can now be placed in either number fraction or mass fraction mode and can (after finalization) convert between them. Subsets of compositions can also be made. Normalization has also been added to finalize. Tests have been added
2025-03-25 12:49:37 -04:00
d64202d6c0 docs(composition): updated mass fracs in docs to more realistic values 2025-03-24 13:20:24 -04:00
170bcb085d build(probe): added probe dependencies to probe_dep 2025-03-24 12:59:43 -04:00
6aa3f90c98 build(composition): added composition module to build 2025-03-24 12:58:49 -04:00
cd022a1f9a feat(composition): added composition class
in order to get composition in a standardized way anywhere in the code we now have a composition class
2025-03-24 12:58:30 -04:00
3c3d714702 feat(composition): added composition module stub 2025-03-24 10:41:13 -04:00
b88606815a refactor(opatIO): removed old opatIO code from 4DSSE 2025-03-24 04:59:01 -04:00
ff87585d71 build(opatIO): broke opatIO out into a seperate module 2025-03-24 04:57:18 -04:00
f6f35996cc fix(opat): added min tolerance for epsilon in case where there are shared indeices 2025-03-22 14:26:08 -04:00
528d2f632b fix(network): fixed missing negative in jacobian energy accounting 2025-03-21 14:46:22 -04:00
59d4c290ba fix(network): added missing negative sign in energy calculation 2025-03-21 14:44:35 -04:00
3109c198cf refactor(network): removed unused phoenix dependency and defauled stiff=false to use explicit solver 2025-03-21 14:35:18 -04:00
7c40db4b09 feat(approx8-network-integrated): added network handleing semantics and incorporated the approx8 network into them 2025-03-21 14:03:18 -04:00
Aaron Dotter
c58bd50f01 refactor(network) Added header file 2025-03-21 12:08:40 -04:00
6876b87947 feat(network): began incoporating network 2025-03-21 10:39:53 -04:00
f042be6b02 Merge pull request #28 from aarondotter/main
adding a nuclear reaction network to feature/nuclearNetwork
2025-03-21 07:17:08 -04:00