# Curvilinear Coordinates Transformation

Curvilinear Coordinates Transformation

In many applications of interest (e.g., flow adjacent to a coastal boundary), the fluid may be confined horizontally within an irregular region. In such problems, a horizontal coordinate system which conforms to the irregular lateral boundaries is advantageous. It is often also true in many geophysical problems that the simulated flow fields have regions of enhanced structure (e.g., boundary currents or fronts) which occupy a relatively small fraction of the physical/computational domain. In these problems, added efficiency can be gained by placing more computational resolution in such regions.

The requirement for a boundary-following coordinate system and for a laterally variable grid resolution can both be met, for suitably smooth domains, by introducing an appropriate orthogonal coordinate transformation in the horizontal. Let the new coordinates be and , where the relationship of horizontal arc length () to the differential distance is given by:

 $StartLayout 1st Row 1st Column left-parenthesis d upper S right-parenthesis Subscript xi Baseline 2nd Column equals left-parenthesis StartFraction 1 Over m EndFraction right-parenthesis d xi 2nd Row 1st Column left-parenthesis d upper S right-parenthesis Subscript eta Baseline 2nd Column equals left-parenthesis StartFraction 1 Over n EndFraction right-parenthesis d eta EndLayout$ (1)

Here, and are the scale factors which relate the differential distances to the actual (physical) arc lengths. Curvilinear Coordinates contains the curvilinear version of several common vector quantities.

Denoting the velocity components in the new coordinate system by

 $StartLayout 1st Row 1st Column ModifyingAbove v With right-arrow dot ModifyingAbove xi With caret 2nd Column equals u 2nd Row 1st Column ModifyingAbove v With right-arrow dot ModifyingAbove eta With caret 2nd Column equals v EndLayout$ (2)

the equations of motion can be re-written (see, e.g., Arakawa and Lamb, 1977) as:

 $StartLayout 1st Row 1st Column StartFraction normal partial-differential Over normal partial-differential t EndFraction left-parenthesis StartFraction upper H Subscript z Baseline u Over m n EndFraction right-parenthesis plus StartFraction normal partial-differential Over normal partial-differential xi EndFraction left-parenthesis StartFraction upper H Subscript z Baseline u squared Over n EndFraction right-parenthesis plus StartFraction normal partial-differential Over normal partial-differential eta EndFraction left-parenthesis StartFraction upper H Subscript z Baseline u v Over m EndFraction right-parenthesis plus 2nd Column StartFraction normal partial-differential Over normal partial-differential sigma EndFraction left-parenthesis StartFraction upper H Subscript z Baseline u normal upper Omega Over m n EndFraction right-parenthesis 2nd Row 1st Column minus StartSet left-parenthesis StartFraction f Over m n EndFraction right-parenthesis plus v StartFraction normal partial-differential Over normal partial-differential xi EndFraction left-parenthesis StartFraction 1 Over n EndFraction right-parenthesis minus u StartFraction normal partial-differential Over normal partial-differential eta EndFraction left-parenthesis StartFraction 1 Over m EndFraction right-parenthesis EndSet 2nd Column upper H Subscript z Baseline v equals 3rd Row 1st Column minus left-parenthesis StartFraction upper H Subscript z Baseline Over n EndFraction right-parenthesis left-parenthesis StartFraction normal partial-differential phi Over normal partial-differential xi EndFraction plus StartFraction g rho Over rho Subscript o Baseline EndFraction StartFraction normal partial-differential z Over normal partial-differential xi EndFraction plus g StartFraction normal partial-differential zeta Over normal partial-differential xi EndFraction right-parenthesis 2nd Column plus 4th Row 1st Column StartFraction 1 Over m n EndFraction StartFraction normal partial-differential Over normal partial-differential sigma EndFraction left-bracket StartFraction left-parenthesis upper K Subscript m Baseline plus nu right-parenthesis Over upper H Subscript z Baseline EndFraction StartFraction normal partial-differential u Over normal partial-differential sigma EndFraction right-bracket plus StartFraction upper H Subscript z Baseline Over m n EndFraction 2nd Column left-parenthesis script upper F Subscript u Baseline plus script upper D Subscript u Baseline right-parenthesis EndLayout$ (3)

 $StartLayout 1st Row 1st Column StartFraction normal partial-differential Over normal partial-differential t EndFraction left-parenthesis StartFraction upper H Subscript z Baseline v Over m n EndFraction right-parenthesis plus StartFraction normal partial-differential Over normal partial-differential xi EndFraction left-parenthesis StartFraction upper H Subscript z Baseline u v Over n EndFraction right-parenthesis plus StartFraction normal partial-differential Over normal partial-differential eta EndFraction left-parenthesis StartFraction upper H Subscript z Baseline v squared Over m EndFraction right-parenthesis plus 2nd Column StartFraction normal partial-differential Over normal partial-differential sigma EndFraction left-parenthesis StartFraction upper H Subscript z Baseline v normal upper Omega Over m n EndFraction right-parenthesis 2nd Row 1st Column plus StartSet left-parenthesis StartFraction f Over m n EndFraction right-parenthesis plus v StartFraction normal partial-differential Over normal partial-differential xi EndFraction left-parenthesis StartFraction 1 Over n EndFraction right-parenthesis minus u StartFraction normal partial-differential Over normal partial-differential eta EndFraction left-parenthesis StartFraction 1 Over m EndFraction right-parenthesis EndSet 2nd Column upper H Subscript z Baseline u equals 3rd Row 1st Column minus left-parenthesis StartFraction upper H Subscript z Baseline Over m EndFraction right-parenthesis left-parenthesis StartFraction normal partial-differential phi Over normal partial-differential eta EndFraction plus StartFraction g rho Over rho Subscript o Baseline EndFraction StartFraction normal partial-differential z Over normal partial-differential eta EndFraction plus g StartFraction normal partial-differential zeta Over normal partial-differential eta EndFraction right-parenthesis 2nd Column plus 4th Row 1st Column StartFraction 1 Over m n EndFraction StartFraction normal partial-differential Over normal partial-differential sigma EndFraction left-bracket StartFraction left-parenthesis upper K Subscript m Baseline plus nu right-parenthesis Over upper H Subscript z Baseline EndFraction StartFraction normal partial-differential v Over normal partial-differential sigma EndFraction right-bracket plus StartFraction upper H Subscript z Baseline Over m n EndFraction 2nd Column left-parenthesis script upper F Subscript v Baseline plus script upper D Subscript v Baseline right-parenthesis EndLayout$ (4)

 $StartLayout 1st Row 1st Column StartFraction normal partial-differential Over normal partial-differential t EndFraction left-parenthesis StartFraction upper H Subscript z Baseline upper C Over m n EndFraction right-parenthesis plus StartFraction normal partial-differential Over normal partial-differential xi EndFraction left-parenthesis StartFraction upper H Subscript z Baseline u upper C Over n EndFraction right-parenthesis plus StartFraction normal partial-differential Over normal partial-differential eta EndFraction left-parenthesis StartFraction upper H Subscript z Baseline v upper C Over m EndFraction right-parenthesis 2nd Column plus StartFraction normal partial-differential Over normal partial-differential sigma EndFraction left-parenthesis StartFraction upper H Subscript z Baseline normal upper Omega upper C Over m n EndFraction right-parenthesis equals 2nd Row 1st Column StartFraction 1 Over m n EndFraction StartFraction normal partial-differential Over normal partial-differential sigma EndFraction left-bracket StartFraction left-parenthesis upper K Subscript m Baseline plus nu right-parenthesis Over upper H Subscript z Baseline EndFraction StartFraction normal partial-differential upper C Over normal partial-differential sigma EndFraction right-bracket plus StartFraction upper H Subscript z Baseline Over m n EndFraction 2nd Column left-parenthesis script upper F Subscript upper C Baseline plus script upper D Subscript upper C Baseline right-parenthesis EndLayout$ (5)

 $rho equals rho left-parenthesis upper T comma upper S comma upper P right-parenthesis$ (6)

 $StartLayout 1st Row 1st Column StartFraction normal partial-differential phi Over normal partial-differential sigma EndFraction equals minus left-parenthesis StartFraction g upper H Subscript z Baseline rho Over rho Subscript o Baseline EndFraction right-parenthesis 2nd Column StartFraction normal partial-differential Over normal partial-differential t EndFraction left-parenthesis StartFraction upper H Subscript z Baseline Over m n EndFraction right-parenthesis plus StartFraction normal partial-differential Over normal partial-differential xi EndFraction left-parenthesis StartFraction upper H Subscript z Baseline u Over n EndFraction right-parenthesis plus 2nd Row 1st Column Blank 2nd Column StartFraction normal partial-differential Over normal partial-differential eta EndFraction left-parenthesis StartFraction upper H Subscript z Baseline v Over m EndFraction right-parenthesis plus StartFraction normal partial-differential Over normal partial-differential sigma EndFraction left-parenthesis StartFraction upper H Subscript z Baseline normal upper Omega Over m n EndFraction right-parenthesis equals 0 period EndLayout$ (7)

All boundary conditions remain unchanged.