2026-08-04 14:24:55 -04:00
|
|
|
module;
|
|
|
|
|
|
|
|
|
|
#include <mfem.hpp>
|
|
|
|
|
|
|
|
|
|
export module mean_field:operators.kernels.pressure_force;
|
|
|
|
|
|
|
|
|
|
export import :fem;
|
|
|
|
|
export import :mapping.domain_mapper;
|
2026-08-23 10:13:53 -04:00
|
|
|
export import :eos.polytrope;
|
2026-08-04 14:24:55 -04:00
|
|
|
|
|
|
|
|
export namespace mean_field::operators::kernels {
|
|
|
|
|
void apply_pressure_force_residual(
|
|
|
|
|
const fem::FEM &f,
|
2026-08-29 08:56:36 -04:00
|
|
|
const mapping::DomainMapper &domainMapper,
|
2026-08-23 10:13:53 -04:00
|
|
|
const eos::Polytrope &barotrope,
|
2026-08-04 14:24:55 -04:00
|
|
|
const mfem::Vector &enthalpyTrue,
|
|
|
|
|
const mfem::Vector &displacementTrue,
|
|
|
|
|
mfem::Vector &residualTrue
|
|
|
|
|
);
|
2026-08-23 10:13:53 -04:00
|
|
|
|
|
|
|
|
void apply_pressure_force_enthalpy_action(
|
|
|
|
|
const fem::FEM &f,
|
2026-08-29 08:56:36 -04:00
|
|
|
const mapping::DomainMapper &domainMapper,
|
2026-08-23 10:13:53 -04:00
|
|
|
const eos::Polytrope &barotrope,
|
|
|
|
|
const mfem::Vector &baseEnthalpyTrue,
|
|
|
|
|
const mfem::Vector &enthalpyVariationTrue,
|
|
|
|
|
const mfem::Vector &displacementTrue,
|
|
|
|
|
mfem::Vector &actionTrue
|
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
void apply_pressure_force_displacement_action(
|
|
|
|
|
const fem::FEM &f,
|
2026-08-29 08:56:36 -04:00
|
|
|
const mapping::DomainMapper &domainMapper,
|
2026-08-23 10:13:53 -04:00
|
|
|
const eos::Polytrope &barotrope,
|
|
|
|
|
const mfem::Vector &baseEnthalpyTrue,
|
|
|
|
|
const mfem::Vector &displacementVariationTrue,
|
|
|
|
|
const mfem::Vector &displacementTrue,
|
|
|
|
|
mfem::Vector &actionTrue
|
|
|
|
|
);
|
2026-08-04 14:24:55 -04:00
|
|
|
} // namespace mean_field::operators::kernels
|