Sandia is a multiprogram laboratory operated by Sandia Corporation, a Lockheed Martin Company, for the United States Department of Energy’s National Nuclear.

Slides:



Advertisements
Similar presentations
Kinematic Synthesis of Robotic Manipulators from Task Descriptions June 2003 By: Tarek Sobh, Daniel Toundykov.
Advertisements

A Discrete Adjoint-Based Approach for Optimization Problems on 3D Unstructured Meshes Dimitri J. Mavriplis Department of Mechanical Engineering University.
CSCI 347 / CS 4206: Data Mining Module 07: Implementations Topic 03: Linear Models.
Use of Kalman filters in time and frequency analysis John Davis 1st May 2011.
Stability Analysis Algorithms for Large-Scale Applications Andy Salinger, Roger Pawlowski, Ed Wilkes Louis Romero, Rich Lehoucq, John Shadid Sandia National.
Problem Uncertainty quantification (UQ) is an important scientific driver for pushing to the exascale, potentially enabling rigorous and accurate predictive.
Modern iterative methods For basic iterative methods, converge linearly Modern iterative methods, converge faster –Krylov subspace method Steepest descent.
Network Structure in Swing Mode Bifurcations u Motivation & Background –Practical Goal: examine loss of stability mechanisms associated w/ heavily loaded.
Linear and generalised linear models
Newton's Method for Functions of Several Variables
Linear and generalised linear models
Linear and generalised linear models Purpose of linear models Least-squares solution for linear models Analysis of diagnostics Exponential family and generalised.
PETE 603 Lecture Session #29 Thursday, 7/29/ Iterative Solution Methods Older methods, such as PSOR, and LSOR require user supplied iteration.
Sandia is a multiprogram laboratory operated by Sandia Corporation, a Lockheed Martin Company, for the United States Department of Energy’s National Nuclear.
Sandia is a multiprogram laboratory operated by Sandia Corporation, a Lockheed Martin Company, for the United States Department of Energy’s National Nuclear.
MS17 A Case Study on the Vertical Integration of Trilinos Solver Algorithms with a Production Application Code Organizer: Roscoe A. Bartlett Sandia National.
Sandia is a multiprogram laboratory operated by Sandia Corporation, a Lockheed Martin Company, for the United States Department of Energy’s National Nuclear.
LTE Review (September 2005 – January 2006) January 17, 2006 Daniel M. Dunlavy John von Neumann Fellow Optimization and Uncertainty Estimation (1411) (8962.
Page 1 Trilinos Software Engineering Technologies and Integration Capability Area Overview Roscoe A. Bartlett Department.
Sandia National Laboratories is a multi-program laboratory managed and operated by Sandia Corporation, a wholly owned subsidiary of Lockheed Martin Corporation,
Processing of a CAD/CAE Jobs in grid environment using Elmer Electronics Group, Physics Department, Faculty of Science, Ain Shams University, Mohamed Hussein.
Pamgen A Parallel Finite-Element Mesh Generation Library TUG 2008 Monday, October 21, 2008 David Hensinger (SNL) Sandia is a multiprogram laboratory operated.
Continuation Methods for Performing Stability Analysis of Large-Scale Applications LOCA: Library Of Continuation Algorithms Andy Salinger Roger Pawlowski,
Sandia is a multiprogram laboratory operated by Sandia Corporation, a Lockheed Martin Company, for the United States Department of Energy’s National Nuclear.
Sandia is a multiprogram laboratory operated by Sandia Corporation, a Lockheed Martin Company, for the United States Department of Energy’s National Nuclear.
Page 1 Trilinos Software Engineering Technologies and Integration Numerical Algorithm Interoperability and Vertical Integration –Abstract Numerical Algorithms.
1 Using the PETSc Parallel Software library in Developing MPP Software for Calculating Exact Cumulative Reaction Probabilities for Large Systems (M. Minkoff.
Large-Scale Stability Analysis Algorithms Andy Salinger, Roger Pawlowski, Ed Wilkes Louis Romero, Rich Lehoucq, John Shadid Sandia National Labs Albuquerque,
ME451 Kinematics and Dynamics of Machine Systems Numerical Solution of DAE IVP Newmark Method November 1, 2013 Radu Serban University of Wisconsin-Madison.
Page 1 Embedded Sensitivities and Optimization From Research to Applications Roscoe A. Bartlett Department of Optimization & Uncertainty Estimation Sandia.
Strategic Goals: To align the many efforts at Sandia involved in developing software for the modeling and simulation of physical systems (mostly PDEs):
1 ModelEvaluator Scalable, Extendable Interface Between Embedded Nonlinear Analysis Algorithms and Applications Roscoe A. Bartlett Department of Optimization.
Linear Buckling Analysis
Efficient Integration of Large Stiff Systems of ODEs Using Exponential Integrators M. Tokman, M. Tokman, University of California, Merced 2 hrs 1.5 hrs.
Generative Programming. Automated Assembly Lines.
Sandia is a multiprogram laboratory operated by Sandia Corporation, a Lockheed Martin Company, for the United States Department of Energy’s National Nuclear.
Strategies for Solving Large-Scale Optimization Problems Judith Hill Sandia National Laboratories October 23, 2007 Modeling and High-Performance Computing.
© 2011 Autodesk Freely licensed for use by educational institutions. Reuse and changes require a note indicating that content has been modified from the.
On the Use of Sparse Direct Solver in a Projection Method for Generalized Eigenvalue Problems Using Numerical Integration Takamitsu Watanabe and Yusaku.
Colorado Center for Astrodynamics Research The University of Colorado 1 STATISTICAL ORBIT DETERMINATION ASEN 5070 LECTURE 11 9/16,18/09.
© 2011 Autodesk Freely licensed for use by educational institutions. Reuse and changes require a note indicating that content has been modified from the.
Danny Dunlavy, Andy Salinger Sandia National Laboratories Albuquerque, New Mexico, USA SIAM Parallel Processing February 23, 2006 SAND C Sandia.
New Features in ML 2004 Trilinos Users Group Meeting November 2-4, 2004 Jonathan Hu, Ray Tuminaro, Marzio Sala, Michael Gee, Haim Waisman Sandia is a multiprogram.
1 Stratimikos Unified Wrapper to Trilinos Linear Solvers and Preconditioners Roscoe A. Bartlett Department of Optimization & Uncertainty Estimation Sandia.
Strengthening deflation implementation for large scale LQCD inversions Claude Tadonki Mines ParisTech / LAL-CNRS-IN2P3 Review Meeting / PetaQCD LAL / Paris-Sud.
Sandia is a multiprogram laboratory operated by Sandia Corporation, a Lockheed Martin Company, for the United States Department of Energy’s National Nuclear.
Connections to Other Packages The Cactus Team Albert Einstein Institute
Trilinos Strategic (and Tactical) Planning Sandia is a multiprogram laboratory operated by Sandia Corporation, a Lockheed Martin Company, for the United.
An Overview of Belos and Anasazi October 16 th, 11-12am Heidi Thornquist Teri Barth Rich Lehoucq Mike Heroux Computational Mathematics and Algorithms Sandia.
On the Use of Finite Difference Matrix-Vector Products in Newton-Krylov Solvers for Implicit Climate Dynamics with Spectral Elements ImpactObjectives 
Photos placed in horizontal position with even amount of white space between photos and header Sandia National Laboratories is a multi-program laboratory.
Chapter 2-OPTIMIZATION G.Anuradha. Contents Derivative-based Optimization –Descent Methods –The Method of Steepest Descent –Classical Newton’s Method.
Status of Reference Network Simulations John Dale ILC-CLIC LET Beam Dynamics Workshop 23 June 2009.
1 Spring 2003 Prof. Tim Warburton MA557/MA578/CS557 Lecture 34.
Multifidelity Optimization Using Asynchronous Parallel Pattern Search and Space Mapping Techniques Genetha Gray*, Joe Castro i, Patty Hough*, and Tony.
Algebraic Solvers in FASTMath Argonne Training Program on Extreme-Scale Computing August 2015.
Combining Trilinos Packages To Solve Linear Systems Michael A. Heroux Sandia National Labs.
Page 1 Open-Source Software for Interfacing and Support of Large-scale Embedded Nonlinear Optimization Roscoe A. Bartlett
Numerical Analysis – Data Fitting Hanyang University Jong-Il Park.
Finding Rightmost Eigenvalues of Large, Sparse, Nonsymmetric Parameterized Eigenvalue Problems Minghao Wu AMSC Program Advisor: Dr. Howard.
On the Path to Trinity - Experiences Bringing Codes to the Next Generation ASC Platform Courtenay T. Vaughan and Simon D. Hammond Sandia National Laboratories.
A Kriging or Gaussian Process emulator has: an unadjusted mean (frequently a least squares fit: ), a correction / adjustment to the mean based on data,
Sandia is a multiprogram laboratory operated by Sandia Corporation, a Lockheed Martin Company, for the United States Department of Energy’s National Nuclear.
Xing Cai University of Oslo
Meros: Software for Block Preconditioning the Navier-Stokes Equations
ModelEvaluator Scalable, Extendable Interface Between Embedded Nonlinear Analysis Algorithms and Applications Roscoe A. Bartlett Department of Optimization.
Trilinos Software Engineering Technologies and Integration
ENGG 1801 Engineering Computing
Embedded Nonlinear Analysis Tools Capability Area
Ph.D. Thesis Numerical Solution of PDEs and Their Object-oriented Parallel Implementations Xing Cai October 26, 1998.
Presentation transcript:

Sandia is a multiprogram laboratory operated by Sandia Corporation, a Lockheed Martin Company, for the United States Department of Energy’s National Nuclear Security Administration under contract DE-AC04-94AL Eric Phipps Andy Salinger, Roger Pawlowski 9233 – Computational Sciences Trilinos User Group Meeting November 3, 2004 Solving Large-Scale Continuation and Bifurcation Problems with LOCA

Why Do We Need Stability Analysis Algorithms for Large-Scale Applications? Nonlinear systems exhibit instabilities, e.g.: Multiple steady-states Ignition Buckling Onset of Oscillations Phase Transitions These phenomena must be understood in order to perform computational design and optimization. Established stability/bifurcation analysis libraries exist: AUTO (Doedel) CONTENT (Kuznetsov) MATCONT (Govaerts) We need algorithms, software, and experience to impact ASCI- and SciDAC-sized applications. Stability/bifurcation analysis provides qualitative information about time evolution of nonlinear systems by computing families of steady-state solutions. LOCA: Library of Continuation Algorithms

Outline What LOCA is/does Structural mechanics examples in Salinas –Snap-through buckling of an arch –Euler buckling of a beam LOCA software and configure options Overview of LOCA’s design and implementation –Bordering algorithms –Super groups/vectors Summary of LOCA’s current capabilities New capabilities since last TUG –Multi-parameter continuation –Householder arclength continuation –Modified turning point bordering algorithm

LOCA: Library of Continuation Algorithms LOCA provides: Parameter Continuation: Tracks a family of steady state solutions with parameter Linear Stability Analysis: Calculates leading eigenvalues via Anasazi (Thornquist, Lehoucq) Bifurcation Tracking: Locates neutral stability point (x,p) and tracks as a function of a second parameter Application code provides: Nonlinear steady-state residual and Jacobian fill: Newton-like linear solves: Second parameter, 1 1 3

Pseudo Arc-length Continuation Solves for Solution and Parameter Simultaneously

Codimension 1 Bifurcations Turning Point Pitchfork Hopf Combustion Buckling of an Arch Buckling of a Beam Pattern formation Cell differentiation (morphogenesis) Vortex Shedding Predator-Prey models Flutter

Snap-through Buckling of a Symmetric Arch Unstressed state of beam is flat Negative gravity used to bend beam into an arch Ends are hinged Beam is loaded in center 100 Salinas beam elements Continuation parameter is center load

Snap-through Buckling of a Symmetric Arch Change in stability at the turning point

Snap-through Buckling of a Symmetric Arch Tracking the turning point in a second parameter 1 solution 3 solutions 1 solution Locus of turning points Pseudo arc-length continuation on turning point equations Bending moment as continuation parameter Solving for load

Euler Buckling of a 3D Beam 1x1x50 solid aluminum beam 4x4x200 Salinas hex8 elements Ends are hinged, right end constrained to move along x-axis Continuation parameter is horizontal load at right end Buckles at load = 3770, beam theory predicts 3290.

LOCA v2.0 Complete rewrite of LOCA v1.0 (C-library) around NOX in C++ Trilinos package inside NOX subdirectory: –Trilinos/packages/nox/src-loca Completely dependent on NOX (i.e., you can’t build LOCA without NOX) Leverages NOX interface to application code Uses design of NOX to implement continuation and bifurcation tracking in a generic way All LOCA SQA tools are combined with NOX –Autoconf/automake –Documentation –Bugzilla, Bonsai –Mail lists

Summary of Relevant Configuration Options Top-level option to build LOCA in Trilinos: –--enable-loca (Default is on) Most configuration options mirror NOX: –--enable-loca-lapack – Enable LOCA LAPACK support (automatically enabled if NOX LAPACK support is enabled) –--enable-loca-epetra – Enable LOCA Epetra support (automatically enabled if NOX Epetra support is enabled) –--enable-loca-lapack-examples – Build LOCA LAPACK examples (automatically enabled if NOX LAPACK examples are enabled) –--enable-loca-epetra-examples – Build LOCA Epetra examples (automatically enabled if NOX Epetra examples are enabled) Other options –--with-loca-anasazi – Build LOCA-Anasazi interface (for automated eigen-analysis during continuation run) –--with-loca-mf – Build LOCA interface to MF (multi-parameter continuation) Other Trilinos options that must be in place –--enable-teuchos, --enable-teuchos-complex, --enable-anasazi (if LOCA Anasazi support is enabled)

LOCA Designed for Easy Linking to Existing Newton-based Applications Algorithmic choices for LOCA: Must work with iterative (approximate) linear solvers on distributed memory machines Non-Invasive Implementation (e.g. matrix blind) Should avoid or limit:  Requiring more derivatives  Changing sparsity pattern of matrix  Increasing memory requirements LOCA targets existing codes that are: Steady-State, Nonlinear Newton’s Method Large-Scale, Parallel

Bordering Algorithms Meet these Requirements Full Newton Algorithm Bordering Algorithm Pseudo Arc-length Continuation

Bordering Algorithms Meet these Requirements … but 4 solves of per Newton Iteration are used to drive singular! Turning Point Bifurcation Full Newton Algorithm Bordering Algorithm

Abstraction of Continuation Process Given initial guess, step size –Solve nonlinear equations to find 1 st point on curve –while !stop Compute predictor Compute predicted point Solve continuation equations for using as initial guess If successful –Postprocess (e.g., compute eigenvalues, output data) –Increase step size Else –Decrease step size –Restore previous solution End if If or or –stop = true –End while LOCA Stepper Predictor modules Step size modules NOX + continuation/ bifurcation groups

NOX implements various methods for solving Code to evaluate is encapsulated in a Group. NOX solver methods are generic, and implemented in terms of group/vector abstract interfaces: NOX solvers will work with any group/vector that implements these interfaces. NOX Nonlinear Solver (Kolda, Pawlowski, Hooper, Shadid) GroupVector computeF()dot() computeJacobian()scale() computeNewton()norm() applyJacobianInverse()update()

Idea: Given a vector to store and a group representing the equations, build an extended (“super”) group representing, e.g., pseudo arc-length continuation equations: and a super vector to store the solution component and parameter component. Super groups/vectors are generic: All abstract group/vector methods for super groups/vectors implemented in terms of methods of the underlying groups/vectors. Super groups are NOX groups: Extended nonlinear equations solved by most NOX solvers Super Vectors and Super Groups

Continuation Groups LOCA::Continuation::ExtendedGroup LOCA::Continuation::NaturalGroup LOCA::Continuation::ArclengthGroup LOCA::Continuation::AbstractGroup setParam() getParam() operator = () computeDfDp() computeEigenvalues() printSolution() Mandatory Default implementation available Optional NOX::Abstract::Group Concrete group

LOCA::Continuation::ArclengthGroup::applyJacobianInverse(const NOX::Abstract::Vector& input, NOX::Abstract::Vector& result) const { const LOCA::Continuation::ExtendedVector& con_input = dynamic_cast (input); LOCA::Continuation::ExtendedVector& con_result = dynamic_cast (result); const NOX::Abstract::Vector& input_x = con_input.getXVec(); double input_p = con_input.getParam(); NOX::Abstract::Vector& result_x = con_result.getXVec(); double& result_p = con_result.getParam(); NOX::Abstract::Vector* b = input_x.clone(NOX::ShapeCopy); underlyingGroupPtr->applyJacobianInverse(input_x, result_x); underlyingGroupPtr->applyJacobianInverse(*dfdpVecPtr, *b); result_p = (predictorVecPtr->getXVec().dot(result_x) – input_p) / (predictorVecPtr->getXVec().dot(*b) – predictorVecPtr->getParam()); result_x.update(-result_p, *b, 1.0); delete b; } Arc-length Group applyJacobianInverse()

Turning Point, Pitchfork Groups LOCA::Continuation::AbstractGroup LOCA::Bifurcation::TPBord::ExtendedGroup LOCA::Bifurcation::TPBord::AbstractGroup computeDJnDp() computeDJnDxa() applySingularJacobianInverse() NOX::Abstract::Group Concrete group LOCA::Bifurcation::PitchforkBord::ExtendedGroup LOCA::Continuation::AbstractGroup

Can overload many additional methods if better techniques are available –block solves –singular matrix solves –estimating derivatives: Interfacing Application Codes to LOCA GroupVectorRequired by setX()dot()NOX computeF()scale() computeJacobian()norm() applyJacobianInverse()update() setParam()Continuation Turning point Pitchfork computeMassMatrix()Shift-invert computeShiftedMatrix()Cayley applyShiftedMatrixInverse() computeComplex()Hopf applyComplexInverse()

LOCA’s Current Capabilities (New since last TUG in red) Single parameter continuation –Natural –Pseudo Arc-length –Householder arc-length Multi-parameter continuation Bifurcations –Turning point –Modified turning point –Pitchfork –Hopf Predictors –Constant (i.e., Euler) –Tangent –Secant –Random –Restart Step size control –Constant –Adaptive Status tests for bifurcations Natural & artificial homotopy Computing eigenvalues with Anasazi –Jacobian inverse –Shift-Invert –Cayley Native support for –LAPACK –Epetra

Multi-Parameter Continuation Multi-parameter continuation supplied through Multifario (MF) code (Mike Henderson, IBM) –General purpose code for covering an implicitly defined manifold Generic link through LOCA –LOCA stepper wraps MF driver –LOCA’s continuation groups implement MF’s interface –Uses new NOX multi-vector support MF library in Trilinos3PL Two examples in LOCA repository: –Chan (LAPACK), –Tcubed (Epetra) Resulting data files best visualized with OpenDX (

Multi-Parameter Continuation Example: Chan Problem

Householder Pseudo Arc-Length Continuation (New) Idea of Homer Walker*: Solve Q is given by a Householder transformation: Advantage – Nearly twice as fast Eliminates 2 nd solve of bordering method Applying Q only requires dot product + saxpy No change in preconditioning Disadvantage – Non-generic Currently only have Epetra implementation Belos implementation coming soon *H.F Walker, SIAM J. Sci. Comput., 1999 Newton solve for pseudo arc-length continuation:

Improving the Turning Point Bordering Algorithm Bordering Algorithm for Newton Updates Turning Point Equations blow up in the direction of as However, don’t. Idea: restrict to be orthogonal to and adjust bordering algorithm appropriately, e.g., solve where

Solve where Then Modified Turning Point Bordering Algorithm

3D Rayleigh-Benard Problem in 5x5x1 box (208K unknowns, 16 processors) Salsa application code Aztec GMRES solver Ifpack RILU preconditioner RILU fill factor: 2 RILU overlap: 2 Krylov space: 500 F = Turning point residual

Where We’re Going From Here Improve robustness/user interface –More step size control algorithms for homotopy problems –Continued work on improved bifurcation tracking algorithms –Tests for automatic bifurcation location –Automatic branch switching??? Incorporate –High order predictors –Constraint enforcement Complete transition to a multivector-based implementation Finish off the Belos and Epetra group implementations Implement LOCA-TSF adaptor Tests