Albany

"Adaptation of mesh during elastic deformation of rectangular bar."

  • A finite element based application development environment containing the "typical" building blocks needed for rapid deployment and prototyping of analysis capabilities
  • A mechanism to drive and demonstrate the AgileComponents rapid software development vision and the use of template-based generic programming (TBGP) for the construction of advanced analysis tools
  • A Trilinos demonstration application, built almost exclusively from reusable libraries. Albany leverages 100+ packages/libraries.
  • Provides an open-source computational mechanics environment and serves as a test-bed for algorithms under development by the Laboratory of Computational Mechanics (LCM) destined for Sandia's production codes

Albany's Distinguishing Capabilities

  • Use of template based generic programming methods based on Trilinos Phalanx to support the rapid and flexible addition of physics
  • Residual function templated on generic types:
    • AD (Trilinos Sacado) provides the efficient formation of an "analytic Jacobian" for use in the nonlinear solver / preconditioners
    • All manner of derivatives and polynomial propagations get automatically computed with zero development effort, to support embedded sensitivity analysis and UQ
  • RPI SCOREC PUMI and MeshAdapt forms the parallel mesh representation and provides distributed mesh adaptation
  • Sits on top of Trilinos --> full access to Trilinos linear and nonlinear solvers, continuation algorithms, preconditioners, Kokkos hybrid architecture technologies, AD and stochastic Galerkin tools, etc.

Albany Multiphysics

"Comparison of the GMRES convergence between ILU(0) and AMG preconditioning."

  • Test suite comprised of ~175 problems. Selected examples include:
  • Computational mechanics
    • elasticity, J2 plasticity, thermomechanics, unsaturated poroelasticity, thermo-poro-mechanics, diffusion-deformation, cladding Zry4 hydride reorientation, gradient damage, rate independent hardening minus recovery (RIHMR)
  • Fluids
    • compressible Navier-Stokes, finite element for land ice experiments (FELIX), coupled reactor, vortex shedding, Rayleigh-Bernard
  • Diffusion, misc
    • heat equation, PoissonSchrodinger, Cahn Hilliard / Elasticity, continuation, load and displacement stepping problems

Demo Setup

  • Example tarball (gzipped) is located at:
    • /gpfs/vesta-fs0/projects/FASTMath/examples/Albany/Examples.tgz
  • Copy tarball into your working space, place it in a new directory called "AlbanyExample"
  • tar -xvf Examples.tgz
  • cd into Utils
  • . ./Setup.sh
  • cd ..

Demo 1

  • Baseline parallel adaptive elasticity calculation in Albany
  • Demonstrates
    • Elastic deformation of a rectangular bar with a center hole
    • ILU(0) preconditioned GMRES solution of elasticity equations
    • Software
    • Algorithms
    • Input files:
      • Albany XML input file: inputElastILU.xml
      • PUMI mesh file: coarse_bar_with_hole_FMDB.sms
    • Output files:
      • Paraview driver file: elast_coarse_bar_with_hole.pvd
      • Parallel vtk results files: elast_coarse_bar_with_hole_*_*.vtu
      • Linear convergence trajectories (GMRES): BelosILU.out
  • Executing the example (assumes ../Utils/Setup.sh has been sourced):
    cd Demo_1
    mpiexec -np 4  /gpfs/vesta-fs0/projects/FASTMath/examples/Albany/Albany inputElastILU.xml | tee BelosILU.out 
    
  • Examining results
    • Topic of Demo 2

Demo 2

Exercise 1

  • Changing the preconditioner used for the GMRES solver in Albany
  • Demonstrates:
    • Albany XML input file syntax
    • The effectiveness of AMG preconditioning vs. ILU(0) on this problem
    • Algorithms
  • Executing the example
    • Copy the inputElastILU.xml file from the Demo_1 directory into the Demo_2 directory with the name inputElastML.xml
    • Edit the "Preconditioner Type" parameter (line number 160), changing "Ifpack" to "ML"
    • Run similar to Demo 1, saving the screen output to BelosML.out
      cd Exercise_1
      cp ../Demo_1/inputElastILU.xml inputElastML.xml
      Edit the file...
      mpiexec -np 4  /gpfs/vesta-fs0/projects/FASTMath/examples/Albany/Albany inputElastML.xml | tee BelosML.out 
      
  • Examining and analyzing the results
    • See Exercise 2

Exercise 2

  • Comparing the ILU(0) and AMG preconditioners
  • Demonstrates:
    • Processing convergence data for each linear iteration at each boundary displacement value
    • Plotting the convergence data using gnuplot for comparison
  • Executing the example
    • Compile the C++ code that strips the convergence data from the screen dump file
      • /usr/bin/g++ process_file.C -o process_file
    • Process the screen dump files obtained from Demo 1 and Exercise 1
      • ./process_file BelosILU.out
      • ./process_file BelosML.out
    • Plot the processed data using gnuplot
      • gnuplot convergence.plt
  • Examining and analyzing the results
    • Study the convergence.eps output from gnuplot
      • Which is the best preconditioner for this problem? Why?
      • Why do we see the behavior of the preconditioner change during the simulation?
      • What is equilibration, and why is it necessary?

More Info

  • Albany has ~175 example problems
    cd /home/ghansen/FASTMath/src/Albany/build/examples
    ls
    
  • Browse as desired, although documentation of the examples is sparse
    • The input files follow a convention input*.xml
    • Other files are the input mesh, material definitions, etc.
  • To run one of these examples
    • Copy all the files in the example subdirectory to a location of your choosing
    • Select the desired input file to run if there are multiple
      mpiexec -np 4  /gpfs/vesta-fs0/projects/FASTMath/examples/Albany/Albany input<extension>.xml
      
  • Please email Glen Hansen, "" if you have questions, comments, or want to learn more about Albany

Additional References

  • M. Gee, C. Siefert, J. Hu, R. Tuminaro, and M. Sala. ML 5.0 smoothed aggregation users guide. Technical Report SAND2006-2649, Sandia National Laboratories, 2006
    Qiushi Chen, Jakob T. Ostien, Glen Hansen. Development of a Used Fuel Cladding Damage Model Incorporating Circumferential and Radial Hydride Responses. Journal of Nuclear Materials, Submitted. Technical Report SAND2013-5907J
  • Glen A. Hansen, Jake T. Ostien, and Qiushi Chen. NEAMS VLTS Project: Level 2 milestone summary. Technical Report SAND2012-5808, Sandia National Laboratories, 2012
  • Michael A. Heroux, Roscoe A. Bartlett, Vicki E. Howle, Robert J. Hoekstra, Jonathan J. Hu, Tamara G. Kolda, Richard B. Lehoucq, Kevin R. Long, Roger P. Pawlowski, Eric T. Phipps, Andrew G. Salinger, Heidi K. Thornquist, Ray S. Tuminaro, James M. Willenbring, Alan Williams, and Kendall S. Stanley. An overview of the Trilinos package. ACM Trans. Math. Softw., 31(3):397–423, 2005. http://trilinos.sandia.gov
  • Roger P. Pawlowski, Eric T. Phipps, and Andrew G. Salinger. Automating embedded analysis capabilities and managing software complexity in multiphysics simulation, Part I: Template-based generic programming. Scientific Programming, 20(2):197–219, 01 2012. doi: 10.3233/SPR-2012-0350. URL http://dx.doi.org/10. 3233/SPR-2012-0350
  • Roger P. Pawlowski, Eric T. Phipps, Andrew G. Salinger, Steven J. Owen, Christopher M. Siefert, and Matthew L. Staten. Automating embedded analysis ca- pabilities and managing software complexity in multiphysics simulation, Part II: Application to partial differential equations. Scientific Programming, 20(3):327– 345, 01 2012. doi: 10.3233/SPR-2012-0351. URL http://dx.doi.org/10.3233/SPR-2012-0351
  • Eric Phipps. A path forward to embedded sensitivity analysis, uncertainty quantification and optimization. https://cfwebprod.sandia.gov/cfdocs/CCIM/docs/Phipps_Embedded_SA_UQ_Opt_web.pdf
  • Eric Phipps and Roger Pawlowski. Efficient expression templates for operator overloading-based automatic differentiation. Preprint, 2012. http://arxiv.org/abs/1205.3506v1
  • Eric Phipps, H. Carter Edwards, Jonathan Hu, and Jakob T. Ostien. Exploring emerging manycore architectures for uncertainty quantification through embedded stochastic Galerkin methods. International Journal of Computer Mathematics, 0:1–24, 2012. Submitted. Technical Report SAND2013-0608J.
  • A. Salinger et al. Albany website. https://software.sandia.gov/albany.

Attachments

elast.pdf (285 KB) Glen Hansen, 07/29/2013 06:05 pm

AlbanyDemo.png (87.5 KB) Glen Hansen, 08/02/2013 04:39 pm

small_box.png (85.8 KB) Glen Hansen, 08/02/2013 04:53 pm

convergence.png (86.1 KB) Glen Hansen, 08/02/2013 05:04 pm

AlbanyDemo.pdf (724 KB) Cameron Smith, 08/03/2013 11:07 am

elast.avi (1.29 MB) Cameron Smith, 08/03/2013 11:07 am