Files
MeanField/libmeanfield/interface/analysis/integral.cppm
Emily Boudreaux 9bc4f2758a feat(mean_field): added initial implementation
note this implementation lacks many tests
2026-07-15 09:44:43 -04:00

42 lines
1.0 KiB
C++

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
);
}