In the mixed finite element method for subspace physics simulation, we have three variables: displacements, stretches, and stresses. The simulation employs a minimization-based optimizer that uses a constrained optimization for the positions (x) and stretches (s) at each time step, subject to the constraint function c(x,s)=0c(x, s) = 0c(x,s)=0. The constraint function is defined as c(x,s)=S(x)−sc(x, s) = S(x) - sc(x,s)=S(x)−s, where S(x)S(x)S(x) is the function that gets the stretch matrices from the polar composition of the deformation gradient.

Upon linearizing and solving this minimization using Newton's method, we obtain a constrained quadratic program for the k-th iteration as follows:

Ek(dx,ds)=0.5 dx⊤Mdx−dx⊤f+0.5 ds⊤Hds−ds⊤gsubject toBdx+Cds=0\begin{aligned}
E\_k(dx, ds) &= 0.5\, dx^\top M dx - dx^\top f + 0.5\, ds^\top H ds - ds^\top g \\
\text{subject to} \quad Bdx + Cds &= 0
\end{aligned}Ek​(dx,ds)subject toBdx+Cds​=0.5dx⊤Mdx−dx⊤f+0.5ds⊤Hds−ds⊤g=0​For the subspace component of the algorithm, we introduce subspace matrices WWW and VVV to represent the reduced variables dzxdz\_xdzx​ and dzsdz\_sdzs​, respectively. By redefining dx=Wdzxdx = W dz\_xdx=Wdzx​ and ds=Vdzsds = V dz\_sds=Vdzs​, we aim to significantly reduce the size of the dzxdz\_xdzx​ and dzsdz\_sdzs​ variables compared to dxdxdx and dsdsds.

The initial part of our algorithm focuses on solving for these subspace matrices. Instead of the original quadratic program, we now formulate a minimization problem over the WWW and VVV matrices:

W,V=arg min⁡W,Vtr(0.5 W⊤MW+0.5 V⊤HV)subject toBW+CV=0,W⊤MW=I\begin{aligned}
W, V &= \operatorname\*{arg\,min}\_{W, V} \quad \text{tr}(0.5\, W^\top M W + 0.5\, V^\top H V) \\
\text{subject to} \quad &B W + C V = 0, \\
&W^\top M W = I
\end{aligned}W,Vsubject to​=W,Vargmin​tr(0.5W⊤MW+0.5V⊤HV)BW+CV=0,W⊤MW=I​Once we have found the optimal subspace matrices WWW and VVV, we can substitute them into the original nonlinear optimization problem to obtain a reduced optimization problem. The reduced optimization problem can be formulated as:

dzx,dzs=arg min⁡dzx,dzsE(Wdzx,Vdzs)subject toc(Wdzx,Vdzs)=0\begin{aligned}
dz\_x, dz\_s &= \operatorname\*{arg\,min}\_{dz\_x, dz\_s} \quad E(W dz\_x, V dz\_s) \\
\text{subject to} \quad &c(W dz\_x, V dz\_s) = 0
\end{aligned}dzx​,dzs​subject to​=dzx​,dzs​argmin​E(Wdzx​,Vdzs​)c(Wdzx​,Vdzs​)=0​By solving this reduced optimization problem, we obtain the optimal reduced displacements dzxdz\_xdzx​ and stretches dzsdz\_sdzs​. We can then recover the full space solution by multiplying these reduced variables with the corresponding subspace matrices: dx=Wdzxdx = W dz\_xdx=Wdzx​ and ds=Vdzsds = V dz\_sds=Vdzs​.

This approach allows us to perform the simulation in a lower-dimensional space, resulting in significant computational savings while still providing a good approximation of the full space solution.
아공간 물리 시뮬레이션을 위한 혼합 유한 요소법에는 변위, 신축, 응력의 세 가지 변수가 있습니다. 시뮬레이션은 각 시간 단계의 위치(x) 및 스트레치(s)에 대해 제약 함수 c(x,s)=0c(x,s)=0c(x,s)=0에 따라 제약된 최적화를 사용하는 최소화 기반 옵티마이저를 사용합니다. 제약 함수는 c(x,s)=S(x)-sc(x,s) = S(x) - sc(x,s)=S(x)-s로 정의되며, 여기서 S(x)는 변형 기울기의 극좌표 구성에서 스트레치 행렬을 구하는 함수입니다.뉴턴의 방법을 사용하여 이 최소화를 선형화하고 풀면 다음과 같이 k 번째 반복에 대한 제약된 이차 프로그램을 구할 수 있습니다:Ek(dx,ds)=0.5 dx⊤Mdx-dx⊤f+0.5 ds⊤Hds-ds⊤gsubject toBdx+Cds=0\begin{aligned}E\_k(dx, ds) &= 0.5\, dx^\상단 M dx - dx^\상단 f + 0.5\, ds^\상단 H ds - ds^\상단 g \\.\text{subject to} \quad Bdx + Cds &= 0\end{aligned}Ek(dx,ds)subject toBdx+Cds=0.5dx⊤Mdx-dx⊤f+0.5ds⊤Hds-ds⊤g=0알고리즘의 부분 공간 구성 요소의 경우, 부분 공간 행렬 WWW와 VVV를 도입하여 각각 축소된 변수 dzxdz\_xdzx 및 dzsdz\_sdzs를 표현합니다. dx=Wdzxdx = W dz\_xdx = Wdzx, ds=Vdzsds = V dz\_sds = Vdzs로 재정의함으로써, 우리는 dxdxdx와 dsdsds에 비해 dzxdz\_xdzx 및 dzsdz\_sdzs 변수의 크기를 크게 줄이는 것을 목표로 하고 있습니다.알고리즘의 초기 부분은 이러한 부분 공간 행렬을 푸는 데 중점을 둡니다. 이제 원래의 이차 프로그램 대신 WWW 행렬과 VVV 행렬에 대한 최소화 문제를 공식화합니다:W,V=arg minW,Vtr(0.5 W⊤MW+0.5 V⊤HV)subject toBW+CV=0,W⊤MW=I\begin{aligned}W, V &= \operatorname\*{arg\,min}\_{W, V} \쿼드 \text{tr}(0.5\, W^\상단 M W + 0.5\, V^\상단 H V) \\.\text{subject to} \quad &B W + C V = 0, \\.&W^\top M W = I\end{aligned}W,Vsubject to=W,Vargmintr(0.5W⊤MW+0.5V⊤HV)BW+CV=0,W⊤MW=IO최적의 부분 공간 행렬 WWW와 VVV를 찾았으므로 이를 원래 비선형 최적화 문제에 대입하여 축소된 최적화 문제를 구할 수 있습니다. 축소된 최적화 문제는 다음과 같이 공식화할 수 있습니다:dzx,dzs=arg mindzx,dzsE(Wdzx,Vdzs)subject toc(Wdzx,Vdzs)=0\begin{aligned}dz\_x, dz\_s &= \operatorname\*{arg\,min}\_{dz\_x, dz\_s} \쿼드 E(W dz\_x, V dz\_s) \\.\text{subject to} \quad &c(W dz\_x, V dz\_s) = 0\end{aligned}dzx,dzssubject to=dzx,dzsargminE(Wdzx,Vdzs)c(Wdzx,Vdzs)=0이 축소 최적화 문제를 풀면 최적의 축소 변위 dzxdz\_xdzx와 스트레치 dzsdz\_sdzs를 구할 수 있습니다. 그런 다음 이러한 축소된 변수에 해당 부분 공간 행렬을 곱하여 전체 공간 해를 구할 수 있습니다: dx=Wdzxdx = W dz\_xdx=Wdzx 및 ds=Vdzsds = V dz\_sds=Vdzs.이 접근 방식을 사용하면 저차원 공간에서 시뮬레이션을 수행할 수 있으므로 전체 공간 솔루션에 대한 근사치를 제공하면서 계산을 크게 절약할 수 있습니다.