feat(mean_field): added initial implementation

note this implementation lacks many tests
This commit is contained in:
2026-07-15 09:44:43 -04:00
commit 9bc4f2758a
49 changed files with 171811 additions and 0 deletions

View File

@@ -0,0 +1,41 @@
module;
#include "mean_field.h"
export module mean_field:analysis.integral;
export import :fem;
export import :utils.domain;
export import :mapping.domain_mapper;
export import :mapping.types;
export namespace mean_field::analysis {
double domain_integrate_grid_function(
const fem::FEM &fem,
const mfem::GridFunction &gf,
utils::DOMAINS domain = utils::DOMAINS::ALL,
mapping::COORDINATE_SPACE coord_space = mapping::COORDINATE_SPACE::PHYSICAL
);
mfem::Vector get_com(
const fem::FEM &fem,
const mfem::GridFunction &rho
);
void conserve_mass(
const fem::FEM &fem,
mfem::GridFunction &rho,
double target_mass
);
double get_moment_of_inertia(
const fem::FEM &fem,
const mfem::GridFunction &rho
);
double get_mesh_volume(
const fem::FEM& fem,
mapping::COORDINATE_SPACE coordinate_space = mapping::COORDINATE_SPACE::PHYSICAL,
utils::DOMAINS domain = utils::DOMAINS::STELLAR
);
}