noshear

Module

Description

$Id$

This modules deals with all aspects of shear; if no shear is invoked, a corresponding replacement dummy routine is used instead which absorbs all the calls to the shear relevant subroutines listed in here.

** AUTOMATIC CPARAM.INC GENERATION ************************ Declare (for generation of cparam.inc) the number of f array variables and auxiliary variables added by this module

CPARAM logical, parameter :: lshear = .false.


Quick access

Variables:

bcx_periodic, bspline_ay, bspline_iy, bspline_k, diff_hyper3x_mesh, fourier_shift_ghostzones, idiag_deltay, idiag_dtshear, lhyper3x_mesh, lmagnetic_stretching, lmagnetic_tilt, lposdef, lposdef_advection, lrandomx0, lshear_acceleration, lshearadvection_as_shift, ltvd_advection, norder_poly, qshear0, shear_method, sheared_advection_nonfft, shift_ghostzones_nonfft, shift_ghostzones_nonfft_subtask, sini, sshear1, sshear_sini, u0_advec, x0_shear

Routines:

advance_shear(), boundcond_shear(), calc_diagnostics_shear(), calc_pencils_shear(), get_hyper3x_mesh(), get_uy0_shear(), initialize_shear(), pencil_criteria_shear(), pencil_interdep_shear(), read_shear_init_pars(), read_shear_run_pars(), register_shear(), rprint_shear(), shear_before_boundary(), shear_frame_transform(), shear_variables(), sheared_advection_fft(), shearing(), write_shear_init_pars(), write_shear_run_pars()

Needed modules

Variables

Subroutines and functions

subroutine  shear/register_shear()

Initialise variables.

2-july-02/nils: coded

Call to:

svn_id()

subroutine  shear/initialize_shear()

21-nov-02/tony: coded 17-jul-04/axel: Sshear=0 is needed for forcing_hel to work correctly.

subroutine  shear/read_shear_init_pars(iomsg)
Parameters:

iomsg [character,out]

subroutine  shear/write_shear_init_pars(unit)
Parameters:

unit [integer,in]

subroutine  shear/read_shear_run_pars(iomsg)
Parameters:

iomsg [character,out]

subroutine  shear/write_shear_run_pars(unit)
Parameters:

unit [integer,in]

subroutine  shear/shear_before_boundary(f)

Actions to take before boundary conditions are set.

1-may-08/anders: coded

Parameters:

f (,,*,*) [real,contiguous]

subroutine  shear/pencil_criteria_shear()

All pencils that the Shear module depends on are specified here.

01-may-09/wlad: coded

subroutine  shear/pencil_interdep_shear(lpencil_in)

Interdependency among pencils from the Shear module is specified here.

01-may-09/wlad: coded

Parameters:

lpencil_in (npencils) [logical]

subroutine  shear/calc_pencils_shear(f, p)

Calculate Shear pencils. Most basic pencils should come first, as others may depend on them.

01-may-09/wlad: coded

Parameters:
  • f (,,*,*) [real,in,contiguous]

  • p [pencil_case,in]

subroutine  shear/shearing(f, df, p)

Calculates the actual shear terms

2-july-02/nils: coded

Parameters:
  • f (,,*,*) [real,contiguous]

  • df (mx,my,mz,mvar) [real]

  • p [pencil_case]

subroutine  shear/calc_diagnostics_shear(p)
Parameters:

p [pencil_case]

subroutine  shear/advance_shear(f, df, dt_shear)

Dummy routine: deltay remains unchanged.

18-aug-02/axel: incorporated from nompicomm.f90

Parameters:
  • f (,,*,*) [real,contiguous]

  • df (mx,my,mz,mvar) [real]

  • dt_shear [real]

subroutine  shear/sheared_advection_fft(a, comp_start, comp_end, dt_shear)

dummy

Parameters:
  • a (,,*,*) [real,inout]

  • comp_start [integer,in]

  • comp_end [integer,in]

  • dt_shear [real,in]

subroutine  shear/boundcond_shear(f, ivar1, ivar2)

Dummy routine.

01-oct-07/anders: coded

Parameters:
  • f (,,*,*) [real,contiguous]

  • ivar1 [integer]

  • ivar2 [integer]

subroutine  shear/shear_variables(f, df, nvars, jstart[, jstep[, shear1]])

Dummy routine.

28-apr-11/wlad: coded 02-aug-11/MR: added optionals jstep,shear1

Parameters:
  • f (,,*,*) [real,in,contiguous]

  • df (,,*,*) [real,inout,contiguous]

  • nvars [integer,in]

  • jstart [integer,in]

  • jstep [integer,in,]

  • shear1 [logical,in,]

subroutine  shear/rprint_shear(lreset[, lwrite])

Dummy routine.

02-jul-04/tobi: coded

Parameters:
  • lreset [logical]

  • lwrite [logical]

subroutine  shear/get_uy0_shear(uy0_shear[, x])

Gets the shear velocity.

08-oct-13/ccyang: coded

Parameters:
  • uy0_shear (*) [real,out]

  • x (*) [real,in,]

subroutine  shear/get_hyper3x_mesh(lhyper3x_mesh_out, diff_hyper3x_mesh_out)

Gets module variables lhyper3x_mesh and diff_hyper3x_mesh.

04-jun-14/ccyang: coded

Parameters:
  • lhyper3x_mesh_out [logical,out]

  • diff_hyper3x_mesh_out [real,out]

subroutine  shear/shear_frame_transform(a[, tshift])

Transforms a variable a from lab frame to shear frame in the x space

31-jun-21/hongzhe: coded

Parameters:
  • a (nx,ny,nz) [real,inout]

  • tshift [real,in,]