DMPlexMetricNormalize#

Apply L-p normalization to a metric

Synopsis#

#include "petscdmplex.h"   
PetscErrorCode DMPlexMetricNormalize(DM dm, Vec metricIn, PetscBool restrictSizes, PetscBool restrictAnisotropy, Vec metricOut, Vec determinant)

Input parameters#

  • dm - The DM

  • metricIn - The unnormalized metric

  • restrictSizes - Should maximum/minimum metric magnitudes be enforced?

  • restrictAnisotropy - Should maximum metric anisotropy be enforced?

Output parameters#

  • metricOut - The normalized metric

  • determinant - computed determinant

Options Database Keys#

  • -dm_plex_metric_isotropic - Is the metric isotropic?

  • -dm_plex_metric_uniform - Is the metric uniform?

  • -dm_plex_metric_restrict_anisotropy_first - Should anisotropy be restricted before normalization?

  • -dm_plex_metric_h_min - Minimum tolerated metric magnitude

  • -dm_plex_metric_h_max - Maximum tolerated metric magnitude

  • -dm_plex_metric_a_max - Maximum tolerated anisotropy

  • -dm_plex_metric_p - L-p normalization order

  • -dm_plex_metric_target_complexity - Target metric complexity

See Also#

DMPLEX, DMPlexMetricEnforceSPD(), DMPlexMetricIntersection()

Level#

beginner

Location#

src/dm/impls/plex/plexmetric.c


Edit on GitLab

Index of all DMPlex routines
Table of Contents for all manual pages
Index of all manual pages