# A Brief History of Dynaflow™ and its Unique Capabilities

Dynaflow has been developed over the past 35 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 800,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-ion 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 element-by-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. 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 user-preferred mesh input format.

Dynaflow has an extensive “PDEs” 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) 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 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.