[cig-commits] commit: Add a bunch of MDPI test routines

Mercurial hg at geodynamics.org
Fri Apr 29 20:49:27 PDT 2011


changeset:   223:5be0cf262822
tag:         tip
user:        Walter Landry <wlandry at caltech.edu>
date:        Fri Apr 29 20:47:59 2011 -0700
files:       input/MDPI.input input/MDPI_3D.input input/MDPI_flipped.input
description:
Add a bunch of MDPI test routines


diff -r 0642a80b3aed -r 5be0cf262822 input/MDPI.input
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/input/MDPI.input	Fri Apr 29 20:47:59 2011 -0700
@@ -0,0 +1,97 @@
+// A test input to make sure that MDPI pressure interpolation is
+// working correctly.  It solves the pressure on a lower level and
+// then interpolates it to a fine level.  On the fine level, the
+// pressure should be
+//
+// -0.442044 -0.308769 -0.297673 -0.455163 
+// -0.252462 -0.197944 -0.192290 -0.266177 
+// 0.239112 0.190037 0.180526 0.252207 
+// 0.292150 0.201690 0.194666 0.314077 
+
+// To get these numbers, we have to change background_density and
+// block_density to 1 in FACStokes/initializeLevelData.C, and the
+// initial guess of pressure to 0 in FACStokes/solveStokes.C
+
+Main {
+    dim = 2
+    base_name = "MDPI"
+    log_all_nodes = TRUE
+    vis_writer = "Vizamrai", "VisIt"
+}
+
+FACStokes {
+    adaption_threshold = -1
+
+    viscosity_ijk= 4, 4
+    viscosity_coord_min= 0.125, 0.125
+    viscosity_coord_max= .875, .875
+    viscosity_data= 1, 1.1, 1.2, 1.3,
+                    1.4, 1.5, 1.6, 1.7,
+                    1.8, 1.9, 2, 2.1,
+                    2.2, 2.3, 2.4, 2.5
+    fac_solver {
+        enable_logging = TRUE   // Bool flag to switch logging on/off
+        max_cycles = 1         // Max number of FAC cycles to use
+        residual_tol = 1e-3     // Residual tolerance to solve for
+        num_pre_sweeps = 0      // Number of presmoothing sweeps to use
+        num_post_sweeps = 0     // Number of postsmoothing sweeps to use
+        smoothing_choice = "Tackley"
+        coarse_solver_choice = "Tackley"
+        coarse_solver_max_iterations = 10000
+        coarse_solver_tolerance = 1e-8
+        p_prolongation_method = "P_MDPI_REFINE"
+        // p_prolongation_method = "P_REFINE"
+        v_prolongation_method = "V_REFINE"
+    }
+    bc_coefs {
+        boundary_0 = "value", "0"
+        boundary_1 = "value", "0"
+        boundary_2 = "value", "0"
+        boundary_3 = "value", "0"
+    }
+}
+
+CartesianGridGeometry {
+    domain_boxes = [(0,0), (1,1)]
+    x_lo         = 0, 0
+    x_up         = 1, 1
+}
+
+StandardTagAndInitialize {
+    tagging_method = "GRADIENT_DETECTOR"
+}
+
+PatchHierarchy {
+    max_levels = 2
+    proper_nesting_buffer = 2, 2, 2, 2, 2, 2
+    ratio_to_coarser {
+        level_1            = 2, 2
+        level_2            = 2, 2
+        level_3            = 2, 2
+        level_4            = 2, 2
+    }
+    largest_patch_size {
+        level_0 = -1, -1
+    }
+}
+
+GriddingAlgorithm {
+    enforce_proper_nesting = TRUE
+    extend_to_domain_boundary = FALSE
+    proper_nesting_buffer = 2, 2, 2, 2, 2, 2
+    efficiency_tolerance = 0.80
+    combine_efficiency = 0.75
+    check_nonrefined_tags = "ERROR"
+    check_overlapping_patches = "ERROR"
+    extend_tags_to_bdry = TRUE
+    sequentialize_patch_indices = TRUE
+    barrier_before_regrid = TRUE
+    barrier_before_find_refinement = TRUE
+    barrier_before_cluster = TRUE
+    barrier_before_nest = TRUE
+    barrier_before_limit = TRUE
+    barrier_before_extend = TRUE
+    barrier_before_balance = TRUE
+    barrier_after_find_refinement = TRUE
+    coalesce_boxes = FALSE
+}
diff -r 0642a80b3aed -r 5be0cf262822 input/MDPI_3D.input
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/input/MDPI_3D.input	Fri Apr 29 20:47:59 2011 -0700
@@ -0,0 +1,119 @@
+// A test input to make sure that MDPI pressure interpolation is
+// working correctly.  It solves the pressure on a lower level and
+// then interpolates it to a fine level.  On the fine level, the
+// pressure should be
+//
+
+// for k=0, 3
+// -0.456389 -0.355962 -0.342132 -0.469687 
+// -0.289678 -0.241199 -0.233727 -0.304896 
+// 0.265381 0.223664 0.210722 0.277889 
+// 0.282899 0.223440 0.213877 0.305796 
+
+// for k=1, 2
+
+// -0.343506 -0.285480 -0.274355 -0.354246 
+// -0.231089 -0.200708 -0.194497 -0.243742 
+// 0.211629 0.186092 0.175329 0.222176 
+// 0.208814 0.177363 0.169868 0.227575 
+
+// To get these numbers, we have to change background_density and
+// block_density to 1 in FACStokes/initializeLevelData.C, and the
+// initial guess of pressure to 0 in FACStokes/solveStokes.C
+
+
+Main {
+    dim = 3
+    base_name = "MDPI_3D"
+    log_all_nodes = TRUE
+    vis_writer = "Vizamrai", "VisIt"
+}
+
+FACStokes {
+    adaption_threshold = -1
+
+    viscosity_ijk= 4, 4, 4
+    viscosity_coord_min= 0.12, 0.12, 0.12
+    viscosity_coord_max= .87, .87, .87
+    viscosity_data= 1, 1.1, 1.2, 1.3,
+                    1.4, 1.5, 1.6, 1.7,
+                    1.8, 1.9, 2, 2.1, 2.2,
+                    2.3, 2.4, 2.5,
+                    1, 1.1, 1.2, 1.3,
+                    1.4, 1.5, 1.6, 1.7,
+                    1.8, 1.9, 2, 2.1, 2.2,
+                    2.3, 2.4, 2.5,
+                    1, 1.1, 1.2, 1.3,
+                    1.4, 1.5, 1.6, 1.7,
+                    1.8, 1.9, 2, 2.1, 2.2,
+                    2.3, 2.4, 2.5,
+                    1, 1.1, 1.2, 1.3,
+                    1.4, 1.5, 1.6, 1.7,
+                    1.8, 1.9, 2, 2.1, 2.2,
+                    2.3, 2.4, 2.5
+    fac_solver {
+        enable_logging = TRUE   // Bool flag to switch logging on/off
+        max_cycles = 1         // Max number of FAC cycles to use
+        residual_tol = 1e-5     // Residual tolerance to solve for
+        num_pre_sweeps = 0      // Number of presmoothing sweeps to use
+        num_post_sweeps = 0     // Number of postsmoothing sweeps to use
+        smoothing_choice = "Tackley"
+        coarse_solver_choice = "Tackley"
+        coarse_solver_max_iterations = 1000
+        coarse_solver_tolerance = 1e-13
+        p_prolongation_method = "P_MDPI_REFINE"
+        // p_prolongation_method = "P_REFINE"
+        v_prolongation_method = "V_REFINE"
+    }
+    bc_coefs {
+        boundary_0 = "value", "0"
+        boundary_1 = "value", "0"
+        boundary_2 = "value", "0"
+        boundary_3 = "value", "0"
+    }
+}
+
+CartesianGridGeometry {
+    domain_boxes = [(0,0,0), (1,1,1)]
+    x_lo         = 0, 0, 0
+    x_up         = 1, 1, 1
+}
+
+StandardTagAndInitialize {
+    tagging_method = "GRADIENT_DETECTOR"
+}
+
+PatchHierarchy {
+    max_levels = 2
+    proper_nesting_buffer = 2, 2, 2, 2, 2, 2
+    ratio_to_coarser {
+        level_1            = 2, 2, 2
+        level_2            = 2, 2, 2
+        level_3            = 2, 2, 2
+        level_4            = 2, 2, 2
+    }
+    largest_patch_size {
+        level_0 = -1, -1, -1
+    }
+}
+
+GriddingAlgorithm {
+    enforce_proper_nesting = TRUE
+    extend_to_domain_boundary = FALSE
+    proper_nesting_buffer = 2, 2, 2, 2, 2, 2
+    efficiency_tolerance = 0.80
+    combine_efficiency = 0.75
+    check_nonrefined_tags = "ERROR"
+    check_overlapping_patches = "ERROR"
+    extend_tags_to_bdry = TRUE
+    sequentialize_patch_indices = TRUE
+    barrier_before_regrid = TRUE
+    barrier_before_find_refinement = TRUE
+    barrier_before_cluster = TRUE
+    barrier_before_nest = TRUE
+    barrier_before_limit = TRUE
+    barrier_before_extend = TRUE
+    barrier_before_balance = TRUE
+    barrier_after_find_refinement = TRUE
+    coalesce_boxes = FALSE
+}
diff -r 0642a80b3aed -r 5be0cf262822 input/MDPI_flipped.input
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/input/MDPI_flipped.input	Fri Apr 29 20:47:59 2011 -0700
@@ -0,0 +1,99 @@
+// A test input to make sure that MDPI pressure interpolation is
+// working correctly.  This is a flipped version of MDPI.input, so you
+// have to set the v_rhs(y) to -1.  On the fine level, the pressure
+// should the same as MDPI.input, but in reverse order.  It is not
+// exactly the same because the red-black sweeps break the symmetry.
+// The results are
+//
+// 0.314102 0.194681 0.201706 0.292173 
+// 0.252227 0.180541 0.190052 0.239130 
+// -0.266160 -0.192277 -0.197931 -0.252446 
+// -0.455134 -0.297653 -0.308749 -0.442016 
+
+// To get these numbers, we have to change background_density and
+// block_density to -1 in FACStokes/initializeLevelData.C, and the
+// initial guess of pressure to 0 in FACStokes/solveStokes.C
+
+Main {
+    dim = 2
+    base_name = "MDPI_flipped"
+    log_all_nodes = TRUE
+    vis_writer = "Vizamrai", "VisIt"
+}
+
+FACStokes {
+    adaption_threshold = -1
+
+    viscosity_ijk= 4, 4
+    viscosity_coord_min= 0.125, 0.125
+    viscosity_coord_max= .875, .875
+    viscosity_data= 2.5, 2.4, 2.3, 2.2,
+                    2.1, 2, 1.9, 1.8,
+                    1.7, 1.6, 1.5, 1.4,
+                    1.3, 1.2, 1.1, 1
+    fac_solver {
+        enable_logging = TRUE   // Bool flag to switch logging on/off
+        max_cycles = 1         // Max number of FAC cycles to use
+        residual_tol = 1e-3     // Residual tolerance to solve for
+        num_pre_sweeps = 0      // Number of presmoothing sweeps to use
+        num_post_sweeps = 0     // Number of postsmoothing sweeps to use
+        smoothing_choice = "Tackley"
+        coarse_solver_choice = "Tackley"
+        coarse_solver_max_iterations = 10000
+        coarse_solver_tolerance = 1e-8
+        p_prolongation_method = "P_MDPI_REFINE"
+        // p_prolongation_method = "P_REFINE"
+        v_prolongation_method = "V_REFINE"
+    }
+    bc_coefs {
+        boundary_0 = "value", "0"
+        boundary_1 = "value", "0"
+        boundary_2 = "value", "0"
+        boundary_3 = "value", "0"
+    }
+}
+
+CartesianGridGeometry {
+    domain_boxes = [(0,0), (1,1)]
+    x_lo         = 0, 0
+    x_up         = 1, 1
+}
+
+StandardTagAndInitialize {
+    tagging_method = "GRADIENT_DETECTOR"
+}
+
+PatchHierarchy {
+    max_levels = 2
+    proper_nesting_buffer = 2, 2, 2, 2, 2, 2
+    ratio_to_coarser {
+        level_1            = 2, 2
+        level_2            = 2, 2
+        level_3            = 2, 2
+        level_4            = 2, 2
+    }
+    largest_patch_size {
+        level_0 = -1, -1
+    }
+}
+
+GriddingAlgorithm {
+    enforce_proper_nesting = TRUE
+    extend_to_domain_boundary = FALSE
+    proper_nesting_buffer = 2, 2, 2, 2, 2, 2
+    efficiency_tolerance = 0.80
+    combine_efficiency = 0.75
+    check_nonrefined_tags = "ERROR"
+    check_overlapping_patches = "ERROR"
+    extend_tags_to_bdry = TRUE
+    sequentialize_patch_indices = TRUE
+    barrier_before_regrid = TRUE
+    barrier_before_find_refinement = TRUE
+    barrier_before_cluster = TRUE
+    barrier_before_nest = TRUE
+    barrier_before_limit = TRUE
+    barrier_before_extend = TRUE
+    barrier_before_balance = TRUE
+    barrier_after_find_refinement = TRUE
+    coalesce_boxes = FALSE
+}



More information about the CIG-COMMITS mailing list