[cig-commits] commit: Add in sinker benchmark

Mercurial hg at geodynamics.org
Fri Apr 15 06:01:45 PDT 2011


changeset:   154:3ff94602daf5
user:        Walter Landry <wlandry at caltech.edu>
date:        Thu Apr 14 13:03:34 2011 -0700
files:       input/sinker.input
description:
Add in sinker benchmark


diff -r 8da365284e39 -r 3ff94602daf5 input/sinker.input
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/input/sinker.input	Thu Apr 14 13:03:34 2011 -0700
@@ -0,0 +1,160 @@
+/*************************************************************************
+ *
+ * This file is part of the SAMRAI distribution.  For full copyright 
+ * information, see COPYRIGHT and COPYING.LESSER. 
+ *
+ * Copyright:     (c) 1997-2010 Lawrence Livermore National Security, LLC
+ * Description:   Input file for example FAC Stokes solver 
+ *
+ ************************************************************************/
+// This is the input file for the 2D FAC example
+// demonstrating changes in boundary conditions.
+//
+// Note that using constant refine prolongation
+// lead to slower convergence.
+
+Main {
+  dim = 2
+  // Base name for output files.
+  base_name = "sinker"
+  // Whether to log all nodes in a parallel run.
+  log_all_nodes = TRUE
+  // Visualization writers to write files for.
+  vis_writer = "Vizamrai", "VisIt"
+}
+
+FACStokes {
+  // The FACStokes class is the "user class" in this example.
+  // It owns the solver and contains the code to set up the solver.
+  // The inputs for FACStokes is simply the inputs for the individual
+  // parts owned by the FACStokes class.
+  fac_solver {
+    // This is the input for the cell-centered Stokes FAC solver
+    // class in the SAMRAI library.
+    enable_logging = TRUE   // Bool flag to switch logging on/off
+    max_cycles = 100         // Max number of FAC cycles to use
+    residual_tol = 1e-5     // Residual tolerance to solve for
+    num_pre_sweeps = 10      // Number of presmoothing sweeps to use
+    num_post_sweeps = 10     // Number of postsmoothing sweeps to use
+    smoothing_choice = "Tackley"
+    coarse_solver_choice = "Tackley"
+    // smoothing_choice = "Gerya"
+    // coarse_solver_choice = "Gerya"
+    coarse_solver_max_iterations = 25
+    coarse_solver_tolerance = 1e-8
+    // p_prolongation_method = "P_MDPI_REFINE"
+    p_prolongation_method = "P_REFINE"
+    v_prolongation_method = "V_REFINE"
+  }
+  bc_coefs {
+    // These are the boundary condition specifications.  The number
+    // after "boundary_" is the location index of the boundary.
+    // The inputs are arrays of strings where the first string
+    // indicates the type of values you want to set.  "slope" means
+    // boundary slope, "value" means boundary value, and "coefficients"
+    // mean the raw Robin boundary condition coefficients.
+    // The remaining strings are converted into numbers as
+    // appropriate for what boundary condition you specified with
+    // the first string.  Other boundary conditions are possible.
+    // see the solv_RobinBcCoefStrategy class.
+    // Examples:
+    // boundary_0 = "slope", "0"
+    // boundary_1 = "coefficients", "0", "0"
+    // boundary_2 = "value", "0"
+    // boundary_3 = "value", "0"
+    boundary_0 = "value", "0"
+    boundary_1 = "value", "0"
+    boundary_2 = "value", "0"
+    boundary_3 = "value", "0"
+  }
+}
+
+CartesianGridGeometry {
+  //  Specify lower/upper corners of the computational domain and a
+  //  set of non-overlapping boxes defining domain interior.  If union 
+  //  of boxes is not a parallelpiped, lower/upper corner data corresponds 
+  //  to min/max corner indices over all boxes given.
+  //  x_lo  -- (double array) lower corner of computational domain [REQD]
+  //  x_up  -- (double array) upper corner of computational domain [REQD]
+  //  domain_boxes  -- (box array) set of boxes that define interior of 
+  //                   physical domain. [REQD]
+  //  periodic_dimension -- (int array) coordinate directions in which 
+  //                        domain is periodic.  Zero indicates not
+  //                        periodic, non-zero value indicates periodicity.
+  //                        [0]
+  // domain_boxes = [(0,0), (15,15)]
+  domain_boxes = [(0,0), (3,3)]
+  x_lo         = 0, 0
+  x_up         = 1, 1
+}
+
+StandardTagAndInitialize {
+  tagging_method = "GRADIENT_DETECTOR"
+}
+
+PatchHierarchy {
+   // Information used to create patches in AMR hierarchy.
+   // max_levels -- (int) max number of mesh levels in hierarchy [REQD]
+   // 
+   // For most of the following parameters, the number of precribed data
+   // values need not match the number of levels in the hierarchy 
+   // (determined by max_levels).  If more values are given than number 
+   // of levels, extraneous values will be ignored.  If less are give, then
+   // values that correspond to individual levels will apply to those 
+   // levels.  Missing values will be taken from those for the finest
+   // level specified.
+   //
+   // ratio_to_coarser {
+   //   level_1 -- (int array) ratio between index spaces on 
+   //              level 1 to level 0 [REQD]
+   //   level_2 -- (int array)  ratio between index spaces on 
+   //              level 2 to level 1 [REQD]
+   //   etc....
+   // }
+   // largest_patch_size {
+   //   level_0 -- (int array) largest patch allowed on level 0. 
+   //              [REQD]    
+   //   level_1 -- (int array)    "       "      "   "  level 1 
+   //              [level 0 entry]
+   //   etc....                       
+   // }
+   max_levels = 6
+   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 = 32, 32
+      // level_0 = 8, 8
+      level_0 = -1, -1
+      // all finer levels will use same values as level_0...
+   }
+}
+
+GriddingAlgorithm {
+   enforce_proper_nesting = TRUE
+   extend_to_domain_boundary = FALSE
+   proper_nesting_buffer = 2, 2, 2, 2, 2, 2
+   // load_balance = FALSE
+   efficiency_tolerance = 0.80
+   combine_efficiency = 0.75
+   // write_regrid_boxes = TRUE
+   // read_regrid_boxes = TRUE
+   // regrid_boxes_filename = "grid"
+   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