~fluidity-core/fluidity/ocean_forcing

« back to all changes in this revision

Viewing changes to tests/mphase_tephra_settling/mphase_tephra_settling.xml

  • Committer: Christian Jacobs
  • Date: 2011-08-31 20:38:52 UTC
  • mfrom: (3408.1.124 ctjacobs-multiphase)
  • Revision ID: c.jacobs10@imperial.ac.uk-20110831203852-4cburyv2422y6ms1
Merging ctjacobs-multiphase branch revisions (from r3452 to r3532 inclusive) into trunk. Branch queue passes all unit, short and medium tests on buildbot.

Summary of changes:
===================

- Implemented the fluid-particle drag term in Multiphase.F90. The mphase_stokes_law and mphase_tephra_settling test cases have been updated to use this new implementation, rather than a Python diagnostic Source field. An MMS test which includes this fluid-particle drag term is available in longtests/mphase_mms_p1dgp2_fpdrag, and converges at the expected order.

- Implemented a new boundary condition type, called 'flux', for control volume discretisations. Updated the mphase_tephra_settling test case to use this, which allows to flux in through the boundary at the correct rate. Also added documentation regarding this boundary condition type to the manual.

- When checking the tfield_bc_type in Field_Equations_CV.F90, we now compare against the more meaningful integer parameters BC_TYPE_WEAKDIRICHLET (=1), BC_TYPE_NEUMANN (=2), etc.

- Added the 'tephra_settling' example to the examples directory, along with some documentation (background, simulation setup, results, pretty pictures) in manual/examples.tex.

- In manual/model_equations.tex and manual/configuring_fluidity.tex: Added documentation on the multi-phase flow model equations, setting up multi-phase flow simulations, available inter-phase interaction terms, and current limitations of the model.

- Corrected typos in various places in the manual.

- Made the mphase_tephra_settling test more realistic by adding in random perturbations to the PhaseVolumeFraction influx. Also made a few minor tweaks (e.g. finish_time, timestep), and added pass_tests.

- Added a three-phase test called mphase_three_layers. This checks that our model can simulate more than one dispersed phase, allowing us to use several different particle sizes in our tephra settling simulation later on.

- Moved the mphase_tephra_settling_3d test case to the longtests directory.

Show diffs side-by-side

added added

removed removed

Lines of Context:
15
15
  </problem_definition>
16
16
  
17
17
  <variables>
18
 
    <variable name="water_u1" language="python">
19
 
from fluidity_tools import stat_parser
20
 
s = stat_parser("mphase_tephra_settling.stat")
21
 
water_u1=s["Water"]["Velocity%1"]["integral"]
22
 
    </variable>
23
 
    
24
 
    <variable name="water_u2" language="python">
25
 
from fluidity_tools import stat_parser
26
 
s = stat_parser("mphase_tephra_settling.stat")
27
 
water_u2=s["Water"]["Velocity%2"]["integral"]
28
 
    </variable>
29
 
    
30
 
    <variable name="tephra_u1" language="python">
31
 
from fluidity_tools import stat_parser
32
 
s = stat_parser("mphase_tephra_settling.stat")
33
 
tephra_u1=s["Tephra"]["Velocity%1"]["integral"]
34
 
    </variable>
35
 
    
36
 
    <variable name="tephra_u2" language="python">
37
 
from fluidity_tools import stat_parser
38
 
s = stat_parser("mphase_tephra_settling.stat")
39
 
tephra_u2=s["Tephra"]["Velocity%2"]["integral"]
 
18
    <variable name="tephra_u_max" language="python">
 
19
from fluidity_tools import stat_parser
 
20
s = stat_parser("mphase_tephra_settling.stat")
 
21
tephra_u_max=s["Tephra"]["Velocity%magnitude"]["max"]
 
22
    </variable>
 
23
    <variable name="time" language="python">
 
24
from fluidity_tools import stat_parser
 
25
s = stat_parser("mphase_tephra_settling.stat")
 
26
time=s["ElapsedTime"]["value"]
40
27
    </variable>
41
28
  </variables>
42
29
    
43
30
  <pass_tests>
 
31
    <test name="Maximum Tephra velocity is less than 0.0025 for the first 30 seconds" language="python">
 
32
for t in range(0,len(time)):
 
33
   if(time[t] &gt; 30.0):
 
34
      assert tephra_u_max[0:t-1].all() &lt; 0.0025
 
35
      break
 
36
    </test>
 
37
 
 
38
    <test name="Maximum Tephra velocity is between 0.002 and 0.05 for the rest of the simulation" language="python">
 
39
for t in range(0,len(time)):
 
40
   if(time[t] &gt; 30.0):
 
41
      assert min(tephra_u_max[t:]) &gt; 0.002
 
42
      assert max(tephra_u_max[t:]) &lt; 0.05
 
43
      break
 
44
    </test>
44
45
  </pass_tests>
45
46
  
46
47
  <warn_tests>