fixed_point

Module

Description

$Id$

Find the fixed points of a field line mapping. Field line mappings are maps of F(x,y) through field lines which trace point at z = z0 to z = z1. Fixed points are such that F(x,y) = (x,y)


Quick access

Variables:

buffer_tmp, fidx, fidx_all, fidx_other, fidx_read, finished_fixed, fixed_points, fixed_points_all, merge_fixed, nfixed_points, tfixed_points, tfixed_points_write, xt, yt, zt

Routines:

edge(), fixed_points_prepare(), get_fixed_point(), get_fixed_points(), pindex(), wfixed_points()

Needed modules

Variables

  • fixed_point/buffer_tmp (3,1000) [real]
  • fixed_point/fidx [integer]
  • fixed_point/fidx_all [integer]
  • fixed_point/fidx_other [integer]
  • fixed_point/fidx_read [real]
  • fixed_point/finished_fixed [integer,optional/default=98]
  • fixed_point/fixed_points (1000,3) [real]
  • fixed_point/fixed_points_all (1000,3) [real]
  • fixed_point/merge_fixed [integer,optional/default=97]
  • fixed_point/nfixed_points [integer,public]
  • fixed_point/tfixed_points [real,public]
  • fixed_point/tfixed_points_write [real]
  • fixed_point/xt (*) [real,pointer]
  • fixed_point/yt (*) [real,pointer]
  • fixed_point/zt (*) [real,pointer]

Subroutines and functions

subroutine  fixed_point/fixed_points_prepare()

Prepare lfixed_points for writing the fixed points into the fixed points file.

14-mar-12/simon: coded

Use :

sub (read_snaptime(), update_snaptime())

Call to:

read_snaptime(), update_snaptime(), trace_single()

subroutine  fixed_point/get_fixed_point(f, point, fixed_point, q, vv)

Finds the fixed point near ‘point’. Returns the position of the fixed point together with the integrated value q.

01-mar-12/simon: coded 09-aug-12/anthony: modified to use Newton’s method

Parameters:
  • f (mx,my,mz,mfarray) [real]

  • point (2) [real]

  • fixed_point (2) [real,out]

  • q [real,out]

  • vv (,,*,*) [real,pointer]

Call to:

trace_single()

function  fixed_point/edge(f, sx, sy, diff1, diff2, phi_min, vv, rec)
Parameters:
  • f (mx,my,mz,mfarray) [real]

  • sx (2) [real]

  • sy (2) [real]

  • diff1 (2) [real]

  • diff2 (2) [real]

  • phi_min [real]

  • vv (,,*,*) [real,pointer]

  • rec [integer]

Return:

dtot [real]

subroutine  fixed_point/pindex(f, sx, sy, diff, phi_min, vv, poincare)

Finds the Poincare index of this grid cell.

01-mar-12/simon: coded

Parameters:
  • f (mx,my,mz,mfarray) [real]

  • sx (2) [real]

  • sy (2) [real]

  • diff (4,2) [real]

  • phi_min [real]

  • vv (,,*,*) [real,pointer]

  • poincare [real]

subroutine  fixed_point/get_fixed_points(f, tracers, vv)

trace stream lines of the vector field stored in f(:,:,:,iaa)

13-feb-12/simon: coded 09-aug-12/anthony: modified to subsample identified cells

Parameters:
  • f (mx,my,mz,mfarray) [real]

  • tracers (,) [real,pointer]

  • vv (,,*,*) [real,pointer]

Use :

sub

Call to:

trace_single(), pindex(), get_fixed_point(), fatal_error(), send_vec(), curl(), sleep()

subroutine  fixed_point/wfixed_points(f, path)

Write the tracers values to tracer.dat. This should be called during runtime.

14-mar-12/simon: coded

Parameters:
Use :

sub, general (keep_compiler_quiet())

Call to:

curl(), get_fixed_point(), sleep(), fatal_error(), send_vec()