biharmonic_energy
biharmonic_energy(V, F, bc='mixedfem_zero_neumann')
Constructs the biharmonic energy matrix Q such that for a per-vertex function u, the discrete biharmonic energy is u'Qu.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
V |
(n,d) numpy array
|
vertex list of a triangle mesh |
required |
F |
(m,3) numpy int array
|
face index list of a triangle mesh |
required |
bc |
string, optional (default 'mixedfem_zero_neumann')
|
Which type of discretization and boundary condition to use. Options are: {'mixedfem_zero_neumann', 'hessian', 'curved_hessian'} - 'mixedfem_zero_neumann' implements the mixed finite element discretization from Jacobson et al. 2010. "Mixed Finite Elements for Variational Surface Modeling". - 'hessian' implements the Hessian energy from Stein et al. 2018. "Natural Boundary Conditions for Smoothing in Geometry Processing". - 'curved_hessian' implements the Hessian energy from Stein et al. 2020 "A Smoothness Energy without Boundary Distortion for Curved Surfaces" via libigl C++ binding. |
'mixedfem_zero_neumann'
|
Returns:
Name | Type | Description |
---|---|---|
Q |
(n,n) scipy csr_matrix
|
biharmonic energy matrix |
Examples:
# Mesh in V,F
import gpytoolbox as gpy
Q = gpy.biharmonic_energy(V,F)
Source code in src/gpytoolbox/biharmonic_energy.py
11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 |
|