Dalhousie Geodynamics Group


Department of Oceanography
Dalhousie University
1355 Oxford Street
PO Box 15000
Halifax, NS, B3H 4R2
Canada




SOPALE

Sopale Nested

Processing SOPALE Output

Printing

MOZART

TMM (Thermo-mechanical Model)

old SOPALE documentation

Geodynamics home page

sopale_nested input

Introduction

During the development Sopale Nested, some features (code sections) were re-implemented, and other new features were added. It was often desireable to have more than one (e.g the old and the new version) code section in the one binary. Given the ability to switch between two or more code sections at run time, the tester could be relatively sure that any differences in output could be attributed to the code differences, and not to some artifact, or code, introduced by re-compiling.

A section was added to the input file for these run time controls. On each line there are two strings. Quotes (single or double) are necessary if the string includes spaces. The first is the name of the run-time control, or switch, and the second is its value.

Switch values are echoed to the output file. The output line is usually prefixed with "switch info".

The first line "[code parameters]" or "[switches]" and last line "[end]" are required.

How many switches are required?

None - with the exception of versions from 2011-09-06_2.0 to 2012-06-08_2.3, when the two switches 'lags_from_nest' and 'lags_to_nest' were required.

Default values are provided for all switches.

The Switches

[code parameters]

----- or -----

[switches]

section identifier: sopale_nested uses this to locate the variables that follow. Either [code parameters] or [switches] is acceptable. [switches] has been added because it more accurately reflects the contents of this section.

arc_verbose value

arc_verbose
switch name.
value
= `yes' : turns on extra prints in the arc_region code.
= <anything else> : normal operation.


Implemented: May 2015
Default: no
Recommended value: no

bc_corners_twice value

Determines whether boundary conditions (mechanical and thermal) are applied twice at the top corners.

In theory, boundary conditions should not be applied twice at the corners. sopale_nested uses the 'penalty' method, and double applications can lead to ill-conditioned matrices. Or at best matrices that are not as well conditioned as they could be. This leads to less pefect solutions of the matrix - read less-perfect velocities or temperatures. However we still have to work out, for each corner, and each boundary condition type (mechanical, thermal), which should be applied; the top boundary condition, or the side boundary condition. This is particularly problematic in the thermal solution, where the top and side boundary conditions can be of different types.

Prior to the implementation of this switch, sopale code implemented `yes'. So to produce results that are consistent with previous results, use `yes'.

bc_corners_twice
switch name.
value
= `yes' : boundary conditions will be applied twice to the top corners. For some boundary condition types, this was the default.
= <anything else> : boundary conditions will not be applied twice to the top corners.


Implemented: version 2012-05-02_1.0
version 2012-05-02_1.0 Default: no
version 2012-05-02_2.0 Default: yes
version 2012-05-02_2.0 Recommended value: yes.

bc_mech_set value

bc_mech_set
switch name.
value
= 'yes': when the mechanical boundary conditions are applied, the right hand side (B) of AX=B values are 'set', as opposed to 'added to'
= anything else: when the mechanical boundary conditions are applied, the right hand side (B) of AX=B values are 'added to'


Default: 2012-06-08_1.0: yes
Default: 2012-06-08_2.0: no
Recommended value: depends. See 'compute_mech_rhs_each_iteration'
Since version 2012-06-08_1.0.
discontinued version 2013-05-01_1.0

bc_top_nest value

bc_top_nest
switch name.
value
Determines whether boundary conditions are applied at the top of the SS region. At present, the top of the SS region should be the surface, and results have shown that boundary conditions should not be applied.
= yes : boundary conditions will be applied to the top of SS.
= anything else : boundary conditions will not be applied to the top of SS.


Default: no
Recommended value: no
Discontinued in version 2012-05-02_1.0. See 'bc_top_nest_mech' and 'bc_top_nest_ther'

bc_top_nest_mech value

bc_top_nest_mech
switch name.
value
Determines whether mechanical boundary conditions are applied at the top of a nest.
= yes : mechanical boundary conditions will be applied to the top of a nest.
= anything else : mechanical boundary conditions will not be applied to the top of a nest.


Default: no
Recommended value: no
Since version 2012-05-02_1.0.

bc_top_nest_ther value

bc_top_nest_ther
switch name.
value
Determines whether thermal boundary conditions are applied at the top of a nest.
= yes : thermal boundary conditions will be applied to the top of a nest.
= anything else : thermal boundary conditions will not be applied to the top of a nest.


Default: version 2012-05-02: no
Default: after version 2012-05-02: yes
Recommended value: yes
Since version 2012-05-02_1.0.

c1d_version value

The volume of a cell may change when the density its lagrangian particles change. When that change is applied as a velocity, there is a choice of subroutines to use.

c1d_version
switch name.
value
0 => subroutine c1d (the original) will be used to modify the vertical eulerian velocities.
1 => subroutine c1d_1 will be used to modify the vertical eulerian velocities.


Default: 0
Recommended value: user choice. Results differ.
Since: version 2011-09-06_1.0
Since: June 2015, extended from just COMPACTION to include both ARC and MATCHANGE.

cell_density value

cell_density
switch name.
value
Determines which density (for Lagrangian particles) is used when calculating the body forces on each Eulerian cell. Only effective when eul_density_rule = 1.
= lag : Lagrangian particle densities, as calculated by the compaction module, will be used.
= anything else : the material densities will be used. This is the traditional formula. WRONG if compaction is on.


Default: lag
Recommended value: Default
Since: version 2009-07-26_22.8: Only if compaction is on.
Since: version 2011-09-06_1.0: independent of compaction
Since: 2016-06-20: not currently implemented. Deactivation date not determined.

cell21_code_version value

cell21_code_version
switch name.
value
Determines which code is used to calculate the eulerian element, or cell (cell21) of each lagrangian particle.
1 => original code. has errors.
2 => standard code.
3 => new code. possibly faster, possibly not.
all => calculate cell21 using all three code versions, and print if there are any differences.

Default: 2
Since: version 2013-05-01_1.0

color_cell_code_version value

color_cell_code_version
switch name.
value
Determines which code is used to calculate the color (mechanical and thermal) of each eulerian element.
1 => standard code.
3 => new code. possibly faster, possibly not.
all => calculate the cell colors using both code versions, and print if there are any differences.

Default: 1
Since: version 2013-05-01_1.0

compute_mech_rhs_each_iteration value

compute_mech_rhs_each_iteration
switch name.
value
Determines whether rhs (B in AX=B) is computed once in each time step, or computed in each mechanical iteration of a time step.
= yes : rhs will be computed in each mechanical iteration will be used.
= anything else : rhs will be calculated once, at the top of the mechanical iteration loop.


Default, version 2012-06-08_1.0: no
Default, version 2012-06-08_2.0: yes
Recommended value: user choice.
Since: version 2012-06-08_1.0
discontinued version 2013-05-01_1.0

compute_plithon_version value

compute_plithon_version
switch name.
value
(version 2012-06-08_1.0)
Determines version of the plithon calculation is used.
= dec2011 : The version from sopale_nested version 2011-12-01 will be used.
= anything else, or standard : The version from sopale_nested 2012-06-08 will be used. This version is believed to be correct.
value
(version 2012-06-08_2.0)
Determines version of the plithon calculation is used.
= dec2011 : The version from sopale_nested version 2011-12-01 will be used.
= jun2012 : The version from sopale_nested version 2012-06-08 will be used. This version is believed to be correct.


Default, version 2012-06-08_1.0: standard
Default, version 2012-06-08_2.0: dec2011
Recommended value: user choice
Since: version 2012-06-08_1.0

delta_vel_factor value

delta_vel_factor
switch name.
value
The velocity that pressure pump calculates will be multiplied by this number.


Default: 1.d0
Recommended value: user choice
Since: version 2009-07-26_23.0
Deprecated since: version 2009-07-26_29.0 in favour of the equivalent input variable.
discontinued

dely_dp value

dely_dp
switch name.
value
Determines whether the eulerian and lagrangian grids are calculated using a single precision or double precision increment.
= yes : use a double precision increment.
= anything else : use a single precision increment.


Default: yes
Recommended value: yes
Discontinued in version 2012-06-08_2.0

dtemp_dp value

dtemp_dp
switch name.
value
Determines whether the intial temperature field values are calculated using a single precision or double precision increment.
= yes : use a double precision increment.
= anything else : use a single precision increment.


Default: yes
Recommended value: yes
Discontinued in version 2012-06-08_2.0

eulerian_recolor_calc value

eulerian_recolor_calc
switch name.
value
Determines which code is used to re-color an eulerian cell. At present, eulerian_recolor_cell_2 is broken, and should not be used.
= old : use eulerian_recolor_cell_1 to re-color eulerian cells.
= new : use eulerian_recolor_cell_2 to re-color eulerian cells.


Default: old
Recommended value: old
discontinued version 2013-05-01_1.0

eulerian_recolor_compare value

eulerian_recolor_compare
switch name.
value
Determines whether the two ways (eulerian_recolor_cell_1 and eulerian_recolor_cell_2) of recoloring eulerian cells are compared. At present, eulerian_recolor_cell_2 is broken, and should not be used.
= yes : a new color for eulerian cells will be calculated two ways, and the results compared. DO NOT USE.
= anything else : No comparison will be done.


Default: no
Recommended value: no
discontinued version 2013-05-01_1.0

eulerian_recolor_mod_1 value

eulerian_recolor_mod_1
switch name.
value
Fixes a perceived error in the calculation of the majority material in an eulerian cell.
= yes : the fix is applied.
= anything else : the fix is not applied.


Default: yes
Recommended value: yes
discontinued version 2013-05-01_1.0

eulerian_recolor_mod_2 value

eulerian_recolor_mod_2
switch name.
value
Fixes a perceived error in the calculation of the majority material in an eulerian cell, when there is a tie.
= yes : the fix is applied.
= anything else : the fix is not applied.


Default: yes
Recommended value: yes
discontinued version 2013-05-01_1.0

inject_increment value

inject_increment
switch name.
value
= <integer> If the lagrangian arrays become full, their size will be incremented by
<integer> * <number-of-eulerian-cells>.


Default: 4
Recommended value: user choice
Since: version 2012-06-08_2.0

inject_per_cell value

inject_per_cell
switch name.
value
= <integer> The initial size of the lagrangian arrays will be
nx2 * ny2 + <integer> * <number-of-eulerian-cells>


Default: maximum of <integer> and nix_init * niy_init. See INJECTION.
Recommended value: user choice
Since: version 2012-06-08_2.0 lags_from_nest_code_version

lags_from_nest_code_version value

lags_from_nest_code_version
switch name.
value
determines which code is used when nest lags are received by LS.
1 => standard code
2 => new code, which fills in any 'holes' in the lagrangian arrays. In theory, this will minimize the size of the lagrangian arrays, hence minimize execution time.

Default: 1
Since: version 2013-05-01_1.0

lags_from_nest value

lags_from_nest
switch name.
value

Only in: version 2011-09-06_1.0
= 'valid': only valid lags will be passed by the nest back to LS.
= any-other-value: All lags will be passed by the nest back to LS. Used in conjunction with lags_to_nest = 'all', this is expected to ameliorate the 're-injection' issue.
Default: 'valid' ; This is consistent with versions of sopale_nested prior to 2011-09-06_1.0.
Recommended value: 'all'

Only in: version 2011-09-06_2.0
= 'only valid lag particles inside nest model area'
= 'all lag particles'
= any-other-value: sopale_nested will stop.

Since: version 2011-12-01_1.0
= 'only valid lag particles inside the nest model area'
only valid lags will be passed by the nest back to LS.
= 'all lag particles'
All lags will be passed by the nest back to LS. Used in conjunction with lags_to_nest this is expected to ameliorate the 're-injection' issue.
= any-other-value: sopale_nested will stop.
Default: no default. One of the valid values must be provided.
Recommended value: 'all lag particles'

discontinued version 2013-05-01_1.0

lags_to_nest value

lags_to_nest
switch name.
value

Only in: version 2011-09-06_1.0
= 'in-only': only valid lags inside the nest region of the LS eulerian grid will be passed by LS to the nest.
= any-other-value: LS will pass all lags inside and above the nest area to the nest. Used in conjunction with lags_from_nest = 'all', this is expected to ameliorate the 're-injection' issue.
Default: 'valid' ; This is consistent with versions of sopale_nested prior to 2011-09-06_1.0.
Recommended value: 'all'

Since: version 2011-09-06_2.0
= 'only valid lag particles inside the nest model area'
only valid lags inside the nest region of the LS eulerian grid will be passed by LS to the nest.
= 'all lag particles inside and above nest model area'
LS will pass all lags inside and above the nest area to the nest. Used in conjunction with lags_from_nest this is expected to ameliorate the 're-injection' issue.
= any-other-value: sopale_nested will stop.
Default: no default. One of the valid values must be provided.
Recommended value: 'all lag particles inside and above nest model area'

discontinued version 2013-05-01_1.0

lags_recycle value

lags_recycle
switch name.
value
= no: when a lagrangian particle leaves the eulerian grid, it will be marked 'lost' and never again used. This is the traditional behaviour.
= yes: when a lagrangian particle leaves the eulerian grid, it will be marked 'outside'. It's strain2 will be set to zero. It's colors (mechanical and thermal) will be unchanged. It's velocity will by updated every ALE cycle. Said another way, it will be treated just as all the other lagrangian particles which have not entered the eulerian grid.
= leftandright: lags which leave to the left or right of the eulerian grid will be recycled. lags which leave above or below will not.
Default: yes
Recommended value: yes
Since: 2015 February

'm_recv_boundary 'value'

'm_recv_boundary
switch name.
'value'
Determines whether the boundary of the SS region is included when the eulerian grid, velocities and temperature are over-written in LS by the eulerian grid from SS, just before the ALE loop.
= 'no' : the boundary is not included
= anything else : the boundary is included


Default: yes, up to version 2009-07-22
Default: no, version 2009-07-26 and later
Default: yes, version 2011-12-01_2.0 and later
Recommended value: yes
Discontinued in version 2012-05-02_1.0 .

'm_recv_dstrain1 'value'

'm_recv_dstrain1
switch name.
'value'
Determines whether the eulerian cell values for dstrain1 in LS are over-written by those from SS, just before the ALE loop.
= 'yes' : The over-write happens.
= anything else : no over-write happens.


Default: yes
Recommended value: caveat emptor; this is new code.
Since: version 2009-07-26_23.0

'm_recv_egrid' 'value'

'm_recv_egrid'
switch name.
'value'
Determines whether the eulerian grid in LS is over-written by the eulerian grid from SS, just before the ALE loop.
= 'yes' : The over-write happens.
= anything else : no over-write happens.


Default: yes
Recommended value: yes

'm_recv_epress1' 'value'

'm_recv_epress1'
switch name.
'value'
Determines whether the eulerian cell values for epress1 in LS are over-written by those from SS, just before the ALE loop.
= 'yes' : The over-write happens.
= anything else : no over-write happens.


Default: yes
Recommended value: caveat emptor; this is new code.
Since: version 2009-07-26_23.0

'm_recv_lags' 'value'

'm_recv_lags'
switch name.
'value'
Determines whether the lagrangian particles in LS are over-written by those from SS, at the end of the ALE.
= 'yes' : The over-write happens.
= anything else : no over-write happens.


Default: yes
Recommended value: yes

'm_recv_plitho' 'value'

'm_recv_plitho
switch name.
'value'
Determines whether the eulerian cell values for plitho in LS are over-written by those from SS, just before the ALE loop.
= 'yes' : The over-write happens.
= anything else : no over-write happens.


Default: yes
Recommended value: caveat emptor; this is new code.
Since: version 2009-07-26_23.0

'm_recv_temps' 'value'

'm_recv_temps'
switch name.
'value'
Determines whether the eulerian temperatures in LS are over-written by the eulerian temperatures from SS, just before the ALE loop.
= 'yes' : The over-write happens.
= anything else : no over-write happens.


Default: yes
Recommended value: yes

'm_recv_vels' 'value'

'm_recv_vels'
switch name.
'value'
Determines whether the eulerian velocities in LS are over-written by the eulerian velocities from SS, just before the ALE loop.
= 'yes' : The over-write happens.
= anything else : no over-write happens.


Default: yes
Recommended value: yes

'matchange_code_version' 'value'

'matchange_code version'
switch name.
'value'
0 => use code version 0 when applying matchange rules. This is the previous code.
Does not do thermal matchanges.
1 => use code version 1 when applying matchange rules. This is the previous code,
modified to record rule number and set_mat2strain_to_zero.
Does not do thermal matchanges.
2 => use code version 2 when applying matchange rules. This is method D of the previous code,
modified to record rule number and set_mat2strain_to_zero.
Will do thermal matchanges.
3 => use code version 3 when applying matchange rules.
mechanical and thermal color changes are independent. New in version 2013-05-01_1.0


Default: 0
Default (since version 2011-12-01_7.0): 2
Default (since version 2013-05-01_1.0): 3
Recommended value: 3
Since: version 2009-07-26_29.0

'matchange_report_bycell' 'value'

'matchange_report_bycell'
switch name.
'value'
'yes' => material changes will be reported for each eulerian cell.
'anything else' => no reports.


Default: no
Recommended value: user choice
Since: version 2009-07-26_29.0

'matchange_report_bylag' 'value'

'matchange_report_bylag
switch name.
'value'
'yes' => material changes will be reported for each lagrangian particle.
'anything else' => no reports.


Default: no
Recommended value: user choice
Since: version 2009-07-26_29.0

'matchange_vel_calc' 'value'

'matchange_vel_calc'
switch name.
'value'
1 = no => method1
one velocity calculation, mass conservation done every iteration.
Method 1 gives internally consistent and correct results, but there are pressure spikes in the dynamical pressure (mean stress) from matchanges that make P-T-t paths and peak pressures noisy.
History: This is the traditional code, and the only code until sn version 2012-06-08_1.0

Methods 2-4 are designed both to enforce mass conservation and to remove pressure spikes.

2 = yes => method2    Do not use this method
two velocity calculations
1st: mass conservation not done, dynamical pressures kept
2nd: mass conservation done, only has 1 iteration. Dynamical pressures discarded, all other outputs kept
Method 2 does not work properly. It produces an inconsistent velocity field from the 2nd velocity calculation which is then used in the next timestep.
History: present in sn versions 2012-06-08_1.0, 2012-06-08_1.1, 2012-06-08_2.0, 2012-06-08_2.1, 2012-06-08_2.2, 2012-06-08_2.3, 2012-11-08_1.0, 2012-11-08_1.1, 2012-11-08_2.3, 2012-12-24_1.0, 2013-01-29_1.0, 2013-02-08_1.0, 2013-02-08_2.0, 2013-03-21_1.0, 2013-03-21_1.1
3 => method3: two velocity calculations
1st: mass conservation not done,dynamical pressures, dstrain1, viscosities, velocities kept
2nd: mass conservation done, only has 1 iteration. velocities used only in the remainder of current time step. all other outputs flushed.
Method 3 is an improved version of Method 2 in which an internally consistent velocity field, not including the mass conservation, is used in the next timestep. This method should work but has been found to lead to poor convergence in mechanical iterations and sometimes non-convergence.
History: ported from sn version 2013-03-21_2.0, where it was 'yes'
4 => method4: two velocity calculations
1st: mass conservation done every iteration. all results kept
2nd: mass conservation not done, only has 1 iteration. dynamical pressures kept only for ptt_output and maxptoutput. all other outputs flushed.
Method 4 is an improved version of Method 1. The 2nd velocity calculation is used to calculate the dynamical pressure without the mass conservation. These dynamical pressures will not have pressure spikes but users should inspect the results carefully to assess accuracy.
History: new late August 2013.

versions 2012-06-08_1.0 up to August 2013, except 2013-03-21_2.0
'yes' => When there are matchanges, a separate velocity calculation will be done using the delv_vdt_phase output from the matchange. This is designed to remove the matchange-related spikes in epress and nodpres. Forces the switch bc_mech_set to 'yes' in versions prior to 2013-05-01_1.0.
<any-value-except-yes> use method 1


Default, version 2012-05-02: 'no'
Default, version 2012-06-08_1.0: 'yes'
Default, version 2012-06-08_2.0: 'no'
Default, version 2013-05-01_1.0: 'yes'
Recommended value: user choice.
Use 1 = no for calculations where accurate P-T-t paths and peak pressures are not needed. This method is reliable.
2 = yes Do not use
3 Use with caution and monitor iteration behaviour
4 Potentially the best method but requires testing
Since: version 2012-05-02_1.0. Method 2 added in version 2012-06-08_1.0. Method 3 added to (only) version 2013-03-21_2.0, (as 'yes', replacing the other version 'yes'). Method 3 was then added in August 2013. Method 4 added August 2013.

mpimod_mpi_send value

mpimod_mpi_send
switch name.
value
determines whether sopale_nested's modification to MPI_Send is used. This modification substitutes a "sleep and wait" cycle, with an increasing wait time, for the MPI "busy wait" - which is cpu-intensive.
The switch values mpimod_nsec_start, mpimod_nsec_max, and mpimod_nsec_factor are used by the modified MPI_Send.
This feature has been in sopale_nested since 2009, hard-coded to 'yes'.
yes => use it.
<anything-else> => don't use it.

Default: yes
Since: version 2013-05-01_1.0

mpimod_mpi_recv value

mpimod_mpi_recv
switch name.
value
determines whether sopale_nested's modification to MPI_Send is used. This modification substitutes a "sleep and wait" cycle, with an increasing wait time, for the MPI "busy wait" - which is cpu-intensive.
The switch values mpimod_nsec_start, mpimod_nsec_max, and mpimod_nsec_factor are used by the modified MPI_Recv.
This feature has been in sopale_nested since 2009, hard-coded to 'yes'.
yes => use it.
<anything-else> => don't use it.

Default: yes
Since: version 2013-05-01_1.0

mpimod_mpi_barrier value

mpimod_mpi_barrier
switch name.
value
Turns on an experimental modification to MPI_Barrier. crashes sopale_nested. Do not use it.
yes => use it.
<anything-else> => don't use it.

Default: no.
Since: version 2013-05-01_1.0

mpimod_nsec_start value

mpimod_nsec_start
switch name.
value
The number of nanoseconds mpimod uses for the first sleep cycle.

Default: 1000
Since: version 2013-05-01_1.0

mpimod_nsec_max value

mpimod_nsec_max
switch name.
value
The maximum number of nanoseconds in any mpimod sleep cycle.

Default: 100000
Since: version 2013-05-01_1.0

mpimod_nsec_factor value

mpimod_nsec_factor
switch name.
value
Each mpimod sleep time is multiplied by this number for the subsequent sleep.

Default: 2
Since: version 2013-05-01_1.0

mumps_mech_procs value

mumps_mech_procs
switch name.
value
When mumps is used to solve for velocities, it uses this number to determine how many MPI processes to use.

Default: 4
Since: version 2013-03-21_1.0

mumps_ther_procs value

mumps_ther_procs
switch name.
value
When mumps is used to solve for temperatures, it uses this number to determine how many MPI processes to use.

Default: 4
Since: version 2013-03-21_1.0

'nest_erosion_diff_max' 'value'

'nest_erosion_diff_max'
switch name.
'value'
if nerode_ends=3, erosion for the SS endpoints is set from the corresponding LS values.
=a number, in meters. If the difference between either endpoint and its neighbour is greater than this, an error message will be printed.


Default: 10
Recommended value: not sure

'nest_preserve_endpoints' 'value'

'nest_preserve_endpoints'
switch name.
'value'
'yes' => nest endpoints (upper left x and y, upper right x and y) will be set from the corresponding LS values. This happens when nest values are dumped into LS at the top of the ALE.
anything else => nest endpoints will be calculated by the nest.


Default, version 2012-06-08_1.0: yes
Default, version 2012-06-08_2.0: no
Recommended value: yes
Since version 2012-05-02_1.0

'print_density_col' 'value'

'print_density_col'
switch name.
'value'
= column number (in [1, nx1-1]); for each element in the column, print eulerian density, number, material number, depth and density of all Lag particles in the element. They will be printed both before and after the ALE loop.
= 0, no printing
= - column number (in [1, nx1-1]): if the column number is negative, only lags whose mechanical material is compactible will be printed. Since version 2011-09-06_1.0


Default: 0
Recommended value: user choice. Designed for debugging compaction issues.
Since: version 2009-07-26_22.8

'print_ynext' 'value'

'print_ynext'
switch name.
'value'
= n, n>0. Every nth time step; ynext, y_advected, and their difference (for the surface interface) will be printed.
= 0, no printing


Default: 0
Recommended value: user choice. Designed for debugging sediment issues.
Since: version 2009-07-26_22.8

replace_nest value

replace_nest
switch name.
value
before_ALE => nest values will be dumped into LS at the top of ALE. This is the normal, approved time to do that.
<anything-else> nest values will be dumped into LS at the end of ALE. This is an experiment, and not approved.

Default: before_ALE
Since: version 2012-11-08_2.3

'sediment_recolor_fix' 'value'

'sediment_recolor_fix'
switch name.
'value'
Determines whether lagrangian particles in sediment will be assigned a temperature = added_sed_colort or the temperature of their eulerian cell.
= 'yes' : added_sed_colort will be used.
= anything else : the temperature of the eulerian cell will be used.


Default: yes
Recommended value: yes

'sediment_test 'value'

'sediment_test
switch name.
'value'
'traditional' => The traditional test for sediment zone will be used. When injecting Lagrangian particles, if any corner of the containing cell is above y_advected, it is in sediment zone. This is the default.
anything else => When injecting Lagrangian particles, if all four corners of the containing cell are above y_advected, it is in sediment zone.


Default: trad[itional]
Recommended value: trad[itional]
Since: version 2009-07-26_22.6

'send_outside_intfc_pts' 'value'

'send_outside_intfc_pts'
switch name.
'value'
Determines whether LS sends some of his surface points (before the left edge, and after the right edge, of the SS region) to SS for SS to use when calculating a spline fit to the surface. This feature is now deprecated. In addition, there may be bugs. The variable is currently set to 0, no matter what 'value' is.
= '0' : no points will be sent.
= some number : This number of points will be sent.


Default: 0
Recommended value: 0
Removed in version 2012-01-01_1.0 .

'set_offsets' 'value'

'set_offsets'
switch name.
'value'
= 'yes', the origin of the nest (SS) will be at (0,0). This is the original behaviour.
= 'no', the origin of the nest (SS) will be its real position.
This switch was experimental. As of 2010-04-24, it is no longer functional. The code now implements no only.
previous documentation As more parts of sopale_nested are used, it is becoming apparent that many of the input parameters need to be adjusted by the SS part of the program. Using 'no' for this switch avoids those problems.


Default: 'yes', up to version 2009-07-26_17.
Default: 'no', version 2009-07-26_18 and later.
Recommended value: 'no'.
Since: version 2009-07-26_7.
Removed in version 2012-01-01_1.0 .

'small_distance' 'value'

'small_distance
switch name.
'value'
Sediment will not be injected unless y_next is above y_advected by this much. Default is 1.0 .


Default: 1.0
Default, version 2012-06-08_2.0: 1.0e-3
Recommended value: user choice
Since: version 2009-07-26_22.7

solver_mech value

solver_mech
switch name.
value
Determines which solver is used to solve for velocities
blkfct => use blkfct. This is the solver that sopale was born with.
sn_mumps_client => sopale_nested spawns a mumps server and uses that.

sn_mumps_client provides a speed-up at the cost of extra load on the computer.
The speed-up is more significant for larger eulerian grids.
 
Default: blkfct
Since: version 2013-03-21_1.0

solver_ther value

solver_ther
switch name.
value
Determines which solver is used to solve for temperatures
blkfct => use blkfct. This is the solver that sopale was born with.
sn_mumps_client => sopale_nested spawns a mumps server and uses that.

For the temperature solve, sn_mumps_client has not yet been shown to have a significant advantage over blkfct.
 
Default: blkfct
Since: version 2013-03-21_1.0

'stop_on_zero_mech_iter_error' 'value'

'stop_on_zero_mech_iter_error'
switch name.
'value'
'yes' => When an e= value of zero is encountered during the iteration over velocity solutions, sopale_nested will stop.
<anything else> => sopale_nested will not stop.


Default: 'yes'
Recommended value: user choice.
Since: version 2012-05-02_1.0 .

'temperature_regrid 'value'

temperature_regrid
switch name.
value
This switch controls how the Eulerian temperatures are re-gridded at the bottom of the ALE.
= spline - use tcorrect
= linear - use tcorrect_2
= both - use both tcorrect and tcorrect_2. Compare the results. You don't want to do this on more than one time step.
= none - do not re-grid


Default: spline
Recommended value: spline or none. tcorrect_2 is experimental code.
Since: version 2009-07-26_22.7

'text_output' 'value'

'text_output'
switch name.
'value'
= 'standard', the content of the text output file will be much like SOPALE's file so.xout.
= 'verbose', there will be more in the file. Eulerian velocities at time step 1, iteration 1, will be written to a file.


Default: standard
Recommended value: user choice

transfer_lag_density value

transfer_lag_density
switch name.
value
'no' => lag densities (current, previous) will not be included when lagrangian particles are exchanged between LS and any nest. The effect of this is that each retains its own copy of lag densities. This is expected to affect results when using compaction.
any-other-value => lag densities (current, previous) will be included when lagrangian particles are exchanged between LS and any nest. This is consistent with versions of sopale_nested prior to 2011-09-06_1.0


Default: 'no'
Recommended value: 'no'
Since: version 2011-09-06_2.0
Removed: version 2012-05-02_1.0 . The code implements 'no'.

'viscosities1' 'value'

'viscosities1'
switch name.
'value'
= '0', subroutine 'viscosities1' will calculate viscosity
= '1', subroutine 'viscosities1_1' will calculate viscosity
= '2', subroutine 'viscosities1_2' will calculate viscosity.


Default: 2
Recommended value: user choice
Removed: version 2012-05-02_1.0 . The code implements '2'.

'vylifts_interp' 'value'

'vylifts_interp'
switch name.
'value'
This switch has no effect. The code that uses it (vy_lifts_2) is disabled.


Default: spline
Recommended value: doesn't matter.
Removed in version 2012-01-01_1.0 .

'vylifts_version' 'value'

'vylifts_version'
switch name.
'value'
Determines which version of vy_lifts is used. At present, only one version is enabled, so this switch has no real value. The program will stop if the value is 2.
= '2' : sopale will stop.
= anything else : OK.


Default: old
Recommended value: old
Removed in version 2012-01-01_1.0 .

'which_interp' 'value'

'which_interp'
switch name
'value'
Determines which code is used to set the velocity and temperature of lagrangian particles.
= 'adiabat' : call set_lag_vel_and_temp_adiabat. Based on code-feb07-06-adiabat.
= 'new' : call ser_fastinterp and set_outside_lag_velocity


Default: new
Recommended value: new
Removed: version 2012-06-08_3.0

'which_lagshift' 'value'

'which_lagshift'
switch name
'value'
Determines what initial shift is made to lagrangian grid particles.
= 'adiabat' : lags are always shifted right by 0.333e-6. In addition, if ylagshift_on = 1, they are shifted down by the same amount.
= 'new' : lags are shifted right and down by (length-of-lagrangian-grid)/(number-of-horizontal-points-in-lagrangian-grid)*1.d-9
= 'LAGSHIFT' (version 2009-07-26_29.8 only): lags are shifted as in section LAGSHIFT


Default: new
Recommended value: new
Retired: after version 2011-12-01_2.0

'which_lagstoeul' 'value'

'which_lagstoeul'
switch name
'value'
Determines which code is used to assign lagrangian particles to eulerian cells.
= 'adiabat' : call ser_plt3_adiabat. Based on code-feb07-06-adiabat.
= 'new' : call assign_lags


Default: new
Recommended value: new

'which_make_weighted_density' 'value'

'which_make_weighted_density'
switch name.
'value'
Determines whether the weighted density of eulerian elements is calculated once for each time step (at the begining), or re-calculated every iteration, inside compute_body_forces.
= 'adiabat' : calculate each iteration.
= 'new' : calculate each time step, at the beginning.


Default: new
Recommended value: new
Removed: version 2013-05-01_1.0

'write_f97' 'value'

'write_f97'
switch name.
'value'
Determines whether f97 files will be written, just before the ALE.
= n, where n>0 : f97 file will be written every nth time step.
= n, where n<=0 : no f97 files.


Default: 0
Recommended value: User choice. Designed for debugging.
Since: version 2009-07-26_22.8
Discontinued: version 2012-06-08_2.0
See: write_combined_eulerian_grid

write_combined_eulerian_grid value

write_combined_eulerian_grid
switch name.
value
Determines whether g01_pall_f<nn>_o files will be written, just before the ALE. These file contain the eulerian grid of LS, with data from all the nests superimposed.
= yes, files will be written at the same intervals as g01_p00_f<nn>_o files.
= <anything-else>, no files written


Default (was): yes
Default (current): no
Recommended value: User choice.
Since: version 2012-06-08_2.0

write_input_as_xml value

write_input_as_xml
switch name.
value
yes => sopale_nested will translate the input file to xml format. The resulting file is called <nameout1>sopale_nested_i.xml . This file (after the untranslated sections are pasted in) can be used as input to sopale_nested.
The switch is hard-coded to yes.

Default: yes
Since: version 2013-05-30_1.0 translates most of the input to xml. Earlier versions did partial translations that were not easily usable as input to sopale_nested.

xfer_lag_dens value

xfer_lag_dens
switch name.
value
'no' => lag densities (current, previous) will not be included when lagrangian particles are exchanged between LS and any nest. The effect of this is that each retains its own copy of lag densities. This is expected to affect results when using compaction.
any-other-value => lag densities (current, previous) will be included when lagrangian particles are exchanged between LS and any nest. This is consistent with versions of sopale_nested prior to 2011-09-06_1.0


Default: 'no'
Recommended value: 'no'
Only in: version 2011-09-06_1.0

[end]

[end]
section end identifier: Sopale Nested uses this to determine the end of the section.


This page was last modified on Monday, 20-Jun-2016 13:19:28 ADT
Comments to geodynam at dal dot ca