Barycentric Volumes and Area

Home    Publications    Blog    About Me   

14 Aug 2017

In a paper I’m currently going over they apply a trick in equation 13 that I haven’t processed through where $Cv$ expresses a map from the nodal velocities of a triangle mesh to face velocities over cut cells. This term is finally doted with area-weighted normals to compute flux in a fluid cell to make hte form $N^TCv$. At a later point a map from these fluxes to vertex velocities is computed via $C^TNp$, for which I’m unsure of the “correctness” of.

This map preserves a self-adjoint structure in the linear system that the paper solves later on, so maintaining this property is important, but if this choice isn’t “correct” perhaps a slight modification could be. This document is my derivation of how this term operates and thoughts.

I will begin by describing barycentric coordinates in order to review how they’re related to areas. I will then start considering how these may be related to an area-weighted map from nodal to cut-cell face velocities.

Definition of triangular barycentric coordinates and area

Say we have a triangle $\mathcal{T}$ that has vertices ${v_i}_{i=\mathbb{Z}_3}$ and wish to represent the position of a point $p$ that lies in hte span of $\mathcal{T}$. Because it lies in the span we of those vertices we know that we can write $p$ as a linear combination of $v_i$:

\[p = \sum_{i \in \mathbb{Z}_3} \alpha_i v_i.\]

By the fact that we have three variables and the plane only requires two variables we clearly have an underdetermined system. This is resolved by adding the constraint that the sum of weights must be unit:

\[1 = \sum_{\mathbb{Z}_3} \alpha_i\]

The unique solution is quite esay to solve for when embedded in $\mathbb{R}^2$, which we will do now. Let us shift the system to hte origin via

\[\mathbf{p} = p - v_2\] \[\mathbf{v}_i = v_i - v_2\]

and construct a matrix in $\mathbb{R}^{2\times 2}$

\[V = \begin{bmatrix}| & |\\ \mathbf{v}_0 & \mathbf{v}_1\\ | & |\end{bmatrix}\]

and now the system we’re solving is

\[\mathbf{p} = V \alpha\]

By applying Cramer’s rule we see that $\alpha_0$ is given by

\[\alpha_0 = \frac { \det\left(\begin{bmatrix}| & |\\ \mathbf{p} & \mathbf{v}_1\\ | & |\end{bmatrix}\right)} { \det\left(V\right)} = \frac{2 |\{p,v_1,v_2\}|} {2|\mathcal{T}|} = \frac{|\{p,v_1,v_2\}|} {|\mathcal{T}|}\]

where \(| \cdot |\) is the volume of $\cdot$ (this is just the standard volume of a simplex formula). without loss of generality we see that the weight in front of the $i$th vertex is the area of the triangle constructed by the other two vertices and the point in question. The summation constraint is trivially satisfied by the fact that the signed volume of each subtriangle $\mathcal{T}_i^p$ is the volume of the entire triangle.

\(|\mathcal{T}| = \sum_{i \in \mathbb{Z}_3} |\mathcal{T}_i^p| \Rightarrow 1 = \sum_{i \in \mathbb{Z}_3} \frac{|\mathcal{T}_i^p|}{|\mathcal{T}|} = \sum_{i \in \mathbb{Z}_3} \alpha_i\).

Intuitively we see that $p$ lies within a triangle if and only if the volume of each $\mathcal{T}_i^p$ is positive. In higher dimensions signed volume ceases to exist, although it can be trivially reconstructed by deriving an isometric map from the span of $\mathcal{T}$ to $\mathbb{R}^2$. Finally, this is all trivially extended to simplices of higher and lower dimension than $3$.

Nodal velocities to face velocities

The paper simply computes the centroid of of the cut cell which resolves to a system, when computing the pressure term associated with cell $C_j$ and ignoring fluid neighboring cells

\[p_j = \sum_{i \in \mathcal{\partial C_j}} a_in_i v(c_i) = \left(N^TCV\right)_j\]

where $N_{ji} = \delta_{i \in \mathcal{\partial C_j}}a_in_i$ and $v(c_i) = C^TV$, i.e $C$ encodes the barycentric weights for the cut cell centroid positions. These barycentric weights are given with respect to the triangles for which each cut cell belongs to, and $V$ encodes the vertex velocities.

We’ll let $A$ be a diagonal area matrix and rewrite the above term as $C^TNA$

comments powered by Disqus