Merge lp:~s-parkinson11/fluidity/sinking_velocity_schema_fix into lp:fluidity

Proposed by Samuel Parkinson
Status: Merged
Merged at revision: 4133
Proposed branch: lp:~s-parkinson11/fluidity/sinking_velocity_schema_fix
Merge into: lp:fluidity
Diff against target: 406 lines (+160/-9)
14 files modified
assemble/Advection_Diffusion_CG.F90 (+15/-2)
assemble/Advection_Diffusion_DG.F90 (+82/-1)
assemble/Advection_Diffusion_FV.F90 (+15/-2)
assemble/Field_Equations_CV.F90 (+19/-2)
schemas/fluidity_options.rnc (+3/-0)
schemas/fluidity_options.rng (+4/-1)
schemas/prognostic_field_options.rnc (+6/-0)
schemas/prognostic_field_options.rng (+7/-1)
tests/biology_6_component_parallel/biology_conservation.flml (+1/-0)
tests/biology_6_component_parallel/biology_conservation_parallel.flml (+1/-0)
tests/biology_conservation_adapt/biology_conservation.flml (+1/-0)
tests/mms_sediment/MMS_X.flml (+4/-0)
tests/sinking_velocity/sinking_velocity.flml (+1/-0)
tests/sinking_velocity_cv/sinking_velocity.flml (+1/-0)
To merge this branch: bzr merge lp:~s-parkinson11/fluidity/sinking_velocity_schema_fix
Reviewer Review Type Date Requested Status
Jon Hill Approve
Review via email: mp+125730@code.launchpad.net

Description of the change

Edited the schema to allow specification of the mesh used for sinking velocity fields. This is needed when the velocity field is on a different mesh to the scalar field with the sinking velocity or when using P1DGP2 with a DG field and projecting velocity to continuous.

To post a comment you must log in.
Revision history for this message
Samuel Parkinson (s-parkinson11) wrote :

I realised I hadn't actually pushed the changes to this branch before requesting a review. I have now :)

4068. By Samuel Parkinson

changes to schema so that sinking velocity can have any mesh

Revision history for this message
Jon Hill (jon-hill) wrote :

Add some documentation to the schema to say that this should be the velocity mesh?

Also, an options check somewhere wouldn't go amiss to make sure this is the case.

4069. By Samuel Parkinson

Added SinkingVelocity mesh checking to check_options routines of:
Advection_Diffusion_CG.F90
Advection_Diffusion_FV.F90
Field_Equations_CV.F90

Added check_options routine in Advection_Diffusion_DG.F90 with check for SinkingVelocity mesh.

not tested yet.

4070. By Samuel Parkinson

merge with trunk

4071. By Samuel Parkinson

fixed bugs in options checking routines - these now work as planned

4072. By Samuel Parkinson

updated test flml files

Revision history for this message
Samuel Parkinson (s-parkinson11) wrote :

Thanks Jon,

I have made some changes following your review. Do you think these meet the requirements?

I did notice that all prognostic field advection-diffusion discretisation options checking only happens on scalar fields that are in the root node of a material phase in the schema file. This could do with fixing at some point.

Cheers,

Sam

Revision history for this message
Jon Hill (jon-hill) wrote :

Perfect.

review: Approve
4073. By Samuel Parkinson

fixed bug that made all runs with scalar fields, but no sinking velocity, fail

4074. By Samuel Parkinson

merge with broken branch

4075. By Samuel Parkinson

merge with trunk

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
=== modified file 'assemble/Advection_Diffusion_CG.F90'
--- assemble/Advection_Diffusion_CG.F90 2012-08-12 22:16:26 +0000
+++ assemble/Advection_Diffusion_CG.F90 2012-11-27 18:25:25 +0000
@@ -1431,7 +1431,7 @@
1431 subroutine advection_diffusion_cg_check_options1431 subroutine advection_diffusion_cg_check_options
1432 !!< Check CG advection-diffusion specific options1432 !!< Check CG advection-diffusion specific options
1433 1433
1434 character(len = FIELD_NAME_LEN) :: field_name, state_name1434 character(len = FIELD_NAME_LEN) :: field_name, state_name, mesh_0, mesh_1
1435 character(len = OPTION_PATH_LEN) :: path1435 character(len = OPTION_PATH_LEN) :: path
1436 integer :: i, j, stat1436 integer :: i, j, stat
1437 real :: beta, l_theta1437 real :: beta, l_theta
@@ -1504,7 +1504,20 @@
1504 call field_error(state_name, field_name, &1504 call field_error(state_name, field_name, &
1505 & "Weak Dirichlet boundary conditions with diffusivity are not supported by CG advection-diffusion")1505 & "Weak Dirichlet boundary conditions with diffusivity are not supported by CG advection-diffusion")
1506 end if1506 end if
1507 1507
1508 if (have_option(trim(path) // "/scalar_field::SinkingVelocity")) then
1509 call get_option(trim(complete_field_path(trim(path) // &
1510 "/scalar_field::SinkingVelocity"))//"/mesh[0]/name", &
1511 mesh_0, stat)
1512 if(stat == SPUD_NO_ERROR) then
1513 call get_option(trim(complete_field_path("/material_phase[" // int2str(i) // &
1514 "]/vector_field::Velocity")) // "/mesh[0]/name", mesh_1)
1515 if(trim(mesh_0) /= trim(mesh_1)) then
1516 call field_warning(state_name, field_name, &
1517 & "SinkingVelocity is on a different mesh to the Velocity field. This could cause problems")
1518 end if
1519 end if
1520 end if
1508 if(have_option(trim(path) // "/spatial_discretisation/continuous_galerkin/advection_terms/exclude_advection_terms")) then1521 if(have_option(trim(path) // "/spatial_discretisation/continuous_galerkin/advection_terms/exclude_advection_terms")) then
1509 if(have_option(trim(path) // "/scalar_field::SinkingVelocity")) then1522 if(have_option(trim(path) // "/scalar_field::SinkingVelocity")) then
1510 call field_warning(state_name, field_name, &1523 call field_warning(state_name, field_name, &
15111524
=== modified file 'assemble/Advection_Diffusion_DG.F90'
--- assemble/Advection_Diffusion_DG.F90 2012-10-11 17:52:01 +0000
+++ assemble/Advection_Diffusion_DG.F90 2012-11-27 18:25:25 +0000
@@ -45,6 +45,7 @@
45 use petsc_solve_state_module45 use petsc_solve_state_module
46 use boundary_conditions46 use boundary_conditions
47 use boundary_conditions_from_options47 use boundary_conditions_from_options
48 use field_options
48 use spud49 use spud
49 use upwind_stabilisation50 use upwind_stabilisation
50 use slope_limiters_dg51 use slope_limiters_dg
@@ -67,7 +68,8 @@
67 character(len=255), private :: message68 character(len=255), private :: message
6869
69 private70 private
70 public solve_advection_diffusion_dg, construct_advection_diffusion_dg71 public solve_advection_diffusion_dg, construct_advection_diffusion_dg, &
72 advection_diffusion_dg_check_options
7173
72 ! Local private control parameters. These are module-global parameters74 ! Local private control parameters. These are module-global parameters
73 ! because it would be expensive and/or inconvenient to re-evaluate them75 ! because it would be expensive and/or inconvenient to re-evaluate them
@@ -3120,5 +3122,84 @@
3120 end subroutine initialise_aijxy3122 end subroutine initialise_aijxy
3121 3123
3122 end function masslumped_rt0_aij3124 end function masslumped_rt0_aij
3125
3126 subroutine advection_diffusion_dg_check_options
3127 !!< Check DG advection-diffusion specific options
3128
3129 character(len = FIELD_NAME_LEN) :: field_name, mesh_0, mesh_1, state_name
3130 character(len = OPTION_PATH_LEN) :: path
3131 integer :: i, j, stat
3132 real :: beta, l_theta
3133
3134 if(option_count("/material_phase/scalar_field/prognostic/spatial_discretisation/discontinuous_galerkin") == 0) then
3135 ! Nothing to check
3136 return
3137 end if
3138
3139 ewrite(2, *) "Checking DG advection-diffusion options"
3140
3141 do i = 0, option_count("/material_phase") - 1
3142 path = "/material_phase[" // int2str(i) // "]"
3143 call get_option(trim(path) // "/name", state_name)
3144
3145 do j = 0, option_count(trim(path) // "/scalar_field") - 1
3146 path = "/material_phase[" // int2str(i) // "]/scalar_field[" // int2str(j) // "]"
3147 call get_option(trim(path) // "/name", field_name)
3148
3149 if(field_name /= "Pressure") then
3150
3151 path = trim(path) // "/prognostic"
3152
3153 if(have_option(trim(path) // "/spatial_discretisation/discontinuous_galerkin").and.&
3154 have_option(trim(path) // "/equation[0]")) then
3155
3156 if (have_option(trim(path) // "/scalar_field::SinkingVelocity")) then
3157 call get_option(trim(complete_field_path(trim(path) // &
3158 "/scalar_field::SinkingVelocity"))//"/mesh[0]/name", &
3159 mesh_0, stat)
3160 if(stat == SPUD_NO_ERROR) then
3161 call get_option(trim(complete_field_path("/material_phase[" // int2str(i) // &
3162 "]/vector_field::Velocity")) // "/mesh[0]/name", mesh_1)
3163 if(trim(mesh_0) /= trim(mesh_1)) then
3164 call field_warning(state_name, field_name, &
3165 "SinkingVelocity is on a different mesh to the Velocity field this could "//&
3166 "cause problems. If using advection_scheme/project_velocity_to_continuous "//&
3167 "and a discontinuous Velocity field, then SinkingVelocity must be on a "//&
3168 "continuous mesh and hence should not be on the same mesh as the Velocity")
3169 end if
3170 end if
3171 end if
3172
3173 end if
3174
3175 end if
3176 end do
3177 end do
3178
3179 ewrite(2, *) "Finished checking CG advection-diffusion options"
3180
3181 contains
3182
3183 subroutine field_warning(state_name, field_name, msg)
3184 character(len = *), intent(in) :: state_name
3185 character(len = *), intent(in) :: field_name
3186 character(len = *), intent(in) :: msg
3187
3188 ewrite(0, *) "Warning: For field " // trim(field_name) // " in state " // trim(state_name)
3189 ewrite(0, *) trim(msg)
3190
3191 end subroutine field_warning
3192
3193 subroutine field_error(state_name, field_name, msg)
3194 character(len = *), intent(in) :: state_name
3195 character(len = *), intent(in) :: field_name
3196 character(len = *), intent(in) :: msg
3197
3198 ewrite(-1, *) "For field " // trim(field_name) // " in state " // trim(state_name)
3199 FLExit(trim(msg))
3200
3201 end subroutine field_error
3202
3203 end subroutine advection_diffusion_dg_check_options
31233204
3124end module advection_diffusion_DG3205end module advection_diffusion_DG
31253206
=== modified file 'assemble/Advection_Diffusion_FV.F90'
--- assemble/Advection_Diffusion_FV.F90 2012-08-09 12:50:11 +0000
+++ assemble/Advection_Diffusion_FV.F90 2012-11-27 18:25:25 +0000
@@ -598,7 +598,7 @@
598 598
599 subroutine advection_diffusion_fv_check_options599 subroutine advection_diffusion_fv_check_options
600 600
601 character(len = FIELD_NAME_LEN) :: field_name, state_name601 character(len = FIELD_NAME_LEN) :: field_name, mesh_0, mesh_1, state_name
602 character(len = OPTION_PATH_LEN) :: path602 character(len = OPTION_PATH_LEN) :: path
603 integer :: i, j, stat603 integer :: i, j, stat
604 real :: beta, l_theta604 real :: beta, l_theta
@@ -652,7 +652,20 @@
652 call field_warning(state_name, field_name, &652 call field_warning(state_name, field_name, &
653 & "Implicitness factor (theta) should = 1.0 when excluding mass")653 & "Implicitness factor (theta) should = 1.0 when excluding mass")
654 end if654 end if
655 655
656 if (have_option(trim(path) // "/scalar_field::SinkingVelocity")) then
657 call get_option(trim(complete_field_path(trim(path) // &
658 "/scalar_field::SinkingVelocity"))//"/mesh[0]/name", &
659 mesh_0, stat)
660 if(stat == SPUD_NO_ERROR) then
661 call get_option(trim(complete_field_path("/material_phase[" // int2str(i) // &
662 "]/vector_field::Velocity")) // "/mesh[0]/name", mesh_1)
663 if(trim(mesh_0) /= trim(mesh_1)) then
664 call field_warning(state_name, field_name, &
665 & "SinkingVelocity is on a different mesh to the Velocity field this could cause problems")
666 end if
667 end if
668 end if
656 if(have_option(trim(path) // "/spatial_discretisation/finite_volume/advection_terms/exclude_advection_terms")) then669 if(have_option(trim(path) // "/spatial_discretisation/finite_volume/advection_terms/exclude_advection_terms")) then
657 if(have_option(trim(path) // "/scalar_field::SinkingVelocity")) then670 if(have_option(trim(path) // "/scalar_field::SinkingVelocity")) then
658 call field_warning(state_name, field_name, &671 call field_warning(state_name, field_name, &
659672
=== modified file 'assemble/Field_Equations_CV.F90'
--- assemble/Field_Equations_CV.F90 2012-08-18 21:34:37 +0000
+++ assemble/Field_Equations_CV.F90 2012-11-27 18:25:25 +0000
@@ -3544,8 +3544,8 @@
3544 !************************************************************************3544 !************************************************************************
3545 ! control volume options checking3545 ! control volume options checking
3546 subroutine field_equations_cv_check_options3546 subroutine field_equations_cv_check_options
3547 integer :: nmat, nfield, m, f3547 integer :: nmat, nfield, m, f, stat
3548 character(len=OPTION_PATH_LEN) :: mat_name, field_name, diff_scheme3548 character(len=OPTION_PATH_LEN) :: mat_name, field_name, mesh_0, mesh_1, diff_scheme
3549 integer :: weakdirichlet_count3549 integer :: weakdirichlet_count
3550 logical :: cv_disc, mmat_cv_disc, diff, conv_file, subcycle, cv_temp_disc, tolerance, explicit3550 logical :: cv_disc, mmat_cv_disc, diff, conv_file, subcycle, cv_temp_disc, tolerance, explicit
3551 real :: theta, p_theta3551 real :: theta, p_theta
@@ -3675,6 +3675,23 @@
3675 FLExit("Only pure control volume or coupled_cv discretisations can solve explicitly")3675 FLExit("Only pure control volume or coupled_cv discretisations can solve explicitly")
3676 end if3676 end if
3677 end if3677 end if
3678
3679 if(mmat_cv_disc .or. cv_disc) then
3680 if (have_option("/material_phase["//int2str(m)//"]/scalar_field["//int2str(f)//&
3681 "]/prognostic/scalar_field::SinkingVelocity")) then
3682 call get_option(trim(complete_field_path("/material_phase["//&
3683 int2str(m)//"]/scalar_field["//int2str(f)//&
3684 "]/prognostic/scalar_field::SinkingVelocity"))//"/mesh[0]/name", mesh_0, stat)
3685 if(stat == 0) then
3686 call get_option(trim(complete_field_path("/material_phase[" // int2str(m) // &
3687 "]/vector_field::Velocity")) // "/mesh[0]/name", mesh_1)
3688 if(trim(mesh_0) /= trim(mesh_1)) then
3689 ewrite(0, *) "SinkingVelocity for "//trim(field_name)//&
3690 " is on a different mesh to the Velocity field this could cause problems"
3691 end if
3692 end if
3693 end if
3694 end if
36783695
3679 end do3696 end do
3680 end do3697 end do
36813698
=== modified file 'schemas/fluidity_options.rnc'
--- schemas/fluidity_options.rnc 2012-10-04 16:29:40 +0000
+++ schemas/fluidity_options.rnc 2012-11-27 18:25:25 +0000
@@ -1904,10 +1904,13 @@
1904 ##1904 ##
1905 ## As with the sinking velocity, this velocity is in the direction of gravity so if the substance1905 ## As with the sinking velocity, this velocity is in the direction of gravity so if the substance
1906 ## floats upwards, this field should be negative.1906 ## floats upwards, this field should be negative.
1907 ##
1908 ## This should be on the same mesh as the associated SinkingVelocity field.
1907 element scalar_field {1909 element scalar_field {
1908 attribute name { "UnhinderedSinkingVelocity" },1910 attribute name { "UnhinderedSinkingVelocity" },
1909 attribute rank { "0" },1911 attribute rank { "0" },
1910 element prescribed {1912 element prescribed {
1913 velocity_mesh_choice,
1911 prescribed_scalar_field1914 prescribed_scalar_field
1912 }1915 }
1913 }?,1916 }?,
19141917
=== modified file 'schemas/fluidity_options.rng'
--- schemas/fluidity_options.rng 2012-11-05 14:25:55 +0000
+++ schemas/fluidity_options.rng 2012-11-27 18:25:25 +0000
@@ -2662,7 +2662,9 @@
2662If the 'SinkingVelocity' is not set to diagnostic, this field will not be used.2662If the 'SinkingVelocity' is not set to diagnostic, this field will not be used.
26632663
2664As with the sinking velocity, this velocity is in the direction of gravity so if the substance2664As with the sinking velocity, this velocity is in the direction of gravity so if the substance
2665floats upwards, this field should be negative.</a:documentation>2665floats upwards, this field should be negative.
2666
2667This should be on the same mesh as the associated SinkingVelocity field.</a:documentation>
2666 <attribute name="name">2668 <attribute name="name">
2667 <value>UnhinderedSinkingVelocity</value>2669 <value>UnhinderedSinkingVelocity</value>
2668 </attribute>2670 </attribute>
@@ -2670,6 +2672,7 @@
2670 <value>0</value>2672 <value>0</value>
2671 </attribute>2673 </attribute>
2672 <element name="prescribed">2674 <element name="prescribed">
2675 <ref name="velocity_mesh_choice"/>
2673 <ref name="prescribed_scalar_field"/>2676 <ref name="prescribed_scalar_field"/>
2674 </element>2677 </element>
2675 </element>2678 </element>
26762679
=== modified file 'schemas/prognostic_field_options.rnc'
--- schemas/prognostic_field_options.rnc 2012-09-29 11:32:16 +0000
+++ schemas/prognostic_field_options.rnc 2012-11-27 18:25:25 +0000
@@ -295,14 +295,20 @@
295 ## 295 ##
296 ## This velocity is in the direction of gravity so if the substance296 ## This velocity is in the direction of gravity so if the substance
297 ## floats or swims upwards, this field should be negative.297 ## floats or swims upwards, this field should be negative.
298 ##
299 ## This should be on the same mesh as the velocity field unless you are
300 ## using a DG discretisation and projecting the velocity to contiuous, in
301 ## which case it should be on a continuous mesh.
298 element scalar_field {302 element scalar_field {
299 attribute name { "SinkingVelocity" },303 attribute name { "SinkingVelocity" },
300 attribute rank { "0" },304 attribute rank { "0" },
301 (305 (
302 element prescribed {306 element prescribed {
307 velocity_mesh_choice,
303 prescribed_scalar_field_no_adapt308 prescribed_scalar_field_no_adapt
304 }|309 }|
305 element diagnostic {310 element diagnostic {
311 velocity_mesh_choice,
306 (312 (
307 scalar_python_diagnostic_algorithm |313 scalar_python_diagnostic_algorithm |
308 internal_algorithm314 internal_algorithm
309315
=== modified file 'schemas/prognostic_field_options.rng'
--- schemas/prognostic_field_options.rng 2012-09-29 11:32:16 +0000
+++ schemas/prognostic_field_options.rng 2012-11-27 18:25:25 +0000
@@ -381,7 +381,11 @@
381 <a:documentation>Velocity at which this substance sinks through the water column.381 <a:documentation>Velocity at which this substance sinks through the water column.
382382
383This velocity is in the direction of gravity so if the substance383This velocity is in the direction of gravity so if the substance
384floats or swims upwards, this field should be negative.</a:documentation>384floats or swims upwards, this field should be negative.
385
386This should be on the same mesh as the velocity field unless you are
387using a DG discretisation and projecting the velocity to contiuous, in
388which case it should be on a continuous mesh.</a:documentation>
385 <attribute name="name">389 <attribute name="name">
386 <value>SinkingVelocity</value>390 <value>SinkingVelocity</value>
387 </attribute>391 </attribute>
@@ -390,9 +394,11 @@
390 </attribute>394 </attribute>
391 <choice>395 <choice>
392 <element name="prescribed">396 <element name="prescribed">
397 <ref name="velocity_mesh_choice"/>
393 <ref name="prescribed_scalar_field_no_adapt"/>398 <ref name="prescribed_scalar_field_no_adapt"/>
394 </element>399 </element>
395 <element name="diagnostic">400 <element name="diagnostic">
401 <ref name="velocity_mesh_choice"/>
396 <choice>402 <choice>
397 <ref name="scalar_python_diagnostic_algorithm"/>403 <ref name="scalar_python_diagnostic_algorithm"/>
398 <ref name="internal_algorithm"/>404 <ref name="internal_algorithm"/>
399405
=== modified file 'tests/biology_6_component_parallel/biology_conservation.flml'
--- tests/biology_6_component_parallel/biology_conservation.flml 2012-03-11 02:25:56 +0000
+++ tests/biology_6_component_parallel/biology_conservation.flml 2012-11-27 18:25:25 +0000
@@ -517,6 +517,7 @@
517 </scalar_field>517 </scalar_field>
518 <scalar_field name="SinkingVelocity" rank="0">518 <scalar_field name="SinkingVelocity" rank="0">
519 <prescribed>519 <prescribed>
520 <mesh name="VelocityMesh"/>
520 <value name="WholeMesh">521 <value name="WholeMesh">
521 <python>522 <python>
522 <string_value lines="20" type="code" language="python">def val(X,t):523 <string_value lines="20" type="code" language="python">def val(X,t):
523524
=== modified file 'tests/biology_6_component_parallel/biology_conservation_parallel.flml'
--- tests/biology_6_component_parallel/biology_conservation_parallel.flml 2012-03-11 02:25:56 +0000
+++ tests/biology_6_component_parallel/biology_conservation_parallel.flml 2012-11-27 18:25:25 +0000
@@ -517,6 +517,7 @@
517 </scalar_field>517 </scalar_field>
518 <scalar_field name="SinkingVelocity" rank="0">518 <scalar_field name="SinkingVelocity" rank="0">
519 <prescribed>519 <prescribed>
520 <mesh name="VelocityMesh"/>
520 <value name="WholeMesh">521 <value name="WholeMesh">
521 <python>522 <python>
522 <string_value lines="20" type="code" language="python">def val(X,t):523 <string_value lines="20" type="code" language="python">def val(X,t):
523524
=== modified file 'tests/biology_conservation_adapt/biology_conservation.flml'
--- tests/biology_conservation_adapt/biology_conservation.flml 2012-03-11 02:25:56 +0000
+++ tests/biology_conservation_adapt/biology_conservation.flml 2012-11-27 18:25:25 +0000
@@ -558,6 +558,7 @@
558 </scalar_field>558 </scalar_field>
559 <scalar_field name="SinkingVelocity" rank="0">559 <scalar_field name="SinkingVelocity" rank="0">
560 <prescribed>560 <prescribed>
561 <mesh name="VelocityMesh"/>
561 <value name="WholeMesh">562 <value name="WholeMesh">
562 <python>563 <python>
563 <string_value lines="20" type="code" language="python">def val(X,t):564 <string_value lines="20" type="code" language="python">def val(X,t):
564565
=== modified file 'tests/mms_sediment/MMS_X.flml'
--- tests/mms_sediment/MMS_X.flml 2012-10-05 13:00:44 +0000
+++ tests/mms_sediment/MMS_X.flml 2012-11-27 18:25:25 +0000
@@ -1194,6 +1194,7 @@
1194 </scalar_field>1194 </scalar_field>
1195 <scalar_field name="SinkingVelocity" rank="0">1195 <scalar_field name="SinkingVelocity" rank="0">
1196 <diagnostic>1196 <diagnostic>
1197 <mesh name="VelocityMesh"/>
1197 <algorithm name="Internal" material_phase_support="multiple"/>1198 <algorithm name="Internal" material_phase_support="multiple"/>
1198 <output/>1199 <output/>
1199 <stat/>1200 <stat/>
@@ -1327,6 +1328,7 @@
1327 </scalar_field>1328 </scalar_field>
1328 <scalar_field name="UnhinderedSinkingVelocity" rank="0">1329 <scalar_field name="UnhinderedSinkingVelocity" rank="0">
1329 <prescribed>1330 <prescribed>
1331 <mesh name="VelocityMesh"/>
1330 <value name="WholeMesh">1332 <value name="WholeMesh">
1331 <constant>1333 <constant>
1332 <real_value rank="0">0.33</real_value>1334 <real_value rank="0">0.33</real_value>
@@ -1450,6 +1452,7 @@
1450 </scalar_field>1452 </scalar_field>
1451 <scalar_field name="SinkingVelocity" rank="0">1453 <scalar_field name="SinkingVelocity" rank="0">
1452 <diagnostic>1454 <diagnostic>
1455 <mesh name="VelocityMesh"/>
1453 <algorithm name="Internal" material_phase_support="multiple"/>1456 <algorithm name="Internal" material_phase_support="multiple"/>
1454 <output/>1457 <output/>
1455 <stat/>1458 <stat/>
@@ -1583,6 +1586,7 @@
1583 </scalar_field>1586 </scalar_field>
1584 <scalar_field name="UnhinderedSinkingVelocity" rank="0">1587 <scalar_field name="UnhinderedSinkingVelocity" rank="0">
1585 <prescribed>1588 <prescribed>
1589 <mesh name="VelocityMesh"/>
1586 <value name="WholeMesh">1590 <value name="WholeMesh">
1587 <constant>1591 <constant>
1588 <real_value rank="0">0.66</real_value>1592 <real_value rank="0">0.66</real_value>
15891593
=== modified file 'tests/sinking_velocity/sinking_velocity.flml'
--- tests/sinking_velocity/sinking_velocity.flml 2012-03-11 02:25:56 +0000
+++ tests/sinking_velocity/sinking_velocity.flml 2012-11-27 18:25:25 +0000
@@ -176,6 +176,7 @@
176 </boundary_conditions>176 </boundary_conditions>
177 <scalar_field name="SinkingVelocity" rank="0">177 <scalar_field name="SinkingVelocity" rank="0">
178 <prescribed>178 <prescribed>
179 <mesh name="VelocityMesh"/>
179 <value name="WholeMesh">180 <value name="WholeMesh">
180 <python>181 <python>
181 <string_value lines="20" type="code" language="python">def val(X,t):182 <string_value lines="20" type="code" language="python">def val(X,t):
182183
=== modified file 'tests/sinking_velocity_cv/sinking_velocity.flml'
--- tests/sinking_velocity_cv/sinking_velocity.flml 2012-03-11 02:25:56 +0000
+++ tests/sinking_velocity_cv/sinking_velocity.flml 2012-11-27 18:25:25 +0000
@@ -178,6 +178,7 @@
178 </boundary_conditions>178 </boundary_conditions>
179 <scalar_field name="SinkingVelocity" rank="0">179 <scalar_field name="SinkingVelocity" rank="0">
180 <prescribed>180 <prescribed>
181 <mesh name="VelocityMesh"/>
181 <value name="WholeMesh">182 <value name="WholeMesh">
182 <python>183 <python>
183 <string_value lines="20" type="code" language="python">def val(X,t):184 <string_value lines="20" type="code" language="python">def val(X,t):