Engineering Papers⌕ Search

SEARCH · Engineering Papers

Results for “differential equation solver”

Search indexed NASA NTRS and DOE OSTI research on propulsion, heat transfer, battery materials and energy systems. Follow report and document links to the original sources.

Quote a phrase for an exact phrase match. Source license links do not imply unrestricted reuse.

At least 37 records · Page 2

Multigrid solvers on parallel computers

Massively parallel computers, as considered in this investigation, are not yet available. However, a large-scale parallel computer cannot usefully be designed before the hypothetical algorithms which will employ it are studied. Most of the studies of parallel partial differential equations (PDE) solvers are based on solution techniques much slower (on sequential machines) than multigrid methods. Multigrid methods are highly parallelizable. Each of their processes can simultaneously be performed at all grid points. The present investigation is concerned with a preliminary exploration of the potential of multigrid, or, more generally, Multi-Level Adaptive Techniques (MLAT) on computers with many processors. Basic processes are considered, taking into account coarse-grid approximation, relaxation, coarse-grid corrections, full multigrid algorithms, nonlinear problems and eigenvalue problems, fine-to-coarse correction, and chains of problems. Details of parallel multigrid processing are also examined.

Brandt, A.↗

A numerical procedure for analysis of finite rate reacting flows

Combustion processes in rocket propulsion systems are characterized by the existence of multiple, vastly differing time and length scales, as well as flow-speeds at wide variation of Mach numbers. The chemical kinetics processes in the highly active reaction zone are characterized by much smaller scales compared to fluid convective and diffusive time scales. An operator splitting procedure for transient finite rate chemistry problems has been developed using a pressure based method, which can be applied to all speed flows without difficulties. The splitting of chemical kinetics terms formed the fluid-mechanical terms of the species equation ameliorated the difficulties associated with the disparate time scales and stiffness in the set of equations which describes highly exothermic combustion. A combined efficient ordinary differential equations (ODE) solver was used to integrate the effective chemical source terms over the residence time at each grid cell. One and two dimensional reacting flow situations were carried out to demonstrate and verify the current procedure. Different chemical kinetics with different degrees of nonlinearity have also been incorporated to test the robustness and generality of the proposed method.

Shang, H. M.↗

Developing CORBA-Based Distributed Scientific Applications from Legacy Fortran Programs

Recent progress in distributed object technology has enabled software applications to be developed and deployed easily such that objects or components can work together across the boundaries of the network, different operating systems, and different languages. A distributed object is not necessarily a complete application but rather a reusable, self-contained piece of software that co-operates with other objects in a plug-and-play fashion via a well-defined interface. The Common Object Request Broker Architecture (CORBA), a middleware standard defined by the Object Management Group (OMG), uses the Interface Definition Language (IDL) to specify such an interface for transparent communication between distributed objects. Since IDL can be mapped to any programming language, such as C++, Java, Smalltalk, etc., existing applications can be integrated into a new application and hence the tasks of code re-writing and software maintenance can be reduced. Many scientific applications in aerodynamics and solid mechanics are written in Fortran. Refitting these legacy Fortran codes with CORBA objects can increase the codes reusability. For example, scientists could link their scientific applications to vintage Fortran programs such as Partial Differential Equation(PDE) solvers in a plug-and-play fashion. Unfortunately, CORBA IDL to Fortran mapping has not been proposed and there seems to be no direct method of generating CORBA objects from Fortran without having to resort to manually writing C/C++ wrappers. In this paper, we present an efficient methodology to integrate Fortran legacy programs into a distributed object framework. Issues and strategies regarding the conversion and decomposition of Fortran codes into CORBA objects are discussed. The following diagram shows the conversion and decomposition mechanism we proposed. Our goal is to keep the Fortran codes unmodified. The conversion- aided tool takes the Fortran application program as input and helps programmers generate C/C++ header file and IDL file for wrapping the Fortran code. Programmers need to determine by themselves how to decompose the legacy application into several reusable components based on the cohesion and coupling factors among the functions and subroutines. However, programming effort still can be greatly reduced because function headings and types have been converted to C++ and IDL styles. Most Fortran applications use the COMMON block to facilitate the transfer of large amount of variables among several functions. The COMMON block plays the similar role of global variables used in C. In the CORBA-compliant programming environment, global variables can not be used to pass values between objects. One approach to dealing with this problem is to put the COMMON variables into the parameter list. We do not adopt this approach because it requires modification of the Fortran source code which violates our design consideration. Our approach is to extract the COMMON blocks and convert them into a structure-typed attribute in C++. Through attributes, each component can initialize the variables and return the computation result back to the client. We have tested successfully the proposed conversion methodology based on the f2c converter. Since f2c only translates Fortran to C, we still needed to edit the converted code to meet the C++ and IDL syntax. For example, C++/IDL requires a tag in the structure type, while C does not. In this paper, we identify the necessary changes to the f2c converter in order to directly generate the C++ header and the IDL file. Our future work is to add GUI interface to ease the decomposition task by simply dragging and dropping icons.

Sang, Janche↗

Towards an Enhanced Droplet Activation Scheme for Multi-Moment Bulk Microphysics Schemes

Initial droplet spectra produced upon activation impact the ensuing chain of microphysical processes andtherefore play a crucial role in cloud evolution. This work re-examines dependencies of newly formed clouddroplet size distribution (CDSD) characteristics on environmental and aerosol properties via parcel model simulationsthat serve as the basis for a multi-moment bulk microphysics droplet activation scheme suitable for acloud-resolving model (CRM). It is found that applying a fixed size threshold to define activated droplets versusemploying physical considerations can lead to erroneous activation and overly broad CDSDs for high aerosolconcentration and weak updraft conditions. Aerosol distributions characterized by larger median sizes and/orincreased solubility can result in greater activated droplet numbers, whereas impacts of these parameters onCDSD spectral width depend on both aerosol number concentration and updraft velocity. An expansion of theactivation scheme to include CDSD spectral width is proposed to aid efforts to extend high-order momentprediction to cloud droplet categories in CRMs as well as better represent variability in the activation process onthe cloud scale.simulations to investigate the regime dependence of the relative dispersion(d)1 of newly activated CDSDs, where d is the ratio of dropletradius standard deviation (σ) to the mean radius (r ). C16 demonstratedthat increasing Na resulted in increasing (decreasing) d values via reducedcondensational narrowing (spectral broadening) rates within theAL (UL) regime, with d values peaking in the TR regime. Their findingssuggest a similar regime dependence for d as R09 noted for Nc and helpexplain reportedly conflicting relationships between Na and CDSDspectral characteristics (cf. Hudson and Noble, 2014; Liu et al., 2014),although the applicability of these results within bulk microphysicalschemes was not addressed.Simulating aerosol-cloud interactions with CRMs employing bulkmicrophysics requires that the scheme minimally predict two CDSDparameters, namely mass and number concentrations, and represent thedroplet activation process. Various activation schemes aim to determineNc from aerosol and environmental properties and include analyticalexpressions (e.g., Abdul-Razzak et al., 1998; Morrison et al., 2005) aswell as lookup tables (LUTs) based on detailed parcel model calculations(e.g., Saleeby and Cotton, 2004, hereafter SC04; Segal and Khain,2006; Thompson and Eidhammer, 2014). Expressions to diagnose CDSDspectral width from Nc (Grabowski, 1998; Liu et al., 2006; Morrison andGrabowski, 2007) or cloud water content (Geoffroy et al., 2010) havealso been developed, although more robust methods to obtain CDSDspectral width upon activation are presently lacking. This latter point isrelevant for triple-moment (3 M) bulk microphysics that aim to predictdistribution spectral width alongside number and mass concentrations(e.g., Loftus et al., 2014; Milbrandt and Yau, 2005).The current work extends the findings of C16 to the current LUTbasedaerosol activation scheme used in the Regional AtmosphericModeling System (RAMS) (Cotton et al., 2003; SC04; Saleeby and vanden Heever, 2013, hereafter SvdH13) and additionally examinesaerosol size and solubility impacts on newly activated CDSD properties.Because early cloud development processes such as condensationalgrowth, evaporation, and droplet self-collection depend on and impactCDSD spectral width (Hudson and Yum, 1997; Seifert and Beheng 2001;Lu and Seinfeld, 2006; Igel and van den Heever, 2017), an expansion ofthe activation LUTs to include CDSD spectral width is proposed as apreliminary step for extending 3M prediction to CDSDs in CRMs forimproved simulations of aerosol-cloud interactions.2. MethodologyThe current RAMS two-moment microphysics module determinesthe fractional number of aerosol particles that activate to cloud dropletsfrom five-dimensional LUTs based on model predicted air temperature(T), w, Na, and the geometric median radius (rg) and soluble fraction (ε)of the aerosol size distribution (SvdH13). These LUTs are created offlineusing a one-dimensional Lagrangian adiabatic parcel model (Feingoldand Heymsfield, 1992; Heymsfield and Sabin, 1989; SC04) to simulateexplicit droplet activation and initial CDSD growth for a range of ambientatmospheric conditions [T, w] and binned lognormal aerosol sizedistributions given by= ⎡⎣ ⎢− ⎤⎦ ⎥N r Nr π σr rσ( )2 lnexp[ln( / )]2(ln )aggg22 (1)where r is the dry aerosol particle bin radius and σg is the geometricstandard deviation of the distribution. As the parcel model simulationsfocus on the activation process, other processes such as coalescence,sedimentation, and mixing are not considered. Details of the parcelmodel can be found in SC04 and SvdH13, and only a brief description isprovided here. At the onset of parcel model calculations, the initiallydry aerosol particles in all bins first deliquesce and reach theirequilibrium diameters in a sub-saturated environment based on theKöhler equation for solution droplets. The parcel is then lifted at a fixedupward velocity w, and particle growth by vapor diffusion, along withconcurrent changes in the ambient environment, are iteratively computedusing the Variable-coefficient Ordinary Differential Equation(VODE) solver (Brown et al., 1989). The time resolution of these calculationsis determined within the VODE solver, and the frequency atwhich the solver is called is controlled by a longer model time stepbased on fixed upward parcel displacement increments (Δz) at thespecified w (Δt=Δz/w). Model calculations proceed until the parcelreaches a height 50m beyond the level of maximum saturation ratio(Smax) or total parcel displacement exceeds 2 km. Upon model termination,Smax and the fractional number of aerosols (factv) resulting innewly formed cloud droplets, defined as particles having diameters of atleast 2 μm, are cataloged in the LUTs according to the specified T, w, Na,rg, and ε parameter values.A critical point regarding the creation of these LUTs is the use of afixed minimum diameter (Dmin) to define cloud droplets in the parcelmodel, which can produce erroneous CDSD characteristics, particularlywithin the UL regime. For aerosol distributions with large rg valuesunder low SS conditions, for example, deliquesced aerosols within thelarge tail of the distribution can exceed 2 μm in diameter yet remainunactivated as ‘haze’ particles (Levin and Cotton, 2009; McFigganset al., 2006). For this study, aerosol particles activate to cloud dropletsbased on the critical diameter Dcrit as a function of parcel supersaturationratio (Sr) as in R09:D = σ MS RTρ83 ln( ) critsol wr w (2)where σsol is the surface tension of a solution droplet, Mw and ρw are themolar mass and density of liquid water, respectively, and R is theuniversal gas constant. Additionally, at relatively large w values withinthe AL regime, Nc stabilizes shortly after reaching supersaturation.However, parcel ascent and condensational growth continue beyondthe level of Smax, potentially causing additional narrowing of the CDSD.In the current work, model calculations terminate upon reaching Smaxas changes in Nc are negligible with continued ascent (Peng et al., 2007;R09).Parcel model simulations are performed to examine the sensitivitiesof CDSD characteristics to w, Na, rg, and ε, with the ranges for theseparameters listed in Table 1. Aerosols are assumed to be a mix of solubleand insoluble material of equal density, specified by ε, where fullysoluble aerosols correspond to ammonium sulfate with hygroscopicityparameter κ=0.61 (Petters and Kreidenweis, 2007). FollowingSvdH13, aerosol geometric standard deviation is fixed at σg=1.8, andaerosol distributions (Eq. 1) are partitioned into 100 logarithmicallyspacedbins spanning a size range specific to each rg value. For all simulations,Δz=1 m, and initial values of relative humidity, air temperatureand pressure are set to RH=0.99, T=10 °C and p=900 hPa,respectively.

Loftus, Adrian M.↗

An object-oriented approach for parallel self adaptive mesh refinement on block structured grids

Self-adaptive mesh refinement dynamically matches the computational demands of a solver for partial differential equations to the activity in the application's domain. In this paper we present two C++ class libraries, P++ and AMR++, which significantly simplify the development of sophisticated adaptive mesh refinement codes on (massively) parallel distributed memory architectures. The development is based on our previous research in this area. The C++ class libraries provide abstractions to separate the issues of developing parallel adaptive mesh refinement applications into those of parallelism, abstracted by P++, and adaptive mesh refinement, abstracted by AMR++. P++ is a parallel array class library to permit efficient development of architecture independent codes for structured grid applications, and AMR++ provides support for self-adaptive mesh refinement on block-structured grids of rectangular non-overlapping blocks. Using these libraries, the application programmers' work is greatly simplified to primarily specifying the serial single grid application and obtaining the parallel and self-adaptive mesh refinement code with minimal effort. Initial results for simple singular perturbation problems solved by self-adaptive multilevel techniques (FAC, AFAC), being implemented on the basis of prototypes of the P++/AMR++ environment, are presented. Singular perturbation problems frequently arise in large applications, e.g. in the area of computational fluid dynamics. They usually have solutions with layers which require adaptive mesh refinement and fast basic solvers in order to be resolved efficiently.

Lemke, Max↗

LSENS, The NASA Lewis Kinetics and Sensitivity Analysis Code

A general chemical kinetics and sensitivity analysis code for complex, homogeneous, gas-phase reactions is described. The main features of the code, LSENS (the NASA Lewis kinetics and sensitivity analysis code), are its flexibility, efficiency and convenience in treating many different chemical reaction models. The models include: static system; steady, one-dimensional, inviscid flow; incident-shock initiated reaction in a shock tube; and a perfectly stirred reactor. In addition, equilibrium computations can be performed for several assigned states. An implicit numerical integration method (LSODE, the Livermore Solver for Ordinary Differential Equations), which works efficiently for the extremes of very fast and very slow reactions, is used to solve the "stiff" ordinary differential equation systems that arise in chemical kinetics. For static reactions, the code uses the decoupled direct method to calculate sensitivity coefficients of the dependent variables and their temporal derivatives with respect to the initial values of dependent variables and/or the rate coefficient parameters. Solution methods for the equilibrium and post-shock conditions and for perfectly stirred reactor problems are either adapted from or based on the procedures built into the NASA code CEA (Chemical Equilibrium and Applications).

Radhakrishnan, K.↗

Shape reanalysis and sensitivities utilizing preconditioned iterative boundary solvers

The computational advantages associated with the utilization of preconditined iterative equation solvers are quantified for the reanalysis of perturbed shapes using continuum structural boundary element analysis (BEA). Both single- and multi-zone three-dimensional problems are examined. Significant reductions in computer time are obtained by making use of previously computed solution vectors and preconditioners in subsequent analyses. The effectiveness of this technique is demonstrated for the computation of shape response sensitivities required in shape optimization. Computer times and accuracies achieved using the preconditioned iterative solvers are compared with those obtained via direct solvers and implicit differentiation of the boundary integral equations. It is concluded that this approach employing preconditioned iterative equation solvers in reanalysis and sensitivity analysis can be competitive with if not superior to those involving direct solvers.

Guru Prasad, K.↗

Technical report series on global modeling and data assimilation. Volume 2: Direct solution of the implicit formulation of fourth order horizontal diffusion for gridpoint models on the sphere

High order horizontal diffusion of the form K Delta(exp 2m) is widely used in spectral models as a means of preventing energy accumulation at the shortest resolved scales. In the spectral context, an implicit formation of such diffusion is trivial to implement. The present note describes an efficient method of implementing implicit high order diffusion in global finite difference models. The method expresses the high order diffusion equation as a sequence of equations involving Delta(exp 2). The solution is obtained by combining fast Fourier transforms in longitude with a finite difference solver for the second order ordinary differential equation in latitude. The implicit diffusion routine is suitable for use in any finite difference global model that uses a regular latitude/longitude grid. The absence of a restriction on the timestep makes it particularly suitable for use in semi-Lagrangian models. The scale selectivity of the high order diffusion gives it an advantage over the uncentering method that has been used to control computational noise in two-time-level semi-Lagrangian models.

Max J. Suarez↗

A Generalized Fluid Formulation for Turbomachinery Computations

A generalized formulation of the equations of motion of an arbitrary fluid are developed for the purpose of defining a common iterative algorithm for computational procedures. The method makes use of the equations of motion in conservation form with separate pseudo-time derivatives used for defining the numerical flux for a Riemann solver and the convergence algorithm. The partial differential equations are complemented by an thermodynamic and caloric equations of state of a complexity necessary for describing the fluid. Representative solutions with a new code based on this general equation formulation are provided for three turbomachinery problems. The first uses air as a working fluid while the second uses gaseous oxygen in a regime in which real gas effects are of little importance. These nearly perfect gas computations provide a basis for comparing with existing perfect gas code computations. The third case is for the flow of liquid oxygen through a turbine where real gas effects are significant. Vortex shedding predictions with the LOX formulations reduce the discrepancy between perfect gas computations and experiment by approximately an order of magnitude, thereby verifying the real gas formulation as well as providing an effective case where its capabilities are necessary.

Merkle, Charles L.↗

A semi-direct procedure using a local relaxation factor and its application to an internal flow problem

Generally, fast direct solvers are not directly applicable to a nonseparable elliptic partial differential equation. This limitation, however, is circumvented by a semi-direct procedure, i.e., an iterative procedure using fast direct solvers. An efficient semi-direct procedure which is easy to implement and applicable to a variety of boundary conditions is presented. The current procedure also possesses other highly desirable properties, i.e.: (1) the convergence rate does not decrease with an increase of grid cell aspect ratio, and (2) the convergence rate is estimated using the coefficients of the partial differential equation being solved.

Chang, S. C.↗

Direct numerical solution of three-dimensional equations containing elliptic operators.

A direct three-dimensional elliptic solver is presented for application in a wide class of numerical methods for solving partial differential equations in physics and engineering. The derived algorithm and FORTRAN code implement Buzbee, Golub and Nielson's proposed extension of Buneman's Cyclic-Reduction Poisson solver to three dimensions. Both a 'most direct' cyclic reduction and a revised method (to eliminate roundoff error difficulties) are derived. Tests on an IBM 360/67 computer, using various optional combinations of subroutines, showed significant differences in accuracy and computing time, with the optimum subroutine combination depending on mesh size.

Martin, E. D.↗

Discrete sensitivity derivatives of the Navier-Stokes equations with a parallel Krylov solver

This paper solves an 'incremental' form of the sensitivity equations derived by differentiating the discretized thin-layer Navier Stokes equations with respect to certain design variables of interest. The equations are solved with a parallel, preconditioned Generalized Minimal RESidual (GMRES) solver on a distributed-memory architecture. The 'serial' sensitivity analysis code is parallelized by using the Single Program Multiple Data (SPMD) programming model, domain decomposition techniques, and message-passing tools. Sensitivity derivatives are computed for low and high Reynolds number flows over a NACA 1406 airfoil on a 32-processor Intel Hypercube, and found to be identical to those computed on a single-processor Cray Y-MP. It is estimated that the parallel sensitivity analysis code has to be run on 40-50 processors of the Intel Hypercube in order to match the single-processor processing time of a Cray Y-MP.

Ajmani, Kumud↗

On the structure of parallelism in a highly concurrent PDE solver

A parallel multigrid algorithm for solving elliptic partial differential equations is developed and evaluated. A V-cycle multigrid method is altered to increase the degree of parallelism. A numerical analysis of the resulting concurrent-iteration multigrid algorithm is performed; its architectural implications are considered; highly parallel systems without shared memory are examined (including mesh-connected arrays, mesh-shuffle-connected systems, permutation networks, and direct VLSI embeddings); and the results of numerical experiments are presented in tables and graphs.

Gannon, D.↗

Run-time scheduling and execution of loops on message passing machines

Sparse system solvers and general purpose codes for solving partial differential equations are examples of the many types of problems whose irregularity can result in poor performance on distributed memory machines. Often, the data structures used in these problems are very flexible. Crucial details concerning loop dependences are encoded in these structures rather than being explicitly represented in the program. Good methods for parallelizing and partitioning these types of problems require assignment of computations in rather arbitrary ways. Naive implementations of programs on distributed memory machines requiring general loop partitions can be extremely inefficient. Instead, the scheduling mechanism needs to capture the data reference patterns of the loops in order to partition the problem. First, the indices assigned to each processor must be locally numbered. Next, it is necessary to precompute what information is needed by each processor at various points in the computation. The precomputed information is then used to generate an execution template designed to carry out the computation, communication, and partitioning of data, in an optimized manner. The design is presented for a general preprocessor and schedule executer, the structures of which do not vary, even though the details of the computation and of the type of information are problem dependent.

Crowley, Kay↗

Run-time scheduling and execution of loops on message passing machines

Sparse system solvers and general purpose codes for solving partial differential equations are examples of the many types of problems whose irregularity can result in poor performance on distributed memory machines. Often, the data structures used in these problems are very flexible. Crucial details concerning loop dependences are encoded in these structures rather than being explicitly represented in the program. Good methods for parallelizing and partitioning these types of problems require assignment of computations in rather arbitrary ways. Naive implementations of programs on distributed memory machines requiring general loop partitions can be extremely inefficient. Instead, the scheduling mechanism needs to capture the data reference patterns of the loops in order to partition the problem. First, the indices assigned to each processor must be locally numbered. Next, it is necessary to precompute what information is needed by each processor at various points in the computation. The precomputed information is then used to generate an execution template designed to carry out the computation, communication, and partitioning of data, in an optimized manner. The design is presented for a general preprocessor and schedule executer, the structures of which do not vary, even though the details of the computation and of the type of information are problem dependent.

Saltz, Joel↗

Aerodynamic Design Optimization on Unstructured Meshes Using the Navier-Stokes Equations

A discrete adjoint method is developed and demonstrated for aerodynamic design optimization on unstructured grids. The governing equations are the three-dimensional Reynolds-averaged Navier-Stokes equations coupled with a one-equation turbulence model. A discussion of the numerical implementation of the flow and adjoint equations is presented. Both compressible and incompressible solvers are differentiated and the accuracy of the sensitivity derivatives is verified by comparing with gradients obtained using finite differences. Several simplifying approximations to the complete linearization of the residual are also presented, and the resulting accuracy of the derivatives is examined. Demonstration optimizations for both compressible and incompressible flows are given.

Nielsen, Eric J.↗

Variants and extensions of a fast direct numerical cauchy-riemann solver, with illustrative applications

Revised and extended versions of a fast, direct (noniterative) numerical Cauchy-Riemann solver are presented for solving finite difference approximations of first order systems of partial differential equations. Although the difference operators treated are linear and elliptic, one significant application of these extended direct Cauchy-Riemann solvers is in the fast, semidirect (iterative) solution of fluid dynamic problems governed by the nonlinear mixed elliptic-hyperbolic equations of transonic flow. Different versions of the algorithms are derived and the corresponding FORTRAN computer programs for a simple example problem are described and listed. The algorithms are demonstrated to be efficient and accurate.

Martin, E. D.↗