1. 20 Jan, 2017 40 commits
    • Brendan Kochunas's avatar
      Add coverter function from MPACT to Teuchos PList · 1c7caed5
      Brendan Kochunas authored
      Description:
      Add a method to the MPACT parameter list to convert to Teuchos parameter list,
      using the ForTeuchos bindings. This is useful for specifying options to the
      Trilinos solvers.
      
      CASL Ticket # - 4169
      1c7caed5
    • Mitchell T. Young's avatar
      Add Trilinos as an optional dependency to Utils · 1978f4bc
      Mitchell T. Young authored
      Description:
      To add capability to convert MPACT parameter lists  to Teuchos parameter lists,
      Trilinos needs to be an optional dependency for Utils. This also adds the
      HAVE_ForTeuchos preprocessor definition.
      
      CASL Ticket # - 4169
      1978f4bc
    • Mitchell T. Young's avatar
      Fix some preproc macros for ForTeuchos · 23e497a0
      Mitchell T. Young authored
      Description:
      
      CASL Ticket # - N/A
      23e497a0
    • Mitchell T. Young's avatar
      Remove write statements, add comments about Anasazi/PC parameters · efe39fec
      Mitchell T. Young authored
      Description:
      
      CASL Ticket # - N/A
      efe39fec
    • Mitchell T. Young's avatar
      Fix capitalization · 85adfc4b
      Mitchell T. Young authored
      Description:
      
      CASL Ticket # - N/A
      85adfc4b
    • Mitchell T. Young's avatar
      Replace the Init/Finalize routines with RCP's in Trilinos wrappers · 7b5a6647
      Mitchell T. Young authored
      Description:
      Previously, the containers used to by the Trilinos wrappers were stored as raw
      pointers, necessitating an Init and Finalize routine. To avoid that, they are
      instead stored in global reference counted pointers, which are initialized and
      destroyed automatically
      
      CASL Ticket # - N/A
      7b5a6647
    • Mitchell T. Young's avatar
      Clean up Trilinos interfaces and forward parameters to Belos and Preconditioners · b4b105ff
      Mitchell T. Young authored
      Description:
      
      CASL Ticket # - N/A
      b4b105ff
    • Mitchell T. Young's avatar
      Make ForTeuchos required if Trilinos is enabled · ba17a88e
      Mitchell T. Young authored
      Description:
      
      CASL Ticket # - N/A
      ba17a88e
    • Mitchell T. Young's avatar
      Add a parameter list interface to the Belos solver wrappers · 42a1bd40
      Mitchell T. Young authored
      Description:
      This give Belos wrapper access to runtime options through parameters lists for
      code that wishes to use it. This is done similarly to the Anasazi wrappers,
      though unlike Anasazi, there is no client code yet where it makes sense to use
      it
      
      CASL Ticket # - N/A
      42a1bd40
    • Mitchell T. Young's avatar
      Propagate optional Anasazi parameters from XML · b3767c33
      Mitchell T. Young authored
      Description:
      This propagates the options from the anasazi options in the XML file through all
      of the flaming hoops necessary to actually see them in the parameter list in
      CMFD initialization.
      
      CASL Ticket # - N/A
      b3767c33
    • Mitchell T. Young's avatar
      Use the parameter list initializer for Anasazi · 34093242
      Mitchell T. Young authored
      Description:
      This adds a preprocessor branch to create and use a ForTeuchos parameter list to
      configure the Anasazi solver in the EigenvalueSolverTypes. For now, it is just
      manually setting some of the defailts that live in the Trilinos solver wrappers
      already, but serves as a good place to customize later.
      
      CASL Ticket # - 4169
      34093242
    • Mitchell T. Young's avatar
      Add Anasazi initializer with parameters · 4882c6d2
      Mitchell T. Young authored
      Description:
      Previously, the Anasazi_Init() function used hard-coded defaults to configure
      the solver. This commit adds another function, Anasazi_Init_Params(), which
      accepts a ForTeuchos parameter list, which can contain options determined on the
      Fortran/MPACT side.
      
      CASL Ticket # - 4169
      4882c6d2
    • Mitchell T. Young's avatar
      Add coverter function from MPACT to Teuchos PList · d348674f
      Mitchell T. Young authored
      Description:
      Add a method to the MPACT parameter list to convert to Teuchos parameter list,
      using the ForTeuchos bindings. This is useful for specifying options to the
      Trilinos solvers.
      
      CASL Ticket # - 4169
      d348674f
    • Mitchell T. Young's avatar
      Add Trilinos as an optional dependency to Utils · 1afcb1b2
      Mitchell T. Young authored
      Description:
      To add capability to convert MPACT parameter lists  to Teuchos parameter lists,
      Trilinos needs to be an optional dependency for Utils. This also adds the
      HAVE_ForTeuchos preprocessor definition.
      
      CASL Ticket # - 4169
      1afcb1b2
    • Dan Jabaay's avatar
      Adding unit tests and fixing variable typo. · 2f9350fe
      Dan Jabaay authored
      Description:
      Added unit tests to test the INCL=0,1,2 options for findUp/LowBound and
      by association findEleHtAbove/Below.  Tests pass and they exposed a
      typo for one of the incl variables
      
      CASL Ticket # - PHI #4485
      2f9350fe
    • Dan Jabaay's avatar
      Uncommenting interface option INCL and adding necessary code. · 6c1361ab
      Dan Jabaay authored
      Description:
      This option was added to the findUp/LowBound routines but remained
      commented out.  It is needed for control rod movement development and
      has been uncommented and implemented.  Unit tests will be added shortly.
      
      CASL Ticket # - PHI #4485
      6c1361ab
    • Dan Jabaay's avatar
      Missed a local variable. · 5efdf090
      Dan Jabaay authored
      Description:
      See title.
      
      CASL Ticket # - PHI #3840
      5efdf090
    • Dan Jabaay's avatar
      Adding tol to some routines, removing tol limit. · 64ffbd89
      Dan Jabaay authored
      Description:
      Some of the arrayutils routines did not use the tolerance input option.
      That is fixed for findUpBound and findLowBound, and by association
      findEleHtAbove and findEleHtBelow.
      
      There was a range for valid tolerances in the findIndex routine.  The
      upper bound check on this has been removed, so the tolerance can be as
      coarse as needed.
      
      Adding the tolerance value from parameter TOL_GEOM_cm to all of the
      calls to findIndex, findEleHtAbove and findEleHtBelow.
      
      CASL Ticket # - PHI #3840
      64ffbd89
    • Dan Jabaay's avatar
      Changing some arrayutils interfaces, removing optional args. · a062ed74
      Dan Jabaay authored
      Description:
      Some optional arguments can be good, too many are a pain.  Reducing the
      number of them, making some previous ones required, including the DELTA.
      Removing the XI argument all together because it is possible to prepend
      an array variable using the (/SRK, var/) notation.  This makes that
      optional argument redundant.
      
      Adding the TOL optional argmuent to more of the array utils routines
      since it will likely be needed to resolve the control rod bug.
      
      These changes are being made in preparation for the addition of the TOL
      arguments in the control rod geom.
      
      CASL Ticket # - PHI #3840
      a062ed74
    • COLLINSBS email's avatar
      Fixing intel build, finishing doxygen comments · b87d287b
      COLLINSBS email authored
      CASL Ticket # - 4579
      b87d287b
    • COLLINSBS email's avatar
      Update how BDF solver is primed to obtain better convergence rates · 3401dd6d
      COLLINSBS email authored
      Description:
      Previous implementation had an extremely simplistic method to prime the BDF solver.
      This commit updates that implementation to use smaller time-steps to account for the
      accuracy difference in the different levels of solve.  This resulted in 2nd order
      convergence at best but now, BDF-n is able to obtain nth order accuracy.
      
      CASL Ticket # - 4579
      3401dd6d
    • Brendan Kochunas's avatar
      Adding missing ifdef in FileType_HDF5 · 01fa8b26
      Brendan Kochunas authored
      Description:
      
      CASL Ticket # - #4314
      01fa8b26
    • Dan Jabaay's avatar
      Updating unit test. · 3865da42
      Dan Jabaay authored
      Description:
      The unit test file readtest.h5 is now written from the test itself and
      then deleted.  No more need to carry it around in the repo.
      
      The new readtest.h5 also has the correct scalar/simple data types for
      logicals and strings that were changed in the filetype_hdf5.f90.
      
      Added testing for the read_pList routine.
      
      CASL Ticket # - PHI #4314
      3865da42
    • Dan Jabaay's avatar
      Adding read_parameter and read_pList subroutines. · 622c859a
      Dan Jabaay authored
      Description:
      Adding functionality to read in an arbitrary data set object and put it
      onto our internal parameter list object, which is encapsulated by
      read_parameter.
      
      The read_pList routine loops over all sub-objects of a
      specified path and adds each data set to the parameter list with the
      given full path.
      
      CASL Ticket # - PHI #4314
      622c859a
    • Dan Jabaay's avatar
      Making read_st0_helper actually read scalars since we are writing them. · f3b63bb8
      Dan Jabaay authored
      Description:
      The logic for the read_st0_helper was duplicated from the
      read_st1_helper routine.  In it, there is logic to determine whether the
      dataset to be read is a character array or a string.  This necessitated
      the creation of read_ca0.  It was patterened after read_ca1.
      
      This effort was primarily done to support the reading of logicals into
      the parameter list object.
      
      CASL Ticket # - PHI #4314
      f3b63bb8
    • Dan Jabaay's avatar
      Changing indentation formatting of read_b0 routine. · fb7391b7
      Dan Jabaay authored
      Description:
      See above.
      
      CASL Ticket # - PHI #4314
      fb7391b7
    • Dan Jabaay's avatar
      Changing the write_st0 routine to actually be a scalar write. · 2208e3b2
      Dan Jabaay authored
      Description:
      It seems this was not the case before as it was using the
      write_st1_helper routine.  Fixed it.
      
      CASL Ticket # - PHI #4314
      2208e3b2
    • Dan Jabaay's avatar
      Modifying the %pathexists routine to work for the '/' path. · 973fa91e
      Dan Jabaay authored
      Description:
      It would seem that the root path was not registered as existing when
      using the h5lexists_f routine.  This affected the isgrp not thinking it
      was a group, which in turn affected the ls function not returned the
      list of objects.
      
      The fix was to check if the path passed in is in fact length 1 and the
      first character equals '/'.
      
      CASL Ticket # - PHI #4314
      973fa91e
    • Dan Jabaay's avatar
      Adding check for ls function to check if the path is a group. · 82d920f5
      Dan Jabaay authored
      Description:
      Was running into issues where this function would be called on a dataset
      and not a group.  Added a check to the routine so that it returns an
      allocated array of the sub-objects if the path entered is a group.  It
      will return a deallocated array if the path is not a group.
      
      CASL Ticket # - PHI #4314
      82d920f5
    • Mitchell T. Young's avatar
      Fix logic for automatic determination of number of threads · d65a8c3c
      Mitchell T. Young authored
      Description:
      
      CASL Ticket # - N/A
      d65a8c3c
    • Mitchell T. Young's avatar
      Fix setting number of OpenMP threads in PE · f8ee2e93
      Mitchell T. Young authored
      The settings in the OMP parallel environment were getting squashed by the call
      to omp_set_num_threads(1) in the initialization of the Trilinos solvers. This
      call was there because in the absence of a defined OMP_NUM_THREADS environment
      variable, the Trilinos solvers would use all cores on a system. Manually setting
      OpenMP to use on thread in the Trilinos initialization affected the result of
      omp_get_max_threads, which was being treated as the maximum allowable number of
      threads, effectively limiting the number of threads to 1 for all cases.
      
      This commit changes the thread setting logic to:
       - Make sure that the requested number of threads is <= to the number of
         physical cores, otherwise raise a warning.
       - Call omp_set_num_threads() to the maximum number of threads requested over
         all instances of the OMP_EnvType
       - If the requested number of threads is zero, use omp_get_max_threads() to as
         the number of threads. This is not the same as omp_get_num_procs(); read the
         specification for details. Essentially this sets the number of threads to the
         OpenMP default value, which is usually the value of OMP_NUM_THREADS, if
         defined, or the result of omp_get_num_procs().
      
      Description:
      
      CASL Ticket # - N/A
      f8ee2e93
    • COLLINSBS email's avatar
      Fixing minor issues from code review · de1f9fe5
      COLLINSBS email authored
      de1f9fe5
    • COLLINSBS email's avatar
      Adds convergence tests for bdf methods · 68eea23a
      COLLINSBS email authored
      Description:
      Implemented tests for convergence rates for bdf methods 1-5 for both the
      exponential ODE set and the nonlinear ODE set.  Strangly, BDF methods 2-5
      all give second order accuracy.  I can't find documentation that that is
      reality but I confirmed with a hand calculation (ok, Excel calc) than
      bdf 3-5 all give 2nd order convergence.
      
      CASL Ticket # - 4579
      68eea23a
    • COLLINSBS email's avatar
      Added BDF solver and a few unit tests. · 0fcc39e7
      COLLINSBS email authored
      Description:
      BDF orders 1-5 are under unit test for the linear solution and all are passing.
      Next step is to add order of convergence tests for each level of BDF.
      
      CASL Ticket # - 4579
      0fcc39e7
    • COLLINSBS email's avatar
      Extending unit tests to look at order of convergence · 55fcb003
      COLLINSBS email authored
      CASL Ticket # - 4579
      55fcb003
    • COLLINSBS email's avatar
      Needed space in TYPE IS for intel · 2731217c
      COLLINSBS email authored
      2731217c
    • COLLINSBS email's avatar
      Added theta method to ODE solver · b26386a1
      COLLINSBS email authored
      CASL Ticket # - 4579
      b26386a1
    • COLLINSBS email's avatar
      Making gfortran happy · 52bc916c
      COLLINSBS email authored
      52bc916c
    • COLLINSBS email's avatar
      Refactor function pointer into encapsulated class which is extended · c627fadf
      COLLINSBS email authored
      Description:
      Previous design was causing issues with Intel, having an abstract interface
      with a function pointer passed as an argument.  There was also an unresolved
      issue with getting data (constants) passed into the function which is resolved
      by having an extended class.  Overall, the design is considerably better.
      
      CASL Ticket # - 4579
      c627fadf
    • COLLINSBS email's avatar
      Initialized linear solver to start process of implicit solve · 2ca0bf91
      COLLINSBS email authored
      CASL Ticket # - 4579
      2ca0bf91