~amcg-stokes/fluidity/multimaterial_diagnostic_dependencies

« back to all changes in this revision

Viewing changes to schemas/test_advection_diffusion_options.rng

  • Committer: Cian Wilson
  • Date: 2012-12-10 20:21:07 UTC
  • mfrom: (4132.1.7 fluidity)
  • Revision ID: cwilson@ldeo.columbia.edu-20121210202107-5wppwqcba4bfd1r3
Merging in changes from lp:fluidity.

Show diffs side-by-side

added added

removed removed

Lines of Context:
2075
2075
    </optional>
2076
2076
  </define>
2077
2077
  <!--
2078
 
    free surface field, this is a copy of prognostic_scalar_field above
2079
 
    removing all options that don't apply (mainly advection related)
2080
 
  -->
2081
 
  <define name="prognostic_free_surface_field">
2082
 
    <choice>
2083
 
      <element name="spatial_discretisation">
2084
 
        <a:documentation>Spatial discretisation options</a:documentation>
2085
 
        <optional>
2086
 
          <element name="free_surface_3D">
2087
 
            <a:documentation>Form a full 3D system for the free surface</a:documentation>
2088
 
            <empty/>
2089
 
          </element>
2090
 
        </optional>
2091
 
        <optional>
2092
 
          <element name="fourth_order_dissipation">
2093
 
            <empty/>
2094
 
          </element>
2095
 
        </optional>
2096
 
        <optional>
2097
 
          <element name="low_order_free_surface">
2098
 
            <a:documentation>low order (linear) free surface</a:documentation>
2099
 
            <empty/>
2100
 
          </element>
2101
 
        </optional>
2102
 
        <choice>
2103
 
          <element name="default_free_surface_filter">
2104
 
            <a:documentation>Select free surface filter
2105
 
 
2106
 
With PN-PN we need some filter to supress spurious modes.</a:documentation>
2107
 
            <empty/>
2108
 
          </element>
2109
 
          <element name="user_specified_free_surface_filter">
2110
 
            <a:documentation>Select free surface filter
2111
 
 
2112
 
With PN-PN we need some filter to supress spurious modes.</a:documentation>
2113
 
            <element name="non_linear_filter_coefficient">
2114
 
              <a:documentation>Default is to apply 0.01 and for wetting and drying cases 1.0</a:documentation>
2115
 
              <ref name="real"/>
2116
 
            </element>
2117
 
          </element>
2118
 
          <element name="switch_off_free_surface_filter">
2119
 
            <a:documentation>Switch off free surface filter, this is more efficient than setting the coefficient to 0.</a:documentation>
2120
 
            <empty/>
2121
 
          </element>
2122
 
        </choice>
2123
 
        <optional>
2124
 
          <element name="wetting_drying">
2125
 
            <a:documentation>Apply wetting and drying routines</a:documentation>
2126
 
            <empty/>
2127
 
          </element>
2128
 
        </optional>
2129
 
        <optional>
2130
 
          <element name="tidal_forcing">
2131
 
            <a:documentation>Tidal forcing options </a:documentation>
2132
 
            <optional>
2133
 
              <element name="M2">
2134
 
                <a:documentation>M2</a:documentation>
2135
 
                <empty/>
2136
 
              </element>
2137
 
            </optional>
2138
 
            <optional>
2139
 
              <element name="S2">
2140
 
                <a:documentation>S2</a:documentation>
2141
 
                <empty/>
2142
 
              </element>
2143
 
            </optional>
2144
 
            <optional>
2145
 
              <element name="N2">
2146
 
                <a:documentation>N2</a:documentation>
2147
 
                <empty/>
2148
 
              </element>
2149
 
            </optional>
2150
 
            <optional>
2151
 
              <element name="K2">
2152
 
                <a:documentation>K2</a:documentation>
2153
 
                <empty/>
2154
 
              </element>
2155
 
            </optional>
2156
 
            <optional>
2157
 
              <element name="K1">
2158
 
                <a:documentation>K1</a:documentation>
2159
 
                <empty/>
2160
 
              </element>
2161
 
            </optional>
2162
 
            <optional>
2163
 
              <element name="O1">
2164
 
                <a:documentation>O1</a:documentation>
2165
 
                <empty/>
2166
 
              </element>
2167
 
            </optional>
2168
 
            <optional>
2169
 
              <element name="P1">
2170
 
                <a:documentation>P1</a:documentation>
2171
 
                <empty/>
2172
 
              </element>
2173
 
            </optional>
2174
 
            <optional>
2175
 
              <element name="Q1">
2176
 
                <a:documentation>Q1</a:documentation>
2177
 
                <empty/>
2178
 
              </element>
2179
 
            </optional>
2180
 
            <optional>
2181
 
              <element name="all_tidal_components">
2182
 
                <a:documentation>Switch on all tidal components</a:documentation>
2183
 
                <empty/>
2184
 
              </element>
2185
 
            </optional>
2186
 
            <optional>
2187
 
              <element name="love_number">
2188
 
                <a:documentation>Switches on a Love number of 0.3</a:documentation>
2189
 
                <empty/>
2190
 
              </element>
2191
 
            </optional>
2192
 
            <optional>
2193
 
              <element name="static_tidal_force">
2194
 
                <a:documentation>Use static tidal force for testing</a:documentation>
2195
 
                <empty/>
2196
 
              </element>
2197
 
            </optional>
2198
 
          </element>
2199
 
        </optional>
2200
 
      </element>
2201
 
      <element name="Legacy_Free_Surface">
2202
 
        <a:documentation>Legacy Free Surface
2203
 
Allows astronomical forcing for multiple tidal constituents.
2204
 
Integer should be sum of desired components as follows:
2205
 
 
2206
 
3D Free Surface = 1
2207
 
 
2208
 
Fourth Order Dissipation = 4
2209
 
 
2210
 
Low Order Free Surface = 8
2211
 
 
2212
 
Implicit absorption in the free surface (good for wetting/drying) = 16
2213
 
 
2214
 
Turn on all tides = 32
2215
 
 
2216
 
Love Number = 64
2217
 
 
2218
 
Static Tidal Force = 128
2219
 
 
2220
 
M2 constituent = 2048
2221
 
 
2222
 
S2 constituent = 4096
2223
 
 
2224
 
N2 constituent = 8192
2225
 
 
2226
 
K2 constituent = 16384
2227
 
 
2228
 
K1 constituent = 32768
2229
 
 
2230
 
O1 constituent = 65536
2231
 
 
2232
 
P1 constituent = 131072
2233
 
 
2234
 
Q1 constituent = 262144</a:documentation>
2235
 
        <ref name="integer"/>
2236
 
      </element>
2237
 
    </choice>
2238
 
    <!--
2239
 
      atheta, ctheta and fstheta (absorption, coriolis and free surface)
2240
 
      need to go in temporal discretisation
2241
 
      they are currently hard-coded however
2242
 
    -->
2243
 
    <element name="temporal_discretisation">
2244
 
      <element name="theta">
2245
 
        <a:documentation>Implicit/explicitness for the free surface.
2246
 
 
2247
 
Suggested value 1.0 (should be at least bigger than 0.5).
2248
 
 =0.  -- explicit
2249
 
 =0.5 -- Crank-Nicolson
2250
 
 =1.  -- implicit</a:documentation>
2251
 
        <ref name="real"/>
2252
 
      </element>
2253
 
      <optional>
2254
 
        <!-- Maybe this should go under a proper absorption field under free surface? -->
2255
 
        <element name="absorption_theta">
2256
 
          <a:documentation>Implicit/explicitness for absorption
2257
 
=0.  -- explicit (default)
2258
 
=0.5 -- Crank-Nicolson
2259
 
=1.  -- implicit</a:documentation>
2260
 
          <ref name="real"/>
2261
 
        </element>
2262
 
      </optional>
2263
 
    </element>
2264
 
    <element name="solver">
2265
 
      <a:documentation>Solver</a:documentation>
2266
 
      <ref name="linear_solver_options_sym"/>
2267
 
    </element>
2268
 
    <oneOrMore>
2269
 
      <choice>
2270
 
        <element name="initial_condition">
2271
 
          <a:documentation>Initial condition for WholeMesh
2272
 
 
2273
 
Only specify one condition if not using mesh regions.
2274
 
Otherwise select other initial_condition option, specify region_ids
2275
 
and distinct names.  Then add extra intial conditions for other regions.</a:documentation>
2276
 
          <attribute name="name">
2277
 
            <value>WholeMesh</value>
2278
 
          </attribute>
2279
 
          <ref name="input_choice_initial_condition_real"/>
2280
 
        </element>
2281
 
        <element name="initial_condition">
2282
 
          <a:documentation>Multiple initial_conditions are allowed if specifying
2283
 
different values in different
2284
 
regions of the mesh (defined by region_ids).  In this case
2285
 
each initial_condition
2286
 
requires a distinct name for the options dictionary.</a:documentation>
2287
 
          <attribute name="name">
2288
 
            <data type="string" datatypeLibrary=""/>
2289
 
          </attribute>
2290
 
          <ref name="region_ids"/>
2291
 
          <ref name="input_choice_initial_condition_real"/>
2292
 
        </element>
2293
 
      </choice>
2294
 
    </oneOrMore>
2295
 
    <zeroOrMore>
2296
 
      <element name="boundary_conditions">
2297
 
        <a:documentation>Boundary conditions</a:documentation>
2298
 
        <attribute name="name">
2299
 
          <data type="string" datatypeLibrary=""/>
2300
 
        </attribute>
2301
 
        <element name="surface_ids">
2302
 
          <a:documentation>Surface id:</a:documentation>
2303
 
          <ref name="integer_vector"/>
2304
 
        </element>
2305
 
        <choice>
2306
 
          <a:documentation>Type</a:documentation>
2307
 
          <element name="type">
2308
 
            <attribute name="name">
2309
 
              <value>dirichlet</value>
2310
 
            </attribute>
2311
 
            <choice>
2312
 
              <ref name="input_choice_real_contents"/>
2313
 
              <element name="from_file">
2314
 
                <oneOrMore>
2315
 
                  <element name="tidal">
2316
 
                    <attribute name="file_name">
2317
 
                      <data type="string" datatypeLibrary=""/>
2318
 
                    </attribute>
2319
 
                    <attribute name="variable_name_amplitude">
2320
 
                      <data type="string" datatypeLibrary=""/>
2321
 
                    </attribute>
2322
 
                    <attribute name="variable_name_phase">
2323
 
                      <data type="string" datatypeLibrary=""/>
2324
 
                    </attribute>
2325
 
                    <attribute name="name">
2326
 
                      <a:documentation>See E.W. Schwiderski - Rev. Geophys. Space
2327
 
Phys. Vol. 18 No. 1 pp. 243--268, 1980
2328
 
for details of these constituent.</a:documentation>
2329
 
                      <choice>
2330
 
                        <value>M2</value>
2331
 
                        <value>S2</value>
2332
 
                        <value>N2</value>
2333
 
                        <value>K2</value>
2334
 
                        <value>K1</value>
2335
 
                        <value>O1</value>
2336
 
                        <value>P1</value>
2337
 
                        <value>Q1</value>
2338
 
                        <value>Mf</value>
2339
 
                        <value>Mm</value>
2340
 
                        <value>Ssa</value>
2341
 
                      </choice>
2342
 
                    </attribute>
2343
 
                  </element>
2344
 
                </oneOrMore>
2345
 
              </element>
2346
 
            </choice>
2347
 
          </element>
2348
 
          <element name="type">
2349
 
            <attribute name="name">
2350
 
              <value>neumann</value>
2351
 
            </attribute>
2352
 
            <ref name="input_choice_real"/>
2353
 
          </element>
2354
 
          <element name="type">
2355
 
            <attribute name="name">
2356
 
              <value>robin</value>
2357
 
            </attribute>
2358
 
            <element name="order_zero_coefficient">
2359
 
              <ref name="input_choice_real"/>
2360
 
            </element>
2361
 
            <element name="order_one_coefficient">
2362
 
              <ref name="input_choice_real"/>
2363
 
            </element>
2364
 
          </element>
2365
 
        </choice>
2366
 
      </element>
2367
 
    </zeroOrMore>
2368
 
    <!--
2369
 
      no Diffusivity for field
2370
 
      no source term
2371
 
      no Absorption term
2372
 
      no Adaptive timestepping option
2373
 
    -->
2374
 
    <ref name="prognostic_scalar_output_options"/>
2375
 
    <ref name="prognostic_scalar_stat_options"/>
2376
 
    <ref name="scalar_convergence_options"/>
2377
 
    <ref name="prognostic_detector_options"/>
2378
 
    <ref name="scalar_steady_state_options"/>
2379
 
    <ref name="adaptivity_options_prognostic_scalar_field"/>
2380
 
    <ref name="interpolation_algorithm_scalar"/>
2381
 
    <optional>
2382
 
      <ref name="discrete_properties_algorithm_scalar"/>
2383
 
    </optional>
2384
 
  </define>
2385
 
  <!--
2386
2078
    stream function, this is a copy of prognostic_scalar_field above
2387
2079
    removing all options that don't apply (mainly advection related)
2388
2080
  -->
3930
3622
        </choice>
3931
3623
      </element>
3932
3624
      <element name="scalar_field">
3933
 
        <a:documentation>Free Surface
3934
 
NOTE: the prognostic FreeSurface field only works with the
3935
 
legacy_continuous_galerkin code path
3936
 
NOTE: if you are using the free_surface boundary condition
3937
 
applied to the Velocity field (recommended), you should not 
3938
 
use the prognostic FreeSurface field. In this case you may 
3939
 
(optionally) add a diagnostic FreeSurface field.</a:documentation>
 
3625
        <a:documentation>Free Surface</a:documentation>
3940
3626
        <attribute name="rank">
3941
3627
          <value>0</value>
3942
3628
        </attribute>
3943
3629
        <attribute name="name">
3944
3630
          <value>FreeSurface</value>
3945
3631
        </attribute>
3946
 
        <choice>
3947
 
          <element name="prognostic">
3948
 
            <a:documentation>Free Surface
3949
 
NOTE: the prognostic FreeSurface field only works with the
3950
 
legacy_continuous_galerkin code path</a:documentation>
3951
 
            <element name="mesh">
3952
 
              <a:documentation>Note that this is not the quadratic mesh balance pressure is
3953
 
actually calculated on, but the linear mesh it is projected back
3954
 
on for output purposes.</a:documentation>
3955
 
              <attribute name="name">
3956
 
                <value>VelocityMesh</value>
3957
 
              </attribute>
3958
 
            </element>
3959
 
            <ref name="prognostic_free_surface_field"/>
3960
 
          </element>
3961
 
          <element name="diagnostic">
3962
 
            <a:documentation>Free Surface
 
3632
        <element name="diagnostic">
 
3633
          <a:documentation>Free Surface
3963
3634
NOTE: the diagnostic FreeSurface field only works in combination
3964
3635
with the free_surface boundary condition applied to the Velocity
3965
3636
field. It gives you a 3D field (constant over the vertical)
3966
3637
of the free surface elevation.</a:documentation>
3967
 
            <ref name="internal_algorithm"/>
3968
 
            <!--
3969
 
              this is hard-coded on the PressureMesh as long as the Pressure is
3970
 
              if this is no longer true, it should be option-checked to be on the
3971
 
              same mesh as Pressure
3972
 
            -->
3973
 
            <element name="mesh">
3974
 
              <a:documentation>Must be on the same mesh as Pressure</a:documentation>
3975
 
              <attribute name="name">
3976
 
                <value>PressureMesh</value>
3977
 
              </attribute>
3978
 
            </element>
3979
 
            <ref name="diagnostic_scalar_field"/>
 
3638
          <ref name="internal_algorithm"/>
 
3639
          <!--
 
3640
            this is hard-coded on the PressureMesh as long as the Pressure is
 
3641
            if this is no longer true, it should be option-checked to be on the
 
3642
            same mesh as Pressure
 
3643
          -->
 
3644
          <element name="mesh">
 
3645
            <a:documentation>Must be on the same mesh as Pressure</a:documentation>
 
3646
            <attribute name="name">
 
3647
              <value>PressureMesh</value>
 
3648
            </attribute>
3980
3649
          </element>
3981
 
        </choice>
 
3650
          <ref name="diagnostic_scalar_field"/>
 
3651
        </element>
3982
3652
      </element>
3983
3653
      <element name="scalar_field">
3984
3654
        <a:documentation>Second Fluid</a:documentation>