Smith Variables and Reductions of Interface Conditions

Author: T. Cluzeau(note: ), V. Dolean(note: ), F. Nataf(note: ), A. Quadrat(note: )


Table of Contents


1. Introduction
2. Elasticity 3D
3. Stokes 2D
4. Stokes 3D
5. Oseen 2D
     5.1. Case 1
     5.2. Case 2
     5.3. Case 3
     5.4. Case 4
6. Oseen 3D
     6.1. Case 1
     6.2. Case 2
     6.3. Case 3
     6.4. Case 4
7. Links

1. Introduction

The computation of the Smith normal form S of a matrix R over a univariate polynomial ring A generally yields two involved unimodular matrices E and F satisfying R=ESF. For many applications, this issue is not really important. However, the computation of simple unimodular matrices F whose entries are simple and have physical meanings is an important issue for the reduction of the interface conditions appearing in the domain decomposition algorithms developed in the SADDLES project(note: ). Below, we illustrate how to build a unimodular matrix F satisfying R=ESF, where S is the Smith normal form of R, E a unimodular matrix and the rows of F which correspond to the non-trivial diagonal entries of S can be chosen by the user. This new technique allows us to obtain simple reduced interface conditions as we shall now demonstrate on the Navier-Cauchy, Stokes and Oseen equations.

2. Elasticity 3D

restart:

with(linalg):

with(OreModules):

with(InterfaceConditionsReduction):

We consider the elastostatic equations, i.e., the Navier-Cauchy equations in R 3 . This system is defined by Ry=0, where RA 3×3 is a square matrix of size 3 with entries in the commutative Ore algebra A=Q(λ,μ)[dx,dy,dz] of partial differential operators in dx=/x, dy=/y and dz=/z with coefficients in Q(λ,μ), where λ and μ are the two Lamé constants.

We first define the Ore algebra A and the system matrix R.

A:=DefineOreAlgebra(diff=[dx,x],diff=[dy,y],diff=[dz,z],polynom=[x,y,z],comm=[lambda,mu]):

R := matrix(3, 3,[-2*dx^2*mu-dx^2*lambda-dy^2*mu-dz^2*mu,-dx*dy*(lambda+mu),-dx*dz*(lambda+mu),-dx*dy*(lambda+mu),-dx^2*mu-2*dy^2*mu-dy^2*lambda-dz^2*mu,-dy*dz*(lambda+mu),-dx*dz*(lambda+mu),-dy*dz*(lambda+mu),-dx^2*mu-dy^2*mu-2*dz^2*mu-dz^2*lambda]);

R:=2dx 2 μdx 2 λdy 2 μdz 2 μdxdyλ+μdxdzλ+μdxdyλ+μdx 2 μ2dy 2 μdy 2 λdz 2 μdydzλ+μdxdzλ+μdydzλ+μdx 2 μdy 2 μ2dz 2 μdz 2 λ

Let Δ=dx 2 +dy 2 +dz 2 . The Smith normal form of R is the diagonal matrix having 1, Δ and Δ 2 as diagonal entries.

S:=map(factor,smith(R,dx));

S:=1000dx 2 +dy 2 +dz 2 000dx 2 +dy 2 +dz 2 2

As a consequence the second (resp., third) row of a unimodular matrix F satisfying R=ESF, where E is a unimodular matrix, must be annihilated by the operator Δ (resp., Δ 2 ). To find a set of possible F´s (i.e., possible “Smith variables"), we first compute families of generators of the elements of the A-module M=A 1×3 /(A 1×3 R) respectively annihilated by the differential operators Δ and Δ 2 . This can be done by means of the AnnOp procedure.

Delta:=dx^2+dy^2+dz^2:F2:=AnnOp(Delta,R,A);

F2:=dzμ0dxμdyμdxμ02dxμ+dxλdyλ+2dyμdzλ+2dzμ0dzμdyμ

F3:=AnnOp(Delta^2,R,A);

F3:=2μ 2 +λμ0002μ 2 +λμ0002μ 2 +λμ

Then, the second (resp., third) row of F can be chosen among the rows of F2 (resp., F3). We note that the second (resp., third) row of a possible F can be chosen as a A-linear combination of the rows of F2 (resp., F3). Once these two rows have been chosen, we can try to complement them to a unimodular matrix F which further satisfies that its first row (the one that we need to find) is annihilated by 1, i.e., by the first entry of the diagonal matrix S. As it is illustrated below, this complement does not always exist since the choices made for the second and third row of F may not lead to a unimodular matrix whose first row is annihilated by 1.

The procedure SmithVariablesCompletion takes as inputs the matrix R, the lower part of the Smith form (here diag (Δ,Δ 2 )), the rows of F chosen (here a row of F2 and a row of F3) and a commutative polynomial ring in one variable (here B=Q(λ,μ,dy,dz)[dx]). It decides whether or not the given choice can be complemented as previously explained. If so, then it returns the corresponding matrices E, S and F and [] otherwise. For example, if we choose the fourth row of F2 and the third row of F3 (up to a normalization)

F23:=stackmatrix(row(F2,4),row(F3,3)/(2*mu^2+lambda*mu));

F23:=0dzμdyμ001

and run the procedure

B:=DefineOreAlgebra(diff=[dx,x],polynom=[x],comm=[dy,dz,lambda,mu]):SVC:=SmithVariablesCompletion(R,diag(Delta,Delta^2),F23,B):E:=SVC[1];S:=SVC[2];F:=SVC[3];

E:=2μλdx 2 dy 2 +dz 2 μ2μ+λdydx dy 2 +dz 2 dzμ4μ 2 4λμλ 2 dx dzdy 2 λ+dz 2 μ+dz 2 λ+dy 2 μdxdyλ+μdz 2 μ+2dy 2 μ+dy 2 λ dy 2 +dz 2 dzμ2μ+λdy dy 2 +dz 2 dzdxdzλ+μλ+μdy dy 2 +dz 2 μ2μλ dy 2 +dz 2
S:=1000dx 2 +dy 2 +dz 2 000dx 2 +dy 2 +dz 2 2
F:=1dydx dy 2 +dz 2 dxdy 2 λ+2dz 2 λ+dx 2 λ+3dz 2 μ+2dy 2 μ+2dx 2 μ λ+μdy 2 +dz 2 dz0dzμdyμ001

then we find that this particular choice can be complemented to a unimodular matrix whose first row is annihilated by 1. However, choosing the third row of F2 and the first row of F3, we obtain

F23p:=stackmatrix(row(F2,3),row(F3,1)/(2*mu^2+lambda*mu));

F23p:=2dxμ+dxλdyλ+2dyμdzλ+2dzμ100

and running again the procedure, we find that this choice can not be complemented, which yields an empty output:

SVC:=SmithVariablesCompletion(R,diag(Delta,Delta^2),F23p,B);

[]

Once a “good" choice has been made, we can run the procedure ReducedInterfaceConditions(note: ) to reduce the interface conditions we obtain with the corresponding F. For instance, with the “good choice" previously given, we can reduce the interface conditions of the update step of the algorithm defined by means of the differential operators 1, 1 and Δ, i.e., apply it to U, V and ΔW, whenever U,V,W denote the system variables.

ReducedInterfaceConditions(R,SVC[3],A,[1,1,Delta],[U,V,W]);

[V=0,W=0,U x =0]

To obtain a list of possible reduced interface conditions for the interface conditions defined by means of 1, 1 and Δ for the update step and by dx, dx, dxΔ for the correction step, computed with distinct matrices F constructed as previously explained, we loop over all the possible combinations made with one row of F2 and one row of F3, check whether or not this candidate is “good" (i.e., whether or not the corresponding matrix can be complemented as previously explained) and, if so, compute the corresponding F and then run the procedure ReducedInterfaceConditions.

for i from 1 to rowdim(F3) dofor j from 1 to rowdim(F4) doF23:=stackmatrix(row(F2,i),row(F3,j)/(2*mu^2+lambda*mu)):SVC:=SmithVariablesCompletion(R,diag(Delta,Delta^2),F23,B):if SVC=[] thenprint([[i,j],[]]);elseprint([[i,j],ReducedInterfaceConditions(R,SVC[3],A,[1,1,Delta],[U,V,W]),ReducedInterfaceConditions(R,SVC[3],A,[dx,dx,dx*Delta],[U,V,W])]);fi:od:od:

[[1,1],[]]
[[1,2],[V=0,U x =Wdz,W x =dzU],[U x =dydzVλ+dydzVμ+Wdy 2 μ+2Wdz 2 μ+Wdz 2 λ dz2μ+λ,V x =0,W x =dy 2 +dz 2 U dz]]
[[1,3],[W=0,U x =dyV,W x =dzU],[U x =dydzVλ+dydzVμ+Wdy 2 μ+2Wdz 2 μ+Wdz 2 λ dz2μ+λ,V x =dy 2 +dz 2 U dy,W x =0]]
[[2,1],[]]
[[2,2],[V=0,U x =Wdz,V x =Udy],[U x =2Vdy 2 μ+Vdy 2 λ+Vdz 2 μ+dydzWλ+dydzWμ 2μ+λdy,V x =0,W x =dy 2 +dz 2 U dz]]
[[2,3],[W=0,U x =dyV,V x =Udy],[U x =2Vdy 2 μ+Vdy 2 λ+Vdz 2 μ+dydzWλ+dydzWμ 2μ+λdy,V x =dy 2 +dz 2 U dy,W x =0]]
[[3,1],[]]
[[3,2],[]]
[[3,3],[]]
[[4,1],[U=0,W=dzV dy,V x =W x dz dy],[V=Wdz dy,U x =0,W x =dzV x dy]]
[[4,2],[V=0,W=0,U x =0],[U=0,V x =0,W x =0]]
[[4,3],[V=0,W=0,U x =0],[U=0,V x =0,W x =0]]

With this method, we can find the Smith variables (i.e., the F´s) that lead to the simplest reduced interface conditions (both for the update and the correction steps). From the previous computations, it was obtained for the matrix F formed by the fourth row of F3 and the second (or third) row of F4.

We note that we do not test all the possible unimodular matrices F such that R=ESF, where E unimodular, since the second (resp., third) row of F can be chosen as a B-linear combination of the rows of F2 (resp., F3). Consequently, it might happen that another choice of B-linear combinations provides a simpler form for the reduced interface conditions.

3. Stokes 2D

restart:

with(linalg):

with(OreModules):

with(InterfaceConditionsReduction):

We consider the Stokes equations in R 2 . This system is defined by Ry=0, where RA 3×3 a square matrix of size 3 with entries in the commutative Ore algebra A=Q(ν,c)[dx,dy] of differential operators in dx=/x and dy=/y with coefficients in Q(ν,c), where ν and c are real parameters.

We first define the Ore algebra A and the system matrix R.

A:=DefineOreAlgebra(diff=[dx,x],diff=[dy,y],polynom=[x,y],comm=[nu,c]):

R:=evalm([[-nu*(dx^2+dy^2)+c,0,dx],[0,-nu*(dx^2+dy^2)+c,dy],[dx,dy,0]]);

R:=νdx 2 +dy 2 +c0dx0νdx 2 +dy 2 +cdydxdy0

Let Δ=dx 2 +dy 2 and L=νΔ+c. We can check that the Smith normal form S of R is the diagonal matrix which entries are 1, 1 and LΔ:

S:=map(factor,smith(R,dx));

S:=10001000dx 2 +dy 2 νdx 2 νdy 2 +c ν

As a consequence, the third row of a unimodular matrix F such that R=ESF, where E is a unimodular matrix, must be annihilated by the operator LΔ. We compute a family of generators of the elements of the A-module M=A 1×3 /(A 1×3 R) annihilated by LΔ using the AnnOp procedure.

Delta:=dx^2+dy^2:L:=-nu*Delta+c:F3:=AnnOp(Delta*L,R,A);

F3:=100dydx0νdxνdy1010

We obtain different choices for the last row of F: using the SmithVariablesCompletion procedure, we can try to complement each of the rows of F3 to a unimodular matrix F whose two first rows are annihilated by 1. This yields distinct choices for F from which we can run the ReducedInterfaceConditions procedure to reduce the interface conditions defined by means of the differential operators 1 and L for the update step or by dx or dxL for the correction step.

B:=DefineOreAlgebra(diff=[dx,x],polynom=[x],comm=[dy,nu,c]):for i from 1 to rowdim(F3) doF31:=row(F3,i):SVC:=SmithVariablesCompletion(R,diag(Delta*L),F31,B):if SVC=[] thenprint([[i],[]]);elseprint([[i],ReducedInterfaceConditions(R,SVC[3],A,[1,L],[U,V,P]),ReducedInterfaceConditions(R,SVC[3],A,[dx,dx*L],[U,V,P])]);fi;od:

[[1],[U=0,P x =0],[P=0,V=0]]
[[2],[]]
[[3],[]]
[[4],[P=0,V=0],[U=0,P x =0]]

4. Stokes 3D

restart:

with(linalg):

with(OreModules):

with(InterfaceConditionsReduction):

We consider the Stokes equations in R 3 . This system is defined by Ry=0, where RA 4×4 a square matrix of size 4 with entries in the commutative Ore algebra A=Q(ν,c)[dx,dy,dz] of differential operators in dx=/x, dy=/y and dz=/z with coefficients in Q(ν,c), where ν and c are real parameters.

We first define the Ore algebra A and the system matrix R.

A:=DefineOreAlgebra(diff=[dx,x],diff=[dy,y],diff=[dz,z],polynom=[x,y,z],comm=[nu,c]):

R:=evalm([[-nu*(dx^2+dy^2+dz^2)+c,0,0,dx],[0,-nu*(dx^2+dy^2+dz^2)+c,0,dy],[0,0,-nu*(dx^2+dy^2+dz^2)+c,dz],[dx,dy,dz,0]]);

R:=νdx 2 +dy 2 +dz 2 +c00dx0νdx 2 +dy 2 +dz 2 +c0dy00νdx 2 +dy 2 +dz 2 +cdzdxdydz0

Let Δ=dx 2 +dy 2 +dz 2 and L=νΔ+c. We can check that the Smith normal form S of R is the diagonal matrix which entries are 1, 1, L and LΔ.

S:=map(factor,smith(R,dx));

S:=1000010000νdx 2 νdz 2 νdy 2 +c ν0000νdx 2 νdz 2 νdy 2 +cdx 2 +dy 2 +dz 2 ν

As a consequence, the third (resp., fourth) row of a unimodular matrix F such that R=ESF, where E is a unimodular matrix, must be annihilated by the differential operator L (resp., LΔ). We compute families of generators of the elements of the A-module M=A 1×4 /(A 1×4 R) respectively annihilated by L and by LΔ using the AnnOp procedure.

Delta:=dx^2+dy^2+dz^2:L:=-nu*Delta+c:F3:=AnnOp(L,R,A);

F3:=dz0dx0dydx00νdxdzνdydzνdz 2 cdzνdxdyνdy 2 +νdz 2 c0dydxdydz0νdx 2 +νdy 2 +νdz 2 c00dx0dzdy0

F4:=AnnOp(L*Delta,R,A);

F4:=1000dz0dx0dydx00νdxνdyνdz101000dzdy00010

We obtain different choices for the last two rows of F: using the SmithVariablesCompletion procedure, we can try to complement the matrix formed by one row of F3 and one row of F4 to a unimodular matrix F whose two first rows are annihilated by 1. This yields distinct choices for F from which we can run the ReducedInterfaceConditions procedure to reduce the interface conditions defined by means of the differential operators 1, 1 and L for the update step or by dx, dx and dxL for the correction step. We only print out the result when the choice of the last rows of F is a “good" one, i.e., when it can be complemented the matrix formed by the proposed two rows to a unimodular matrix whose two first rows are annihilated by 1.

B:=DefineOreAlgebra(diff=[dx,x],polynom=[x],comm=[dy,dz,nu,c]):for i from 1 to rowdim(F3) dofor j from 1 to rowdim(F4) doF34:=stackmatrix(row(F3,i),row(F4,j)):SVC:=SmithVariablesCompletion(R,diag(L,L*Delta),F34,B):if SVC=[] thenelseprint([[i,j],ReducedInterfaceConditions(R,SVC[3],A,[1,1,L],[U,V,W,P]),ReducedInterfaceConditions(R,SVC[3],A,[dx,dx,dx*L],[U,V,W,P])]);fi:od:od:

[[1,5],[P=0,V=0,W x =dzU],[P=Wνdy 2 +Wc+νdzdyV dz,P x =0,W x =Uνdy 2 νdz 2 +c νdz]]
[[1,7],[P=0,W=0,W x =dzU],[P=Wνdy 2 +Wc+νdzdyV dz,P x =0,W x =0]]
[[2,5],[P=0,V=0,P x =Uνdz 2 UcνW x dz],[P=νdyWdzVνdz 2 +Vc dy,P x =0,W x =Uνdy 2 νdz 2 +c νdz]]
[[2,7],[P=0,W=0,P x =Uνdz 2 UcνW x dz],[P=νdyWdzVνdz 2 +Vc dy,P x =0,W x =0]]
[[3,1],[P=Wc dz,U=0,P x =0],[P=0,V=Wdz dy,W x =dzP x c]]
[[3,5],[P=0,V=0,W=0],[U=0,P x =0,W x =0]]
[[4,1],[P=νdyWdzVνdz 2 +Vc dy,U=0,P x =0],[P=0,V=Wdz dy,P x =Uc+Uνdz 2 νW x dz]]
[[4,5],[P=0,V=0,W=0],[U=0,P x =0,W x =0]]
[[4,7],[P=0,V=0,W=0],[U=0,P x =0,W x =0]]
[[7,1],[U=0,V=dyW dz,P x =0],[P=0,V=Wdz dy,P x =dzUνdy 2 Uνdz 3 +dzUc+W x νdy 2 +W x νdz 2 dz]]
[[7,5],[P=0,V=0,W=0],[U=0,P x =0,W x =0]]
[[7,7],[P=0,V=0,W=0],[U=0,P x =0,W x =0]]

With this method, we can find the Smith variables (i.e., the F´s) that lead to the simplest reduced interface conditions (both for the update and the correction steps). From the previous computations, it was obtained for instance for a matrix F formed by the seventh row of F3 and the seventh row of F4.

5. Oseen 2D

restart:

with(linalg):

with(OreModules):

with(InterfaceConditionsReduction):

We consider the Oseen equations in R 2 . This system is defined by Ry=0, where RA 3×3 a square matrix of size 3 with entries in the commutative Ore algebra A=Q(ν,c,b1,b2)[dx,dy] of partial differential operators in dx=/x and dy=/y with coefficients in Q(ν,c,b1,b2), where ν,c,b1,b2 are real parameters.

We define the Ore algebra A and the system matrix R.

A:=DefineOreAlgebra(diff=[dx,x],diff=[dy,y],polynom=[x,y],comm=[nu,c,b1,b2]):

R:=evalm([[-nu*(dx^2+dy^2)+c+b1*dx+b2*dy,0,dx],[0,-nu*(dx^2+dy^2)+c+b1*dx+b2*dy,dy],[dx,dy,0]]);

R:=νdx 2 +dy 2 +c+b1dx+b2dy0dx0νdx 2 +dy 2 +c+b1dx+b2dydydxdy0

Let Δ=dx 2 +dy 2 and L=νΔ+b1dx+b2dy+c. We can check that the Smith normal form S of R is the diagonal matrix which entries are 1, 1 and LΔ.

S:=map(factor,smith(R,dx));

S:=10001000dx 2 +dy 2 νdx 2 νdy 2 +c+b1dx+b2dy ν

As a consequence, the third row of a unimodular matrix F such that R=ESF, where E is a unimodular matrix, must be annihilated by the operator LΔ. We compute a family of generators of the elements of the A-module M=A 1×3 /(A 1×3 R) annihilated by LΔ using the AnnOp procedure.

Delta:=dx^2+dy^2:L:=-nu*Delta+b1*dx+b2*dy+c:F3:=AnnOp(L*Delta,R,A);

F3:=100dydx0b1νdxνdy+b21010

We obtain different choices for the last row of F: using the SmithVariablesCompletion procedure, we can try to complement each row of F3 to a unimodular matrix F whose two first rows are annihilated by 1. This yields distinct choices for F which can be used to run the ReducedInterfaceConditions procedure to reduce the interface conditions in the different cases:

5.1. Case 1

Let Robin=νdxb1/2. The interface conditions are given by the differential operators 1 and L for the update step and by Robin and dxL for the correction step.

Robin:=nu*dx-b1/2:for i from 1 to rowdim(F3) doF31:=stackmatrix(row(F3,i)):SVC:=SmithVariablesCompletion(R,diag(L*Delta),F31,B):if SVC=[] thenprint([[i],[]]);elseprint([[i],ReducedInterfaceConditions(R,SVC[3],A,[1,L],[U,V,P]),ReducedInterfaceConditions(R,SVC[3],A,[Robin,dx*L],[U,V,P])]):fi:od:

[[1],[U=0,P x =0],[P=0,U=2νdyV b1]]
[[2],[]]
[[3],[P=0,U=Vb2 b1],[P=dyUb1 2 +2Vb1νdy 2 dyVb1b22b2Uνdy 2 +2b2Uc+2Ub2 2 dy b1dy,P x =0]]
[[4],[P=0,V=0],[V=2νdy 2 +c+b2dyU b1dy,P x =0]]

With this method, we can find the Smith variables (i.e., the F´s) that lead to the simplest reduced interface conditions (both for the update and the correction steps). From the previous computations, it was obtained for the matrix formed by the first row of F3.

5.2. Case 2

The interface conditions are given by the differential operators 1 and L for the update step and by dx and RobinΔ for the correction step.

for i from 1 to rowdim(F3) doF31:=stackmatrix(row(F3,i)):SVC:=SmithVariablesCompletion(R,diag(L*Delta),F31,B):if SVC=[] thenprint([[i],[]]);elseprint([[i],ReducedInterfaceConditions(R,SVC[3],A,[1,L],[U,V,P]),ReducedInterfaceConditions(R,SVC[3],A,[dx,Robin*Delta],[U,V,P])]):fi:od:

[[1],[U=0,P x =0],[V=0,P x =2νdy 2 Pb2dyUb1+2νdy 2 Ub1cUb1 b1]]
[[2],[]]
[[3],[P=0,U=Vb2 b1],[P=X Y,P x =Vb1νdy 2 b2Uνdy 2 +b2Uc+Ub2 2 dydyVb1b2 νdy+b2]]

where

X=3νcdyVb1b2+2ν 2 Ub1 2 dy 3 νb1 2 dyUc2b2ν 2 cUdy 2 +2b2νc 2 U+2cVb1ν 2 dy 2 +2ν 2 Vb2dy 3 b13νb1b2 2 dy 2 V3νb1 2 dy 2 Ub2+b1b2 3 dyV+2νdyb2 2 Uc+b1 2 b2Uc+cVb1b2 2 +b1 2 b2 2 Udy,

and

Y=dyb12ν 2 dy 2 3νdyb2+b2 2 .
[[4],[P=0,V=0],[P=dyVb1b2b1Vc+2νcUdy+2b2Uνdy 2 2ν 2 dy 3 U b1dy,P x =Uνdy 2 UcUb2dy+b1dyV]]

With this method, we can find the Smith variables (i.e., the F´s) that lead to the simplest reduced interface conditions (both for the update and the correction step). From the previous computations, it was obtained for the matrix formed by the first row of F3.

5.3. Case 3

The interface conditions are given by the differential operators L and Robin for the update step and by 1 and dxL for the correction step.

for i from 1 to rowdim(F3) doF31:=stackmatrix(row(F3,i)):SVC:=SmithVariablesCompletion(R,diag(L*Delta),F31,B):if SVC=[] thenprint([[i],[]]);elseprint([[i],ReducedInterfaceConditions(R,SVC[3],A,[L,Robin],[U,V,P]),ReducedInterfaceConditions(R,SVC[3],A,[1,dx*L],[U,V,P])]):fi:od:

[[1],[U=2νdyV b1,P x =0],[P=0,U=0]]
[[2],[]]
[[3],[P=0,P x =1/2dyb1 2 U2b2Uνdy 2 +2b2Uc+2Ub2 2 dydyVb1b2+2Vb1νdy 2 νdy+b2],[P=Ub1Vb2,P x =0]]
[[4],[P=0,P x =Uνdy 2 UcUb2dy+1/2b1dyV],[V=0,P x =0]]

With this method, we can find the Smith variables (i.e., the F´s) that lead to the simplest reduced interface conditions (both for the update and the correction step). From the previous computations, it was obtained for the matrix formed by the first row of F3.

5.4. Case 4

The interface conditions are given by the differential operators dx and Δ for the update step and by 1 and RobinΔ for the correction step.

for i from 1 to rowdim(F3) doF31:=stackmatrix(row(F3,i)):SVC:=SmithVariablesCompletion(R,diag(L*Delta),F31,B):if SVC=[] thenprint([[i],[]]);elseprint([[i],ReducedInterfaceConditions(R,SVC[3],A,[dx,Delta],[U,V,P]),ReducedInterfaceConditions(R,SVC[3],A,[1,Robin*Delta],[U,V,P])]):fi:od:

[[1],[U=P x b2dy+c,V=0],[U=0,P x =dy2νdyP+2cνV+2νdyVb2+b1 2 V b1]]
[[2],[]]
[[3],[P=b2dyUb1+cb2V+b2 2 dyV+cUb1 b2dy,P x =Vb1νdy 2 b2Uνdy 2 +b2Uc+Ub2 2 dydyVb1b2 νdy+b2],[P=Ub1Vb2,P x =X Y]]
[[4],[P=Vb2dy+c dy,P x =Uνdy 2 UcUb2dy+b1dyV],[P=Z T,V=0]]

where X,Y,Z and T are four rather involved polynomials which are not printing here.

With this method, we find the Smith variables (i.e., the F´s) that lead to the simplest reduced interface conditions (both for the update and the correction step). From the previous computations, it was obtained from the first row of F3.

6. Oseen 3D

restart:

with(linalg):

with(OreModules):

with(InterfaceConditionsReduction):

We consider the Oseen equations in R 3 . This system is defined by Ry=0, where RA 4×4 is a square matrix of size 4 with entries in the commutative Ore algebra A=Q(ν,c,b1,b2,b3)[dx,dy,dz] of differential operators in dx=/x, dy=/y and dz=/z with coefficients in Q(ν,c,b1,b2), where ν,c,b1,b2,b3 are real parameters.

We first define the Ore algebra A and the system matrix R.

A:=DefineOreAlgebra(diff=[dx,x],diff=[dy,y],diff=[dz,z],polynom=[x,y,z],comm=[nu,c,b1,b2,b3]):

L:=-nu*dx^2-nu*dy^2-nu*dz^2+b1*dx+b2*dy+b3*dz+c;R:=evalm([[L,0,0,dx],[0,L,0,dy],[0,0,L,dz],[dx,dy,dz,0]]);

L:=νdx 2 +b1dxνdy 2 νdz 2 +c+b2dy+b3dz
R:=L00dx0L0dy00Ldzdxdydz0

Let Δ=dx 2 +dy 2 +dz 2 and L=νΔ+b1dx+b2dy+b3dz+c. We can check that the Smith normal form S of R is the diagonal matrix which entries are 1, 1, L and LΔ.

S:=map(factor,smith(R,dx));

S:=1000010000L ν0000Ldx 2 +dy 2 +dz 2 ν

As a consequence, the third (resp., fourth) row of a unimodular matrix F such that R=ESF, where E is a unimodular matrix, must be annihilated by the operator L (resp., LΔ). We compute families of generators of the elements of the A-module M=A 1×4 /(A 1×4 R) respectively annihilated by L and LΔ using the AnnOp procedure.

Delta:=dx^2+dy^2+dz^2:L:=-nu*Delta+b1*dx+b2*dy+b3*dz+c:F3:=AnnOp(L,R,A);

F3:=
dz0dx0dydx00dzνdxdzb1b2dz+νdydzcb3dz+νdz 2 dzdxνdyb1dyνdy 2 +νdz 2 b3dzcb2dy0dydxdydz0νdx 2 b1dx+νdy 2 +νdz 2 b3dzcb2dy00dx0dzdy0

F4:=AnnOp(L*Delta,R,A);

F4:=1000dz0dx0dydx00b1νdxνdy+b2b3dzν101000dzdy00010

We obtain different choices for the last rows of F: using the SmithVariablesCompletion procedure, we can try to complement a matrix formed by one row of F3 and one row of F4 to a unimodular matrix F whose two first rows are annihilated by 1. This yields distinct choices for F which can be used to run the ReducedInterfaceConditions procedure to reduce the interface conditions in the distinct cases:

6.1. Case 1

Let Robin=νdxb1/2. The interface conditions are defined by means of the differential operators 1, L and 1 for the update step and by Robin, Robin and dxL for the correction step. We run the algorithms for all the distinct choices for F.

B:=DefineOreAlgebra(diff=[dx,x],polynom=[x],comm=[dy,dz,nu,c,b1,b2,b3]):Robin:=nu*dx-b1/2:for i from 1 to rowdim(F3) dofor j from 1 to rowdim(F4) doF34:=stackmatrix(row(F3,i),row(F4,j));SVC:=SmithVariablesCompletion(R,diag(L,L*Delta),F34,B);if SVC=[] thens:=[[i,j],[]]:elses:=[[i,j],ReducedInterfaceConditions(R,SVC[3],A,[1,L,1],[U,V,W,P]),ReducedInterfaceConditions(R,SVC[3],A,[Robin,Robin,dx*L],[U,V,W,P])]:fi:od:od:

Since the results are quite large, we only give the simplest reduced interface conditions (both for the update and the correction step of the algorithm): it is obtained by choosing the first row of F3 and the seventh row of F4.

[[P=0,W=0,W x =dzU],
[P=1/2W x b1 2 +b1 2 dzU+2b1dzνdyV4ν 2 dy 2 W x +4b3dzνW x +4cνW x +4b2dyνW x dzb1,W=2νW x b1,P x =0]]

6.2. Case 2

The interface conditions are defined by means of the differential operators 1, L and 1 for the update step and by Robin, RobinΔ and dx for the correction step. We run the algorithms for all the distinct choices for F.

for i from 1 to rowdim(F3) dofor j from 1 to rowdim(F4) doF34:=stackmatrix(row(F3,i),row(F4,j));SVC:=SmithVariablesCompletion(R,diag(L,L*Delta),F34,B);if SVC=[] thens:=[[i,j],[]]:elses:=[[i,j],ReducedInterfaceConditions(R,SVC[3],A,[1,L,1],[U,V,W,P]),ReducedInterfaceConditions(R,SVC[3],A,[Robin,Robin*Delta,dx],[U,V,W,P])]:fi:od:od:

Since the results are quite large, we only give the simplest reduced interface conditions (both for the update and the correction step of the algorithm): it is obtained by choosing the first row of F3 and the seventh row of F4.

[[P=0,W=0,W x =dzU],[P=2νdzP x 2Wνdy 2 b12νWb1dz 2 +b1Wb3dz+b1Wc+b1Wb2dy dzb1,U=2ν2dzP x +Wdy 2 b1+2Wb1dz 2 +dyb1dzV dzb1 2 ,W x =0]]

6.3. Case 3

The interface conditions are defined by means of the differential operators 1, L and Robin for the update step and by Robin, dxL and 1 for the correction step. We run the algorithms for all the distinct choices for F.

for i from 1 to rowdim(F3) dofor j from 1 to rowdim(F4) doF34:=stackmatrix(row(F3,i),row(F4,j));SVC:=SmithVariablesCompletion(R,diag(L,L*Delta),F34,B);if SVC=[] thens:=[[i,j],[]]:elses:=[[i,j],ReducedInterfaceConditions(R,SVC[3],A,[1,L,Robin],[U,V,W,P]),ReducedInterfaceConditions(R,SVC[3],A,[Robin,dx*L,1],[U,V,W,P])]:fi:od:od:

Since the results are quite large, we only give the simplest reduced interface conditions (both for the update and the correction step of the algorithm): it is obtained by choosing the first row of F3 and the seventh row of F4.

[[P=0,W=2νdzU b1,W x =dzU],[W=0,P x =0,W x =dzUb1+2P+2νdyV b1]]

6.4. Case 4

The interface conditions are defined by means of the differential operators 1, Δ and dx for the update step and by Robin, RobinΔ and 1 for the correction step. We run the algorithms for all the distinct choices for F.

for i from 1 to rowdim(F3) dofor j from 1 to rowdim(F4) doF34:=stackmatrix(row(F3,i),row(F4,j));SVC:=SmithVariablesCompletion(R,diag(L,L*Delta),F34,B);if SVC=[] thens:=[[i,j],[]]:elses:=[[i,j],ReducedInterfaceConditions(R,SVC[3],A,[1,Delta,dx],[U,V,W,P]),ReducedInterfaceConditions(R,SVC[3],A,[Robin,Robin*Delta,1],[U,V,W,P])]:fi:od:od:

Since the results are quite large, we only give the simplest reduced interface conditions (both for the update and the correction step of the algorithm): it is obtained by choosing the first row of F3 and the seventh row of F4.

[P=b3dz+c+b2dyW dz,U=0,W x =0]
[W=0,P x =X 2b1ν,W x =dzUb1+2P+2νdyV b1]]

where

X=b1 2 P+b1 3 U+2νb3dzUb1+2b1νcU+2νb1 2 dyV+2νdyb1b2U+4cVν 2 dy+4ν 2 dy 2 Vb2+4b3dzVν 2 dy+4νb2Pdy+4νcP+4νb3dzP.

7. Links

The computations have been done using the Maple packages OreModules(note: ) and InterfaceConditionsReduction.

This web page has been produced by the LaTeX to xml converter Tralics(note: ).

Notes


Note 1. University of Limoges ; CNRS ; XLIM UMR 6172 ; DMI 123 avenue Albert Thomas, 87060 Limoges cedex, France, cluzeau@ensil.unilim.fr


Note 2. University of Nice Sophia-Antipolis, Laboratoire J.A.Dieudonné, UMR CNRS 6621, Parc Valrose 06108 NICE Cedex 2, France, victorita.dolean@unice.fr


Note 3. , Université Pierre et Marie Curie, Laboratoire J.L. Lions, 175 rue du Chevaleret 75013 Paris, France, nataf@ann.jussieu.fr


Note 4. INRIA Sophia Antipolis, 2004 Route des Lucioles, BP 93, 06902 Sophia Antipolis Cedex, France, Alban.Quadrat@sophia.inria.fr


Note 5. http://hal.archives-ouvertes.fr/hal-00110609/fr/


Note 6. see also http://www-math.unice.fr/~dolean/RedIntCond_v92.xml


Note 7. http://wwwb.math.rwth-aachen.de/OreModules/


Note 8. http://www-sop.inria.fr/miaou/tralics/