Engineering Papers⌕ Search

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 91 records · Page 5

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↗

HERO WEC V1 Upgrade - 2023 Laboratory Testing (processed data)

The following submission includes processed laboratory data from NREL's Hydraulic and Electric Reverse Osmosis Wave Energy Converter (HERO WEC), in the form of MATLAB workspaces. This dataset was created using NREL's Large Amplitude Motion Platform (LAMP) and collected between August and September 2023. Included with this submission is a test log of all the processed data "HERO WEC LAMP test run log.xlsx" so that the user can easily find the data of interest. Additionally, more detailed descriptions of the type of data and how it was processed, or calculated, can be found in the document titled "Lamp Data Description.docx". The MATLAB workspaces can be visualized using the file "LAMP_Data_Viewer_Ver2.m/mlx". The user simply needs to upload the workspace of interest and run the file "LAMP_Data_Viewer_Ver2.m/mlx". Both the .m and .mlx file format has been provided depending on the user's preference. The MATLAB workspaces have been separated into zip files corresponding to either Drivetrain, Hydraulic, or Electric configuration runs representing the respective test cases that were run. The drivetrain runs were used to characterize the drivetrain only (no pump or generator). The Hydraulic runs represent the configuration when the seawater pump is installed, and the Electric runs represents the configuration when the generator is installed. The following sub-categories of data are included for each type: - DW - Deep water sine wave profile (not run in drivetrain configuration) - Heave - Heave only sine wave profile - Heave_NoRO (hydraulic configuration only) - Heave_ACC (hydraulic configuration only) - IR - Surge and heave irregular wave profile (not run in drivetrain configuration) - RW - Heave only profile created from real world encoder data (not run in drivetrain configuration) For those interested in the raw, unprocessed, data the authors have created a separate submission, linked below. This submission includes the raw TDMS files and associated files necessary to translate the data into either python or MATLAB formats. This data set has been developed by the National Renewable Energy Laboratory, operated by Alliance for Sustainable Energy, LLC, for the U.S. Department of Energy (DOE) under Contract No. DE-AC36-08GO28308. Funding provided U.S. Department of Energy Office of Energy Efficiency and Renewable Energy Water Power Technologies Office.

16 TIDAL AND WAVE POWER↗

Data and scripts associated with a manuscript modeling microbial regulation of priming effects

This data package is associated with the publication “Modeling Microbial Regulatory Feedback in Organic Matter Decomposition Identifies Copiotrophic Traits as Key Drivers of Positive Priming” published as a preprint on BioRXiv by Ahamed et al. (2026); https://doi.org/10.1101/2024.08.11.607483. The package contains MATLAB scripts and saved simulation outputs used to implement a cybernetic model of microbial regulation during complex organic matter (OM) decomposition governing priming effects. It includes models of (i) single microbial functional groups (copiotrophic or oligotrophic degraders) and (ii) binary consortia composed of degraders and non-degraders with contrasting or common growth traits. Simulation results were generated using Monte Carlo analyses, with randomized key model parameters across a range of environmental mixing fractions of complex and labile OM. The dataset was created to provide a transparent and reusable computational framework for systematically exploring how microbial growth traits, metabolic regulation, and community composition influence OM decomposition dynamics and priming effects. For details on how to navigate data packages generated by this project, see https://data.ess-dive.lbl.gov/portals/PNNLRiverCorridorSFA/About. In addition to a readme, this data package also includes a file-level metadata (FLMD) file that describes each file and a data dictionary (DD) that describes the variable definitions. This package includes: (1) annotated MATLAB code implementing the system of ordinary differential equations and cybernetic control laws; (2) saved output files containing data (e.g., biomass, substrates, enzyme levels, priming metrics); and (3) scripts for processing saved outputs and regenerating figures. Specifically, the data package contains three main MATLAB scripts: runPrimingModel.m, runPlotData.m, and runPlotSuppFigS1.m, along with this readme and supporting documentation. Users should begin with runPrimingModel.m, which contains the annotated code implementing the system of ordinary differential equations and cybernetic control laws. This script runs the Monte Carlo simulations of microbial OM decomposition and allows users to modify microbial trait definitions, adjust parameter distributions, or define new community configurations. Simulation outputs are automatically saved as .mat files in the folder named SavedData, which stores all pre-generated results included in this package. The second script, runPlotData.m, reads files from the SavedData folder and processes them to regenerate the figures presented in the manuscript. The third script, runPlotSuppFigS1.m, specifically generates Figure S1 in the Supplementary Material of the manuscript. The package also includes the aforementioned files in non-proprietary .txt format. If users intend to use them, they should first save the files in their respective .m or .mat formats prior to execution in MATLAB.

Biomass concentration↗

Motion Tracking Above and Below Water Dataset

This data set includes one trial of above and under water motion tracking measurements from a Qualysis motion tracking system. The Qualisys native .qtm file can be opened by the Qualisys Track Manager software. Data from this file has been exported to a tab separated value (.tsv) file which is a generic ASCII file format that can be read by a text editor, MATLAB, Excel, etc... Also exported is a native MATLAB formatted file (.mat) which can be loaded directly into MATLAB. The trial is from a three body wave energy converter device, using the underwater system for the central nacelle data, and above water system for the fore and aft floats.

16 TIDAL AND WAVE POWER↗

HERO WEC 2024 - Electrical Configuration Deployment Data

The following submission includes raw and processed electrical configuration deployment data from the in water deployment of NREL's Hydraulic and Electric Reverse Osmosis Wave Energy Converter (HERO WEC), in the form of parquet files, TDMS files, CSV files, bag files, and MATLAB workspaces. This dataset was collected in April 2024 at the Jennette's pier test site in North Carolina. Raw data as TDMS, CSV, and bag files are provided here alongside processed data in the form of MATLAB workspaces and Parquet files. This dataset includes the Python code used to process the data and MATLAB scripts to visualize the processed data. All data types, calculations, and processing is described in the included "Data Descriptions" document. All files in this dataset are described in detail in the included README. This data set has been developed by the National Renewable Energy Laboratory, operated by Alliance for Sustainable Energy, LLC, for the U.S. Department of Energy (DOE) under Contract No. DE-AC36-08GO28308. Funding provided by the U.S. Department of Energy Office of Energy Efficiency and Renewable Energy Water Power Technologies Office.

16 TIDAL AND WAVE POWER↗

HERO WEC Belt Test Data

The following submission includes raw and processed data from the 2024 Hydraulic and Electric Reverse Osmosis Wave Energy Converter (HERO WEC) belt tests conducted using NREL's Large Amplitude Motion Platform (LAMP). A description of the motion profiles run during testing can be found in the run log document. Data was collected using NREL's Modular Ocean Data AcQuisition (MODAQ) system in the form of TDMS files. Data was then processed using Python and MATLAB and converted to MATLAB workspace, parquet, and csv file formats. During Data processing, a low pass filter was applied to each array and the arrays were then resampled to common 10Hz timestamps. A MATLAB data viewer script is provided to quickly visualize these data sets. The following arrays are contained in each test data file: - Time: Unix seconds timestamp - Test_Time: Time in seconds since beginning of test - POS_OS_1001: Encoder position in degrees (the encoder is located on the secondary shaft of the spring return and is driven by the winch after a 4.5:1 gear reduction) - LC_ST_1001: Anchor load cell data in lbf - PRESS_OS_2002: Air spring pressure in psi This data set has been developed by the National Renewable Energy Laboratory, operated by Alliance for Sustainable Energy, LLC, for the U.S. Department of Energy (DOE) under Contract No. DE-AC36-08GO28308. Funding provided by the U.S. Department of Energy Office of Energy Efficiency and Renewable Energy Water Power Technologies Office.

16 TIDAL AND WAVE POWER↗

W-4 W88 Systems Engineering Summer 2023 Project [Slides]

The purpose is to create a simple, streamlined process to produce reports on out of tolerance conditions with CMM data. The methods are to develop the code or process within MATLAB to import the data (import tool can be used) and to develop the code to be able to plot the data of interest. The end states are to use MATLAB to analyze CMM data from the PA and document the process for a user with some knowledge of MATLAB and an engineering background.

42 ENGINEERING↗

Deadband Voltage Control and Power Buffering for Extreme Fast Charging Station

Voltage fluctuation is one of the most common challenges that electric vehicle charging station (EVCS) may introduce to the power grid. Local reactive power compensation (Q-compensation) capability of bi-directional electric vehicle (EV) chargers can mitigate the steady-state voltage violations caused by the EV charging itself or changes in the neighboring loads. Power buffering, using energy storage system (ESS), can be utilized to address the voltage transients (sags and swells) as a result of EV charging at the EVCS. To address PI controller’s ‘hunting’ issue, this paper proposes a Q-sign triggered deadband voltage control (V-control) method at the point of common coupling (PCC). In addition, to ensure the ramp rate of EV charging is within the allowable limits set forth by the grid code, a ramp rate control is proposed that uses the ESS as a ‘power buffer’. Lastly, different from most reported work in the literature where no explicit limit of the power electronic converters (PECs) is considered, this work considers a reasonable apparent power capacity limit of the PECs when achieving the V-control. This limit also affects the amount of active power that can be obtained from the grid, and subsequently may require ESS to function as ‘load sharing’ device to provide supplemental active power to satisfy EV load. A case study simulated in MATLAB (interfaced with PLECS) is presented to demonstrate the effectiveness of the proposed approaches for EVCS operation.

24 POWER TRANSMISSION AND DISTRIBUTION↗

QCLAB v0.1

QCLAB is an object-oriented MATLAB package for creating and representing quantum circuits. QCLAB can be used for rapid prototyping and testing of quantum algorithms, and allows for fast algorithm development and discovery. QCLAB provides I/O through openQASM making it compatible with quantum hardware. It is uniquely targeted at MATLAB users who so far didn't have any native MATLAB options for developing quantum computing applications.

Van Beeumen, RoelMaria Franciscus↗

Transport and Retention of Particulate Organic Matter in Sand: Lab Experiments and Modelling

Flow-through reactor (FTR) experiments were conducted at three different downward vertical flow rates to study the transport and retention of particulate organic matter (Chlorella powder) in riverbed sediments. This data package includes data files (.csv) regarding effluent collected from the FTRs during the experiments (time, duration, volume of each sample collection; concentration of nonreactive bromide tracer; concentration of suspended Chlorella determined by absorbance measurements) and sediment (sand) slices collected from the FTRs after the experiments (mass of Chlorella retained in 1 cm depth intervals determined by loss-on-ignition method). More detailed descriptions of data are provided in the data dictionary, and detailed methods are available in the associated MSc thesis listed in ‘Related References.’ The data dictionary and file level meta data (FLMD) are included in the data package as both .csv and .xlsx files. This data package also includes timelapse videos (.mp4) of the experiments, and modelling scripts associated with the experiments. The modelling scripts are included as MATLAB ‘live scripts’ (.mlx, which can be run using MATLAB), and are also included as .pdf and .html files with output plots included (which can be viewed without a MATLAB license and installation). The data files and modelling scripts are organized into a .zip folder for each of the three FTR experiments (three flow rates).

54 ENVIRONMENTAL SCIENCES↗

PETSc/TAO Users Manual (Rev. 3.19)

This manual describes the use of the Portable, Extensible Toolkit for Scientific Computation (PETSc) and the Toolkit for Advanced Optimization (TAO) for the numerical solution of partial differential equations and related problems on high-performance computers. PETSc/TAO is a suite of data structures and routines that provide the building blocks for the implementation of large-scale application codes on parallel (and serial) computers. PETSc uses the MPI standard for all distributed memory communication. PETSc/TAO includes a large suite of parallel linear solvers, nonlinear solvers, time integrators, and opti mization that may be used in application codes written in Fortran, C, C++, and Python (via petsc4py; see Getting Started). PETSc provides many of the mechanisms needed within parallel application codes, such as parallel matrix and vector assembly routines. The library is organized hierarchically, enabling users to employ the level of abstraction that is most appropriate for a particular problem. By using techniques of object-oriented programming, PETSc provides enormous flexibility for users. PETSc is a sophisticated set of software tools; as such, for some users it initially has a much steeper learning curve than packages such as MATLAB or a simple subroutine library. In particular, for individuals without some computer science background, experience programming in C, C++, python, or Fortran and experience using a debugger such as gdb or lldb, it may require a significant amount of time to take full advantage of the features that enable efficient software use. However, the power of the PETSc design and the algorithms it incorporates may make the efficient implementation of many application codes simpler than “rolling them” yourself. For many tasks a package such as MATLAB is often the best tool; PETSc is not intended for the classes of problems for which effective MATLAB code can be written. There are several packages, built on PETSc, that may satisfy your needs without requiring directly using PETSc. We recommend reviewing these packages functionality before starting to code directly with PETSc. PETSc can be used to provide a “MPI parallel linear solver” in an otherwise sequential, or OpenMP parallel code. This approach cannot provide extremely large improvements in the application time by utilizing large numbers of MPI processes but can still improve the performance. Certainly all parts of a previously sequential code need not be parallelized but the matrix generation portion must be parallelized to expect true scalability to large numbers of MPI processes. See PCMPI for details on how to utilize the PETSc MPI linear solver server. Since PETSc is under continued development, small changes in usage and calling sequences of routines will occur. PETSc has been supported for twenty-five years; see mailing list information on our website for information on contacting support.

97 MATHEMATICS AND COMPUTING↗

Gas-Gap Calorimeter Sizing and Rating Tools for Heat Pipe Experimentation

Effective gas-gap calorimeter sizing and rating tools are required to design calorimeters that enable well-defined operating conditions, high cooling powers, and accurate calorimetry. The present report describes two tools utilizing Microsoft Excel and MathWorks MATLAB that enable the sizing and rating of gas-gap calorimeters with a He-Ar binary gas mixture in the gap. The Excel tools are two easy-to-use spreadsheets for calculating heat pipe operating temperature or He-Ar mole fractions given the required inputs. The MATLAB tool includes similar models with more robust solution algorithms along with sub-options for full-vacuum, static gas-gap, and forced circulation in the gas-gap. The accuracy of the developed tools were demonstrated by comparing with existing work in literature. The MATLAB tool was used for a parametric study to determine the gas-gap thickness, coolant gap thickness, coolant flow rate, and coolant inlet temperatures for the testing of a 3/4 in outer diameter heat pipe up to powers of 10 kW and temperatures of 1,000°C. The effects of heat pipe and calorimeter inner shell surface emissivities were investigated, considering the inability to control or accurately measure surface emissivities in most applications. It was found that controlling the He-Ar mole fractions provides a wide operating range for gas-gap thicknesses around ~ 0.042--0.090 in (~ 1.07--2.29 mm) for a surface emissivity range of 0.4--0.8, since conduction heat transfer is a significant fraction of the heat transfer across the gas-gap. In addition, it was found that turbulent flow in the coolant gap is needed at high input powers to prevent shell temperatures from approaching the boiling temperature of the water coolant. The parametric study resulted in choosing stainless steel tubes with an outer diameter and thickness of 1 x 0.065 in as the inner shell, and a 1-1/2 x 0.156 in as the outer shell of the calorimeter. Overall, this report presents the necessary information for the sizing and rating of gas-gap calorimeters with He-Ar mixtures for the testing of high-temperature heat pipes (~ 500--1,000°C).

22 - GENERAL STUDIES OF NUCLEAR REACTORS↗

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↗