140 likes | 253 Views
Grid Coupling in TIMCOM. 鄭偉明 TAY Wee-Beng Department of Atmospheric Sciences National Taiwan University. Motivation. Multi-domain problems Problems which require 2 or more domains (grids) to solve efficiently. Arises due to difference in topography or restriction in computation resources.
E N D
Grid Coupling in TIMCOM 鄭偉明 TAY Wee-Beng Department of Atmospheric Sciences National Taiwan University
Motivation • Multi-domain problems • Problems which require 2 or more domains (grids) to solve efficiently. • Arises due to difference in topography or restriction in computation resources.
Objective • To transfer values from grid A to B and vice versa efficiently and conservatively • Efficiently • Algorithm must not take up too much computational resources. • Relatively simple to program. • Conservatively • Flux must be conserved, minimal dissipation. • No appearance of unrealistic value. • To ensure stability
Multi-domain examples • From simple to complex
Multi-domain in TIMCOM • Features • Both Cartesian grids (TAI and NPB) • Same orientation, fixed in space • NPB is twice the size of TAI • Boundary faces of TAI positioned exactly at center of NPB cells
Algorithm: TAI to NPB grid • UWNPB(JJ,K)= U(I3,J,K) +U(I3,J+1,K) • UWNPB is west face value • U(I,J,K) from TAI • I3 = I0-3
Algorithm: TAI to NPB grid • U2NPB(JJ,K)=0.25*[U2(I2,J,K)+ U2(I1,J,K)+ U2(I2,J+1,K)+ U2(I1,J+1,K)] • U2NPB is center value • U2NPB = U@(I=2) • U2(I,J,K) from TAI • I2 = I0-2 • Average of 4 values • Same for V, S and T • Same for U1NPB, except different cell
Using interpolated values in NPB • U(1,127,K)=IN(2,127,K)*(FLT1*UWNPB(J,K)+FLT2*U(1,127,K)) • U(1,127,K) is face value • IN - Mask array for scalar quantities IN(I,J,K)=1,0 for water, land respectively • UWNPB - Interpolated face value from TAI • FLT1/2 – time filter to improve stability since TAI has finer grid, smaller time step. Use part of old value to improve stability
Using interpolated values in NPB • TMP=U2NPB(J,K)-U1(2,N,K) • TMP represents a small incremental difference • Same effect as previous case to improve stability • U2(2,N,K)=U2(2,N,K)+TMP • U2(2,N,K) is center value • To give a smaller and smoother increment • Improves stability • Same for V, S and T
Using interpolated values in NPB • U2(1,N,K)=U1NPB(J,K) • U2(1,N,K) is center value • U1NPB - Interpolated center value from TAI • U1NPB = U@(I=1) • Same for V, S and T • No time filter due to spatial averaging
Algorithm: NPB to TAI grid • UETAI(J,K)=U(2,(J-2)/2+127,K) • UETAI is east face value • U(I,J,K) from NPB
Algorithm: NPB to TAI grid • UI0TAI(J,K)=U2(3,(J-2)/2+127,K) • UI0TAI is center value • U2(I,J,K) from NPB • Same for V, S and T
Using interpolated values in TAI • U(I1,J,K)=IN(I1,J,K)*UETAI(J,K) • U(I1,J,K) is face value • IN - Mask array for scalar quantities IN(I1,J,K)=1,0 for water, land respectively • No time filter • U2(I0,J,K)=UI0TAI(J,K) • U2(I0,J,K) is center value • No time filter and IN multiplication required
Conclusion • Multi-domain problems requires the use of grid coupling • Objective to transfer values from one grid to another • Efficient and conservative algorithm • Use of filter to ensure smooth transition and stability