Engineering PapersSearch

SEARCH · Engineering Papers

Results for “MATLAB”

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 73 records · Page 4

On Development of Three-Dimensional Visualization Capabilities in Glenn Research Center Communication Analysis Suite

With NASA’s upcoming mission to return to the Moon sustainably by 2024 and using that success as a means to step onto the barren world of Mars, it remains more important than ever to conduct research and planning as thoroughly and efficiently as possible. In a mission as complex as landing humans onto another celestial body, a network of orbiting satellites and ground stations must accurately and reliably communicate with each other, enabling crucial data communications throughout the mission. Visualizing this important data communication increases the understanding of the data and can accelerate analyses efforts. The purpose of this software development is to create an interactive visualization with data taken MATLAB® scripts in the GRC Communication Analysis Suite that is easy to understand, can show all necessary data, and display the data accurately. The main types of data to visualize are from the State Propagation, Line of Sight and Dynamic Link Margin scripts. These all show positions and orbits of satellites and ground stations, while the Line of Sight data shows when they have the ability to communicate with each other based on their respective antenna positions and fields of view. Additionally, the Dynamic Link Margin mode color-codes the communication link performance onto the Line of Sight access lines. Visualization requires a graphics language that is easily accessible, has the needed features, and able to easily read data produced by the GRC Communication Analysis Suite MATLAB® scripts. ThreeJS, a graphics library for Web Graphics Library, coded in JavaScript was selected for the visualization. The next part of the software development was to move the data from MATLAB® to the JavaScript. The best way to accomplish this was to implement a MATLAB® function converting the output data of the scripts to a JavaScript Object Notation file. A key part of the development was creating the visualization within JavaScript and ThreeJS to visualize any combination of planets, moons, orbits, satellites, ground stations, line of sight links, and handle future features without changing major parts of the code. The current visualization capability runs directly from MATLAB®, and can dynamically create any scene. This software development currently supports the lunar communications analysis underway by NASA, and can be easily expanded upon in the future to aid any analysis requirements to help plan current and future space missions.

Visualization

Simulation of linear mechanical systems

A dynamics and controls analyst is typically presented with a structural dynamics model and must perform various input/output tests and design control laws. The required time/frequency simulations need to be done many times as models change and control designs evolve. This paper examines some simple ways that open and closed loop frequency and time domain simulations can be done using the special structure of the system equations usually available. Routines were developed to run under Pro-Matlab in a mixture of the Pro-Matlab interpreter and FORTRAN (using the .mex facility). These routines are often orders of magnitude faster than trying the typical 'brute force' approach of using built-in Pro-Matlab routines such as bode. This makes the analyst's job easier since not only does an individual run take less time, but much larger models can be attacked, often allowing the whole model reduction step to be eliminated.

Sirlin, S. W.

The Matpar Server on the HP Exemplar

This presentation reviews the design of Matlab for parallel processing on a parallel system. Matlab was found to be too slow on many large problems, and with the Next Generation Space Telescope requiring greater capability, the work was begun in early 1996 on parallel extensions to Matlab, called Matpar. This presentation reviews the architecture, the functionality, and the design of MatPar. The design utilizes a client server strategy, with the client code written in C, and the object-oriented server code written in C++. The client/server approach for Matpar provides ease of use an good speed.

Springer, Paul

Automation of PCXMC and ImPACT for NASA Astronaut Medical Imaging Dose and Risk Tracking

To automate astronaut organ and effective dose calculations from occupational X-ray and computed tomography (CT) examinations incorporating PCXMC and ImPACT tools and to estimate the associated lifetime cancer risk per the National Council on Radiation Protection & Measurements (NCRP) using MATLAB(R). Methods: NASA follows guidance from the NCRP on its operational radiation safety program for astronauts. NCRP Report 142 recommends that astronauts be informed of the cancer risks from reported exposures to ionizing radiation from medical imaging. MATLAB(R) code was written to retrieve exam parameters for medical imaging procedures from a NASA database, calculate associated dose and risk, and return results to the database, using the Microsoft .NET Framework. This code interfaces with the PCXMC executable and emulates the ImPACT Excel spreadsheet to calculate organ doses from X-rays and CTs, respectively, eliminating the need to utilize the PCXMC graphical user interface (except for a few special cases) and the ImPACT spreadsheet. Results: Using MATLAB(R) code to interface with PCXMC and replicate ImPACT dose calculation allowed for rapid evaluation of multiple medical imaging exams. The user inputs the exam parameter data into the database and runs the code. Based on the imaging modality and input parameters, the organ doses are calculated. Output files are created for record, and organ doses, effective dose, and cancer risks associated with each exam are written to the database. Annual and post-flight exposure reports, which are used by the flight surgeon to brief the astronaut, are generated from the database. Conclusions: Automating PCXMC and ImPACT for evaluation of NASA astronaut medical imaging radiation procedures allowed for a traceable and rapid method for tracking projected cancer risks associated with over 12,000 exposures. This code will be used to evaluate future medical radiation exposures, and can easily be modified to accommodate changes to the risk calculation procedure.

Bahadori, Amir

General Tool for Evaluating High-Contrast Coronagraphic Telescope Performance Error Budgets

The Coronagraph Performance Error Budget (CPEB) tool automates many of the key steps required to evaluate the scattered starlight contrast in the dark hole of a space-based coronagraph. The tool uses a Code V prescription of the optical train, and uses MATLAB programs to call ray-trace code that generates linear beam-walk and aberration sensitivity matrices for motions of the optical elements and line-of-sight pointing, with and without controlled fine-steering mirrors (FSMs). The sensitivity matrices are imported by macros into Excel 2007, where the error budget is evaluated. The user specifies the particular optics of interest, and chooses the quality of each optic from a predefined set of PSDs. The spreadsheet creates a nominal set of thermal and jitter motions, and combines that with the sensitivity matrices to generate an error budget for the system. CPEB also contains a combination of form and ActiveX controls with Visual Basic for Applications code to allow for user interaction in which the user can perform trade studies such as changing engineering requirements, and identifying and isolating stringent requirements. It contains summary tables and graphics that can be instantly used for reporting results in view graphs. The entire process to obtain a coronagraphic telescope performance error budget has been automated into three stages: conversion of optical prescription from Zemax or Code V to MACOS (in-house optical modeling and analysis tool), a linear models process, and an error budget tool process. The first process was improved by developing a MATLAB package based on the Class Constructor Method with a number of user-defined functions that allow the user to modify the MACOS optical prescription. The second process was modified by creating a MATLAB package that contains user-defined functions that automate the process. The user interfaces with the process by utilizing an initialization file where the user defines the parameters of the linear model computations. Other than this, the process is fully automated. The third process was developed based on the Terrestrial Planet Finder coronagraph Error Budget Tool, but was fully automated by using VBA code, form, and ActiveX controls.

Marchen, Luis F.

Comprehensive Forced Response Analysis of J2X Turbine Bladed-Discs with 360 Degree Variation in CFD Loading

The temporal frequency content of the dynamic pressure predicted by a 360 degree computational fluid dynamics (CFD) analysis of a turbine flow field provides indicators of forcing function excitation frequencies (e.g., multiples of blade pass frequency) for turbine components. For the Pratt and Whitney Rocketdyne J-2X engine turbopumps, Campbell diagrams generated using these forcing function frequencies and the results of NASTRAN modal analyses show a number of components with modes in the engine operating range. As a consequence, forced response and static analyses are required for the prediction of combined stress, high cycle fatigue safety factors (HCFSF). Cyclically symmetric structural models have been used to analyze turbine vane and blade rows, not only in modal analyses, but also in forced response and static analyses. Due to the tortuous flow pattern in the turbine, dynamic pressure loading is not cyclically symmetric. Furthermore, CFD analyses predict dynamic pressure waves caused by adjacent and non-adjacent blade/vane rows upstream and downstream of the row analyzed. A MATLAB script has been written to calculate displacements due to the complex cyclically asymmetric dynamic pressure components predicted by CFD analysis, for all grids in a blade/vane row, at a chosen turbopump running speed. The MATLAB displacements are then read into NASTRAN, and dynamic stresses are calculated, including an adjustment for possible mistuning. In a cyclically symmetric NASTRAN static analysis, static stresses due to centrifugal, thermal, and pressure loading at the mode running speed are calculated. MATLAB is used to generate the HCFSF at each grid in the blade/vane row. When compared to an approach assuming cyclic symmetry in the dynamic flow field, the current approach provides better assurance that the worst case safety factor has been identified. An extended example for a J-2X turbopump component is provided.

Elrod, David

General MACOS Interface for Modeling and Analysis for Controlled Optical Systems

The General MACOS Interface (GMI) for Modeling and Analysis for Controlled Optical Systems (MACOS) enables the use of MATLAB as a front-end for JPL s critical optical modeling package, MACOS. MACOS is JPL s in-house optical modeling software, which has proven to be a superb tool for advanced systems engineering of optical systems. GMI, coupled with MACOS, allows for seamless interfacing with modeling tools from other disciplines to make possible integration of dynamics, structures, and thermal models with the addition of control systems for deformable optics and other actuated optics. This software package is designed as a tool for analysts to quickly and easily use MACOS without needing to be an expert at programming MACOS. The strength of MACOS is its ability to interface with various modeling/development platforms, allowing evaluation of system performance with thermal, mechanical, and optical modeling parameter variations. GMI provides an improved means for accessing selected key MACOS functionalities. The main objective of GMI is to marry the vast mathematical and graphical capabilities of MATLAB with the powerful optical analysis engine of MACOS, thereby providing a useful tool to anyone who can program in MATLAB. GMI also improves modeling efficiency by eliminating the need to write an interface function for each task/project, reducing error sources, speeding up user/modeling tasks, and making MACOS well suited for fast prototyping.

Sigrist, Norbert

Tool for Generation of MAC/GMC Representative Unit Cell for CMC/PMC Analysis

This document describes a recently developed analysis tool that enhances the resident capabilities of the Micromechanics Analysis Code with the Generalized Method of Cells (MAC/GMC) 4.0. This tool is especially useful in analyzing ceramic matrix composites (CMCs), where higher fidelity with improved accuracy of local response is needed. The tool, however, can be used for analyzing polymer matrix composites (PMCs) as well. MAC/GMC 4.0 is a composite material and laminate analysis software developed at NASA Glenn Research Center. The software package has been built around the concept of the generalized method of cells (GMC). The computer code is developed with a user friendly framework, along with a library of local inelastic, damage, and failure models. Further, application of simulated thermomechanical loading, generation of output results, and selection of architectures to represent the composite material have been automated to increase the user friendliness, as well as to make it more robust in terms of input preparation and code execution. Finally, classical lamination theory has been implemented within the software, wherein GMC is used to model the composite material response of each ply. Thus, the full range of GMC composite material capabilities is available for analysis of arbitrary laminate configurations as well. The primary focus of the current effort is to provide a graphical user interface (GUI) capability that generates a number of different user-defined repeating unit cells (RUCs). In addition, the code has provisions for generation of a MAC/GMC-compatible input text file that can be merged with any MAC/GMC input file tailored to analyze composite materials. Although the primary intention was to address the three different constituents and phases that are usually present in CMCs-namely, fibers, matrix, and interphase-it can be easily modified to address two-phase polymer matrix composite (PMC) materials where an interphase is absent. Currently, the tool capability includes generation of RUCs for square packing, hexagonal packing, and random fiber packing as well as RUCs based on actual composite micrographs. All these options have the fibers modeled as having a circular cross-sectional area. In addition, a simplified version of RUC is provided where the fibers are treated as having a square cross section and are distributed randomly. This RUC facilitates a speedy analysis using the higher fidelity version of GMC known as HFGMC. The first four mentioned options above support uniform subcell discretization. The last one has variable subcell sizes due to the primary intention of keeping the RUC size to a minimum to gain the speed ups using the higher fidelity version of MAC. The code is implemented within the MATLAB (The Mathworks, Inc., Natick, MA) developmental framework; however, a standalone application that does not need a priori MATLAB installation is also created with the aid of the MATLAB compiler.

Materials Engineering

Modeling and Simulation Techniques for the NASA SLS Service Module Panel Separation Event; from Loosely-Coupled Euler to Fully-Coupled 6-DOF, Time-Accurate, Navier-Stokes Methodologies

An aerodynamic database has been generated for use by the Orion Multi-Purpose Crew Vehicle (MPCV) Program to analyze Service Module (SM) panel jettison from the NASA SLS vehicle. The database is a combination of CFD data for the panel aerodynamic coefficients, and MATLAB code written to query the CFD data. The Cart3D inviscid CFD flow solver was used to generate the panel aerodynamic coefficients for static panel orientations and free stream conditions that can occur during the jettison event. The MATLAB code performs the multivariate interpolation to obtain aerodynamic coefficients. The MATLAB code uses input for SM panel parameters and returns the SM panel aerodynamic force and moment coefficients for use with a Six-Degree-of-Freedom (6-DOF) motion solver to model the jettison event. This paper examines the accuracy of the sequential-static database approach by modeling the panel jettison event with a fully-coupled, time-dependent, viscous, moving-body CFD simulation. The fully-coupled simulation is obtained using the Loci/Chem unstructured Navier-Stokes CFD solver. The results show that the fully-coupled approach agrees well with the loosely-coupled database/6-DOF approach, indicating that unsteady effects are minimal for the panel jettison event. These results suggest that the database/6-DOF approach is sufficient. In addition, this paper presents the development of an uncertainty model for use in Monte Carlo analysis of the panel jettison event. Here viscous CFD simulations are obtained with Loci/Chem and compared to the inviscid CFD forces and moments. An uncertainty model based on model-form error and numerical error is presented.

Hall, Leslie H.

Integrated Bosch Process System Models for In-Situ Oxygen and Carbon Production

In-Situ Resource Utilization (ISRU) technology is a vital component to NASA’s mission of a sustainable presence on the Moon and Mars. Local resources can be leveraged to reduce resupply frequency and mass. Elements of the Bosch process, combined with the carbothermal reduction process, can produce oxygen on the lunar surface with minimal consumables. The Bosch process can also produce oxygen on the Martian surface by using the CO 2 -rich environment. Between both systems, adsorption pump, solar thermal energy, carbon formation reactor, and water recovery subsystems are modeled and integrated to create a functional model in MATLAB software. The model is used to simulate performance of the system and reduce mass, power, and volume requirements. This integrated system model provides a tool to scale ISRU technologies for oxygen and carbon production. The MATLAB model is created by developing a system of independent subsystem models that are solved for their quasi-steady state values which can be integrated with respect to time to determine the change in current states. A flexible time stepping method is used to ensure a high level of accuracy during periods of rapid change while still making use of a simple explicit integration method. The flexible time step is calculated for each independent subsystem and the minimum value from those is used as the overall time step. A flexible time step is calculated by dividing a resolution value, or the maximum change per time step, by the variables current rate of change. The maximum value from all points in space is used for subsystem models that contain multiple values. The process is done for every variable that is being monitored in each subsystem and the global minimum is used as that iteration’s timestep. Several assumptions used in the MATLAB model for fluid flow dynamics, such as 1-D gas flow through the sorption pump, are supported by modeling in Ansys Fluent software. The Lunar oxygen production system is outlined in Fig. 1. The carbothermal reduction subsystem uses solar energy to heat a mixture of lunar regolith and carbon powder to produce carbon monoxide. To begin, the carbon monoxide feeds to the modified Bosch subsystem along with hydrogen gas. The reactants then enter the carbon formation reactor where water and carbon powder are produced. Solar thermal energy is used to add energy to the reactor, but waste heat from the carbothermal process is another potential heat source. The water is collected and electrolyzed to produce hydrogen which reenters the Bosch subsystem, and the oxygen is stored for downstream use. The carbon powder is collected and feeds back into the carbothermal subsystem. The Martian oxygen production system uses the full Bosch process and is outlined in Fig 2. A CO 2 adsorption pump thermally cycles to scrub and pressurize CO 2 from the environment. Along with an initial supply of hydrogen, the reactants enter the Reverse Water Gas Shift Reactor (RWGSR) which produces carbon monoxide and water. Carbon monoxide and unreacted hydrogen enter the carbon formation reactor to produce water and carbon powder. The water is collected from both reactors and electrolyzed to reintroduce hydrogen and store oxygen for propellant production or life support. Carbon is removed from the carbon formation reactor and stored. The adsorption pump utilizes rapid cycle temperature swings within a stack of zeolite coated surfaces. The subsystem model solves 1-D quasi-steady conservation laws of the quasi-steady form, shown in Eq. 1, for the gas stream and heat exchange liquid to predict performance parameters such as breakthrough capacity and optimum cycle time. The source term S is used to capture interactions between the fluid flows and the sorbent. A quasi-steady-state scheme is used where no time derivatives appear in the governing equations, except for those in the source terms. This results in an autonomous system, where ∂F/∂x = ƒ(F). The fluxes F are provided at the inlet, and an explicit method is used to solve for the spatial distribution of F. The heat and mass flows to the sorbent are then extracted from the source terms. These flows are numerically integrated to produce a 1-D solution for the system’s state as a function of both time and space. The body of the adsorption pump is separated into two semi-independent models: the heat exchanger fluid flow and gas flow through the zeolite coated surfaces. Both models are solved using the above-described method to find a 1-D solution as a function of space and interact only once a timestep is taken. The interaction point is the sorbent through which all heat transfer between the two models must occur. Sorbent mass adsorption is calculated using the Lagergren model, shown in Eq. 2, where the transfer coefficient, λ D , is found by solving a system of nondimensionalized equations derived by using the heat and mass transfer analogy for transport phenomena. Using Grade 544 Type 13X zeolite as the sorbent material, the equilibrium concentration, θ eq , is calculated using the k-site Langmuir isotherm and fit parameters. Additionally, the enthalpy of adsorption used in the model is computed by interpolation of available data [1]. The subsystem model was validated using the Rapid Cycle Temperature Swing Adsorption (RC-TSA) pump. The solar thermal energy subsystem focuses on a solar concentrator concept with a heat exchanger to heat the reactants before entering the carbon formation reactor. The subsystem model assumes a fixed solar flux and reflector efficiency to calculate the reactant temperature given the incoming temperature, pressure, and exchanger geometry. The receiver is a custom manufactured series of copper blocks with serpentine channels to increase its surface area and the residence time of the reactants to heat up to 550 °C. The subsystem model was validated using a heat exchanger developed at NASA Glenn Research Center (GRC). The solar thermal energy subsystem focuses on a solar concentrator concept with a heat exchanger to heat the reactants before entering the carbon formation reactor. The subsystem model assumes a fixed solar flux and reflector efficiency to calculate the reactant temperature given the incoming temperature, pressure, and exchanger geometry. The receiver is a custom manufactured series of copper blocks with serpentine channels to increase its surface area and the residence time of the reactants to heat up to 550 °C. The subsystem model was validated using a heat exchanger developed at NASA Glenn Research Center (GRC).

In situ Resource Utilization

FRAAME Version 1.0 User Manual

The code for Forced Response Aeromechanics Analysis in a MATLAB-based (The MathWorks, Inc.) Environment (FRAAME Version 1.0) was developed for internal use in aeromechanics efforts undertaken at the NASA Glenn Research Center for computing turbomachine component forced response and Goodman diagrams via modal summation method. The main working script (FRAAMEv1.m) allows users to input case-specific manual inputs while the triple-nested loop invokes functions to compute forced response per blade, per nodal diameter, and per mode. Secondly, forced response values are applied to modal stresses to compute complex Von Mises stress values and generate Goodman diagrams per blade, per nodal diameter, and per mode using a linear modal summation method. Currently, this code functions in the Windows (Microsoft Corporation) operating system using MATLAB Version R2023a, but it can be adapted for use in the Linux (Linus Torvalds) operating system by changing the appropriate file path structure in the main script, as well as functions that call external results files.

Aeromechanics

Enhanced modeling features within TREETOPS

The original motivation for TREETOPS was to build a generic multi-body simulation and remove the burden of writing multi-body equations from the engineers. The motivation of the enhancement was twofold: (1) to extend the menu of built-in features (sensors, actuators, constraints, etc.) that did not require user code; and (2) to extend the control system design capabilities by linking with other government funded software (NASTRAN and MATLAB). These enhancements also serve to bridge the gap between structures and control groups. It is common on large space programs for the structures groups to build hi-fidelity models of the structure using NASTRAN and for the controls group to build lower order models because they lack the tools to incorporate the former into their analysis. Now the controls engineers can accept the hi-fidelity NASTRAN models into TREETOPS, add sensors and actuators, perform model reduction and couple the result directly into MATLAB to perform their design. The controller can then be imported directly into TREETOPS for non-linear, time-history simulation.

Vandervoort, R. J.

Advanced information processing system: Hosting of advanced guidance, navigation and control algorithms on AIPS using ASTER

This program demonstrated the integration of a number of technologies that can increase the availability and reliability of launch vehicles while lowering costs. Availability is increased with an advanced guidance algorithm that adapts trajectories in real-time. Reliability is increased with fault-tolerant computers and communication protocols. Costs are reduced by automatically generating code and documentation. This program was realized through the cooperative efforts of academia, industry, and government. The NASA-LaRC coordinated the effort, while Draper performed the integration. Georgia Institute of Technology supplied a weak Hamiltonian finite element method for optimal control problems. Martin Marietta used MATLAB to apply this method to a launch vehicle (FENOC). Draper supplied the fault-tolerant computing and software automation technology. The fault-tolerant technology includes sequential and parallel fault-tolerant processors (FTP & FTPP) and authentication protocols (AP) for communication. Fault-tolerant technology was incrementally incorporated. Development culminated with a heterogeneous network of workstations and fault-tolerant computers using AP. Draper's software automation system, ASTER, was used to specify a static guidance system based on FENOC, navigation, flight control (GN&C), models, and the interface to a user interface for mission control. ASTER generated Ada code for GN&C and C code for models. An algebraic transform engine (ATE) was developed to automatically translate MATLAB scripts into ASTER.

Brenner, Richard

Efficient eigenvalue assignment by state and output feedback with applications for large space structures

The erection and deployment of large flexible structures having thousands of degrees of freedom requires controllers based on new techniques of eigenvalue assignment that are computationally stable and more efficient. Scientists at NASA Langley Research Center have developed a novel and efficient algorithm for the eigenvalue assignment of large, time-invariant systems using full-state and output feedback. The objectives of this research were to improve upon the output feedback version of this algorithm, to produce a toolbox of MATLAB functions based on the efficient eigenvalue assignment algorithm, and to experimentally verify the algorithm and software by implementing controllers designed using the MATLAB toolbox on the phase 2 configuration of NASA Langley's controls-structures interaction evolutionary model, a laboratory model used to study space structures. Results from laboratory tests and computer simulations show that effective controllers can be designed using software based on the efficient eigenvalue assignment algorithm.

Vannell, Eric C.

PLATSIM: An efficient linear simulation and analysis package for large-order flexible systems

PLATSIM is a software package designed to provide efficient time and frequency domain analysis of large-order generic space platforms implemented with any linear time-invariant control system. Time domain analysis provides simulations of the overall spacecraft response levels due to either onboard or external disturbances. The time domain results can then be processed by the jitter analysis module to assess the spacecraft's pointing performance in a computationally efficient manner. The resulting jitter analysis algorithms have produced an increase in speed of several orders of magnitude over the brute force approach of sweeping minima and maxima. Frequency domain analysis produces frequency response functions for uncontrolled and controlled platform configurations. The latter represents an enabling technology for large-order flexible systems. PLATSIM uses a sparse matrix formulation for the spacecraft dynamics model which makes both the time and frequency domain operations quite efficient, particularly when a large number of modes are required to capture the true dynamics of the spacecraft. The package is written in MATLAB script language. A graphical user interface (GUI) is included in the PLATSIM software package. This GUI uses MATLAB's Handle graphics to provide a convenient way for setting simulation and analysis parameters.

Maghami, Periman

Modeling using optimization routines

Modeling using mathematical optimization dynamics is a design tool used in magnetic suspension system development. MATLAB (software) is used to calculate minimum cost and other desired constraints. The parameters to be measured are programmed into mathematical equations. MATLAB will calculate answers for each set of inputs; inputs cover the boundary limits of the design. A Magnetic Suspension System using Electromagnets Mounted in a Plannar Array is a design system that makes use of optimization modeling.

Thomas, Theodore

Frequency Domain Identification Toolbox

This report documents software written in MATLAB programming language for performing identification of systems from frequency response functions. MATLAB is a commercial software environment which allows easy manipulation of data matrices and provides other intrinsic matrix functions capabilities. Algorithms programmed in this collection of subroutines have been documented elsewhere but all references are provided in this document. A main feature of this software is the use of matrix fraction descriptions and system realization theory to identify state space models directly from test data. All subroutines have templates for the user to use as guidelines.

Horta, Lucas G.

MGLab: An Interactive Multigrid Environment

MGLab is a set of Matlab functions that defines an interactive environment for experimenting with multigrid algorithms. The package solves two-dimensional elliptic partial differential equations discretized using either finite differences or finite volumes, depending on the problem. Built-in problems include the Poisson equation, the Helmholtz equation, a convection-diffusion problem, and a discontinuous coefficient problem. A number of parameters controlling the multigrid V-cycle can be set using a point-and-click mechanism. The menu-based user interface also allows a choice of several Krylov subspace methods, including CG, GMRES(k), and Bi-CGSTAB, which can be used either as stand-alone solvers or as multigrid acceleration schemes. The package exploits Matlab's visualization and sparse matrix features and has been structured to be easily extensible.

Bordner, James