CG分野でももっともポピュラーな方法.下図のように計算点xから-u方向にΔtだけバックトレースして,その位置での速度場u(x_bt, t)を次のステップの速度場u(x, t+Δt)とする方法.下図ではバックトレースに1次関数を用いている.
この方法は大きなタイムステップ幅でも安定して計算できるのが大きな特徴である.
#ref(back_trace.jpg);
セミラグランジュ法ではバックトレースした位置での値を周囲の値を使って補間しなければならない.
一番簡単なのは線形補間を用いる方法である.ただし線形補間は1次精度であり,上記の風上差分と同じぐらい拡散が発生する.
より高精度な補間法を用いることで拡散を抑えることができる.例えば,上記のENOやWENO,下記で示す方法などである.