87 lines
2.7 KiB
C++
87 lines
2.7 KiB
C++
module;
|
|
#include <mfem.hpp>
|
|
export module mean_field:mapping.transformations;
|
|
export import :mapping.types;
|
|
|
|
export namespace mean_field::mapping {
|
|
void MapHDivFluxToPhysical(
|
|
const MappingPointContext &context,
|
|
const mfem::Vector &reference_flux,
|
|
mfem::Vector &physical_flux
|
|
);
|
|
void MapPhysicalFluxToHDivReference(
|
|
const MappingPointContext &context,
|
|
const mfem::Vector &physical_flux,
|
|
mfem::Vector &reference_flux
|
|
);
|
|
|
|
void MapReferenceGradientToPhysical(
|
|
const MappingPointContext &context,
|
|
const mfem::Vector &reference_gradient,
|
|
mfem::Vector &physical_gradient
|
|
);
|
|
void MapPhysicalGradientToReference(
|
|
const MappingPointContext &context,
|
|
const mfem::Vector &physical_gradient,
|
|
mfem::Vector &reference_gradient
|
|
);
|
|
|
|
void MapReferenceVectorGradientToPhysical(
|
|
const MappingPointContext &context,
|
|
const mfem::DenseMatrix &reference_gradient,
|
|
mfem::DenseMatrix &physical_gradient
|
|
);
|
|
void MapPhysicalVectorGradientToReference(
|
|
const MappingPointContext &context,
|
|
const mfem::DenseMatrix &physical_gradient,
|
|
mfem::DenseMatrix &reference_gradient
|
|
);
|
|
|
|
[[nodiscard]] double MapHDivDivergenceToPhysical(
|
|
const MappingPointContext &context,
|
|
double reference_divergence
|
|
);
|
|
|
|
void ComputeHDivMassTensor(
|
|
const MappingPointContext &context,
|
|
mfem::DenseMatrix &mass_tensor
|
|
);
|
|
void ComputeScalarDiffusionTensor(
|
|
const MappingPointContext &context,
|
|
mfem::DenseMatrix &diffusion_tensor
|
|
);
|
|
|
|
void MapHCurlFieldToPhysical(
|
|
const MappingPointContext &context,
|
|
const mfem::Vector &reference_field,
|
|
mfem::Vector &physical_field
|
|
);
|
|
void MapPhysicalFieldToHCurlReference(
|
|
const MappingPointContext &context,
|
|
const mfem::Vector &physical_field,
|
|
mfem::Vector &reference_field
|
|
);
|
|
void MapHCurlCurlToPhysical(
|
|
const MappingPointContext &context,
|
|
const mfem::Vector &reference_curl,
|
|
mfem::Vector &physical_curl
|
|
);
|
|
void MapPhysicalCurlToHCurlReference(
|
|
const MappingPointContext &context,
|
|
const mfem::Vector &physical_curl,
|
|
mfem::Vector &reference_curl
|
|
);
|
|
void ComputeHCurlMassTensor(
|
|
const MappingPointContext &context,
|
|
mfem::DenseMatrix &mass_tensor
|
|
);
|
|
void ComputeHCurlCurlTensor(
|
|
const MappingPointContext &context,
|
|
mfem::DenseMatrix &curl_tensor
|
|
);
|
|
void ComputeHDivMassTensorVariation(
|
|
const MappingPointContext &context,
|
|
const MappingPointVariation &variation,
|
|
mfem::DenseMatrix &mass_tensor_variation
|
|
);
|
|
} // namespace mean_field::mapping
|