BRIEF HISTORY OF DYNAFLOW AND ITS UNIQUE CAPABILITIES
Dynaflow has been developed over the past 40 years by Professor Jean H. Prévost while at Princeton University. The code has evolved greatly since its beginnings and has undergone several significant changes in data structure and solution strategies to accommodate an ever evolving computing and hardware environment. It is written in Fortran 77/90 and currently has over 850,000 source lines. Dynaflow has been developed in an academic research environment which encourages innovation in approaches and novel solution procedures. It thus has many unique and versatile features.
Despite large system capacity, no loss of efficiency is encountered in solving small problems. Dynaflow can be run on laptops, desktops and massively parallel supercomputing clusters (using MPI).
Dynaflow has an established reputation for being fast, accurate, stable and fully validated. Its many features and versatility have been illustrated by its applications to many varied challenges such as problems in Geotechnical Earthquake Engineering (e.g., soil liquefactions), design of unusual foundations (e.g., Ekofisk tank in the North Sea, Rion-Antirion cable-stayed bridge in Greece), design of Nuclear waste containing structures, reactive transport in cements, crustal plates subduction simulations, facture propagation in MEMS structures, mechanical and electrical conductivity properties of nano FGS filled polymers, microstructural failures in Li-ions batteries, optimum design of micro-structures for strength and transport, and Reservoir Engineering which is the focus of the discussion below.
Dynaflow is a general purpose finite element analysis program for the static and transient response of linear and non-linear one-, two- and three-dimensional systems in structural, solid and fluid mechanics. The term finite element in Dynaflow encompasses various discretization techniques, all based on a finite element mesh used to discretize the problem at hand, and include Galerkin and finite volume (both cell-centered and vertex-centered) schemes. Dynaflow has an extensive library of finite element topologies that includes 2-node lines, 3-node triangles, 4-node quads, 8-node hexahedra (brick), and 4-node tetrahedra. In Dynaflow, complex geometries and mesh configurations are handled by structured and/or unstructured grids.
In Dynaflow, there are no restrictions on the number of elements (cells), the number of load-cases, the number of load-time functions, or the number or bandwidth of the equations. Both symmetric and non-symmetric direct and iterative (CG and/or GMRES) matrix solvers are available. In both static and transient analyses, implicit-explicit predictor-(multi-) corrector residual based schemes are used. Advanced state-of-the-art Newton-Raphson, modified Newton and quasi-Newton (BFGS and Broyden updates) iteration schemes with selective line search (Strang, backtracking, line-minimization, etc.) options available to extract non-linear solutions.
In Dynaflow, a variety of techniques are used to solve the coupled partial differential equations governing the specifics of the physics at hand, each selected to yield optimum accuracy in solution. For instance, in Geomechanical-Reservoir models the stress equation is solved by the Galerkin finite element method (FEM). Various implementations of the pressure equation are available and include Galerkin FEM, cell-centered and vertex-centered finite volume methods. In order to be able to use equal order interpolants for both displacement(s) and pressure(s), Dynaflow has a unique Stabilized Galerkin FEM for the pressure equation. The saturation transport equation is solved by a Finite Volume technique (as is commonly done in Reservoir Simulators) with up-winding. However, the Dynaflow implementation is not restricted to cell-centered Finite Volume schemes as is commonly the case in Reservoir models, because of the need to interface with other vertex centered variables (e.g., displacements, pressure(s), temperature, etc.). Dynaflow includes a unique toolbox which allows use of Vertex-Centered Finite Volume schemes on both structured and unstructured meshes.
Dynaflow has unique multi-field/physics capabilities via selective specification of multiple solution staggers. In particular, Dynaflow has unique capabilities for solving strongly coupled multi-physics (e.g., stress and pressure equations), by computing the coupled Jacobian matrix by highly efficient elementby-element finite differencing of the residuals (without the need to combine the coupled equations in a new separate module). To maximize efficiency and memory management Dynaflow includes the capability to selectively allocate/deallocate solver arrays.
Dynaflow also has unique capabilities for slaving nodes/unknowns, for equivalencing nodes/equations, for imposing cyclic symmetries, periodic boundary conditions and multi-point constraints. Many of those require special unique procedures such as constrained augmented Lagrangian procedures which have important applications in Reservoir simulations for constraining well fluxes and bottom hole pressure production/extraction.
Dynaflow also offers eigenvalue/vector solution solvers (including determinant search, subspace iterations and various Lanczos algorithms).
Dynaflow has a fully documented user’s manual (http://blogs.princeton.edu/prevost/dynaflow). Exporting results is handled by an in-house translator making available all aspects of reporting standards of industry and academia (e.g., Femsys_femgv, paraview [both vtk and Ensight6], etc.) and procedures are also available to export time histories of selected nodal/cell entities for visualization using Excel, etc.
Dynaflow has a free input format mode organized into data blocks with corresponding macro-commands and keywords, and can accommodate any userpreferred mesh input format.
Dynaflow has an extensive “PDE’s” library (currently 85), and has an extensive material (linear and non-linear) library including many geomechanical material models (e.g., Mohr-Coulomb), relative permeability functions, permeability degradation functions as a result of shear, dilation and/or tensile stresses, etc. Interface elements are also available to model discontinuities (such as faults) and include contact elements, slide-line/surfaces elements with either perfect friction (including Coulomb friction models) or frictionless conditions XFEM options are also available for modeling faults (for both mechanical and/or fluid flow) in both 2D and 3D meshes without explicitly meshing the fault discontinuities. These unique features enable the user to model complex geological material behavior (including failure) and interface conditions in geological faults.
Dynaflow executables can be generated with selective specifications of either short (-i4) or long (-i8) integers for both single-core or multi-core (MPI) executions. Two MPI solvers implementation are available: one in which the master node assembles the global matrix then partitions its graph and scatters the local matrices to each slave for solution; in the other implementation the mesh is partitioned (using METIS) and each slave locally generates its own part of the matrix for solution.
In our most recent work, we have significantly expended Dynaflow capabilities:
1. It now has the capability to model nonplanar faults in 3D including intersecting faults for both Geomechanics and fluid flow using very novel X-FEM procedures. The procedure allows large number of faults to be inserted in the mesh without explicitly meshing the faults in both structured (hexahedral) and unstructured (tetrahedral) meshes.
2. It now has a new improved storage allocation scheme to allow up to 5.5 million cells (in 3D) in both serial and MPI implementations using short(-i4) integers. The new version is now able to solve successfully a large 3D test case with 5.5 million cells (over 15 million equations), and scales almost perfectly when using MPI (viz, on a single core: 1 hr 7 mns, on 8 cores: 16 mns). Dynaflow has a proven track record in providing reliable and predictive Reservoir Petroleum Engineering information by its application to challenging problems such as the Ekofisk subsidence, CO2 injection at In Salah, SAGD operations in Alberta province (Canada), etc.
To date, Dynaflow has typically been licensed in compiled form to protect its integrity and the tremendous investment and proprietary work product that 40 years and over 850,000 lines of code represent. However, Princeton University is willing to consider licensing of the source code, which would enable the integration of many of the powerful features of Dynaflow within a Licensee proprietary internal modeling software, and would give a Licensee a definite competitive advantage over other market participants. In our estimation the successful application of Dynaflow to even one substantial reservoir petroleum engineering problem would make the investment in the source code highly attractive on a cost-benefit and/or payback period basis. Any source code license would include terms obligating a Licensee to implement appropriate safeguards and guarantee that the source code remains internal to a Licensee.
The source-code license would be available on an unrestricted and nonexclusive basis for a one-time upfront fee based on either the number of sites where the code will be installed or on an unrestricted sites option. Princeton is also amenable to considering other business term proposals.
Professor Jean H. Prévost has over 40 years of experience in the areas of computational solid mechanics, wave propagation and transient effects in porous media, nonlinear constitutive theories, dynamic instabilities and localization of deformations in solids, thermo-elasticity, electro-magneto-solid interaction effects and finite element methods. He is currently doing research on topology optimization, delayed fracture in MEMS, cracks propagation in microstructures, and reservoir models for CO2 sequestration in deep saline aquifers. He has published over 250 technical papers in refereed journals and Conference Proceedings.
Chris Wright • Princeton University Office of Technology Licensing (609) 258-6762 • firstname.lastname@example.org