Program Listing for File metrics.h¶
↰ Return to documentation for file (include/immersx/vascularization/metrics.h)
// Copyright (C) 2026 by Luca Heltai
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
#ifndef immersx_vascularization_metrics_h
#define immersx_vascularization_metrics_h
#include <immersx/vascularization/discretization.h>
namespace ImmersX::Vascularization
{
struct MeshLengthScale;
struct CoverageParameters
{
void
validate() const;
double service_radius = 0.;
unsigned int quadrature_order = 2;
};
struct TissueMetrics
{
double background_volume = 0.;
double inside_vessel_volume = 0.;
double volume_fraction = 0.;
double arterial_coverage = 0.;
double venous_coverage = 0.;
double dual_coverage = 0.;
bool coverage_evaluated = false;
double coverage_quadrature_volume = 0.;
double portal_coverage = 0.;
double triple_coverage = 0.;
};
TissueMetrics
measure_tissue(const dealii::Triangulation<3> &background,
const dealii::Mapping<3> &mapping,
const NetworkData &network,
const DiscretizationResult &discretization,
const CoverageParameters ¶meters,
MPI_Comm communicator);
TissueMetrics
measure_tissue(const dealii::Triangulation<3> &background,
const dealii::Mapping<3> &mapping,
const NetworkData &network,
const DiscretizationResult &discretization,
const CoverageParameters ¶meters,
MPI_Comm communicator,
const MeshLengthScale &scale);
} // namespace ImmersX::Vascularization
#endif