next up previous contents index
Next: Gridding of data and Up: Cook-book Previous: Optimal triangulation of data

   
Plotting of vector fields

In many areas, such as fluid dynamics and elasticity, it is desirable to plot vector fields of various kinds. GMT provides a way to illustrate 2-component vector fields using the grdvector  utility. The two components of the field (Cartesian or polar components) are stored in separate grdfiles. In this example we use grdmath  to generate a surface $z(x, y) = x \cdot \exp(-x^2 -y^2)$and to calculate $\nabla z$ by returning the x- and y-derivatives separately. We superpose the gradient vector field and the surface z and also plot the components of the gradient in separate windows:





#!/bin/csh
#        GMT EXAMPLE 13
#
#        @(#)job13.csh    1.5  02/01/99
#
# Purpose:    Illustrate vectors and contouring
# GMT progs:    grdmath, grdcontour, pstext
# Unix progs:    echo, rm
#
grdmath -R-2/2/-2/2 -I0.1 X Y R2 NEG EXP X MUL = z.grd
grdmath z.grd DDX = dzdx.grd
grdmath z.grd DDY = dzdy.grd
grdcontour dzdx.grd -JX3i -B1/1WSne -C0.1 -A0.5 -K -P -G2i/10 -S4 -T0.1i/0.03i \
   -U"Example 13 in Cookbook" >! example_13.ps
grdcontour dzdy.grd -JX -B1/1WSne -C0.05 -A0.2 -O -K -G2i/10 -S4 -T0.1i/0.03i -X3.45i >> example_13.ps
grdcontour z.grd -JX -B1/1WSne -C0.05 -A0.1 -O -K -G2i/10 -S4 -T0.1i/0.03i -X-3.45i -Y3.45i \
   >> example_13.ps
grdcontour z.grd -JX -B1/1WSne -C0.05 -O -K -G2i/10 -S4 -X3.45i >> example_13.ps
grdvector dzdx.grd dzdy.grd -I0.2 -JX -O -K -Q0.03i/0.1i/0.09in0.25i -G0 -S5i >> example_13.ps
echo "3.2 3.6 40 0 6 2 z(x,y) = x * exp(-x@+2@+-y@+2@+)" | pstext -R0/6/0/4.5 -Jx1i -O -X-3.45i \
   >> example_13.ps
\rm -f z.grd dzdx.grd dzdy.grd .gmtcommands





A pstext  call to place a header finishes the plot (Figure 6.13.


  
Figure 6.13: Display of vector fields in GMT
\begin{figure}\centering\epsfig{figure=eps/GMT_example_13.eps}\end{figure}

 



Paul Wessel
1999-12-03