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 127 records · Page 7

Simit: A Language for Physical Simulation

With existing programming tools, writing high-performance simulation code is labor intensive and requires sacrificing readability and portability. Here, the alternative is to prototype simulations in a high-level language like Matlab, thereby sacrificing performance. The Matlab programming model naturally describes the behavior of an entire physical system using the language of linear algebra. However, simulations also manipulate individual geometric elements, which are best represented using linked data structures like meshes. Translating between the linked data structures and linear algebra comes at significant cost, both to the programmer and to the machine. High-performance implementations avoid the cost by rephrasing the computation in terms of linked or index data structures, leaving the code complicated and monolithic, often increasing its size by an order of magnitude. In this article, we present Simit, a new language for physical simulations that lets the programmer view the system both as a linked data structure in the form of a hypergraph and as a set of global vectors, matrices, and tensors depending on what is convenient at any given time. Simit provides a novel assembly construct that makes it conceptually easy and computationally efficient to move between the two abstractions. Using the information provided by the assembly construct, the compiler generates efficient in-place computation on the graph. We demonstrate that Simit is easy to use: a Simit program is typically shorter than a Matlab program; that it is high performance: a Simit program running sequentially on a CPU performs comparably to hand-optimized simulations; and that it is portable: Simit programs can be compiled for GPUs with no change to the program, delivering 4 to 20× speedups over our optimized CPU code.

97 MATHEMATICS AND COMPUTING↗

Mat2exo

MAT2EXO is a program which translates mesh data from Matlab mat-file format to Exodus II format. This tool is the inverse of the commonly used tool exo2mat which translates Exodus II data to the Matlab mat-file format. These tools provide a means for preprocessing an Exodus II model file or postprocessing an Exodus II results file using Matlab

Sjaardema, Gregory↗

GridPV Toolbox

Matlab Toolbox for simulating the impact of solar energy on the distribution grid. The majority of the functions are useful for interfacing OpenDSS and MATLAB, and they are of generic use for commanding OpenDSS from MATLAB and retrieving GridPV Toolbox information from simulations. A set of functions is also included for modeling PV plant output and setting up the PV plant in the OpenDSS simulation. The toolbox contains functions for modeling the OpenDSS distribution feeder on satellite images with GPS coordinates. Finally, example simulations functions are included to show potential uses of the toolbox functions.

Broderick, Robert↗

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↗

SWinzip v. 2.0

SWinzip is a Matlab and C++ library for scientific lossy data compression and reconstruction using compressed sensing and tree-wavelets transforms. These methods are known for their large compression and usefulness in data analytics such as features extraction. Compressed sensing and wavelets methods rely heavily on sparse and dense linear algebra operations implemented through the Boost codes in our library. SWinzip accommodates data represented on both regular grids (e.g. image data) and point-clouds (e.g. unstructured meshes). In SWinzip v2.0, there is more focus on wavelet compression and the following features are added: - The matrix-free (direct) wavelet transform is implemented in both C++ and Matlab. A threshold-based compression can now be used. Examples for distributed compression are also added. - Python implementation of Alpert wavelet transforms - Field data comparison using wavelets in Matlab with global and local metrics

Solloum, Maher↗

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↗

Grid integrated distributed PV (GridPV).

This manual provides the documentation of the MATLAB toolbox of functions for using OpenDSS to simulate the impact of solar energy on the distribution system. The majority of the functions are useful for interfacing OpenDSS and MATLAB, and they are of generic use for commanding OpenDSS from MATLAB and retrieving information from simulations. A set of functions is also included for modeling PV plant output and setting up the PV plant in the OpenDSS simulation. The toolbox contains functions for modeling the OpenDSS distribution feeder on satellite images with GPS coordinates. Finally, example simulations functions are included to show potential uses of the toolbox functions. Each function in the toolbox is documented with the function use syntax, full description, function input list, function output list, example use, and example output.

Reno, Matthew J.↗

Grid Integrated Distributed PV (GridPV) Version 2.

This manual provides the documentation of the MATLAB toolbox of functions for using OpenDSS to simulate the impact of solar energy on the distribution system. The majority of the functio ns are useful for interfacing OpenDSS and MATLAB, and they are of generic use for commanding OpenDSS from MATLAB and retrieving information from simulations. A set of functions is also included for modeling PV plant output and setting up the PV plant in th e OpenDSS simulation. The toolbox contains functions for modeling the OpenDSS distribution feeder on satellite images with GPS coordinates. Finally, example simulations functions are included to show potential uses of the toolbox functions. Each function i n the toolbox is documented with the function use syntax, full description, function input list, function output list, example use, and example output.

Reno, Matthew J.↗

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↗

Mat2exo

MAT2EXO is a program which translates mesh data from Matlab mat-file format to Exodus II format. This tool is the inverse of the commonly used tool exo2mat which translates Exodus II data to the Matlab mat-file format. These tools provide a means for preprocessing an Exodus II model file or postprocessing an Exodus II results file using Matlab

Source record↗

GridPV Toolbox

Matlab Toolbox for simulating the impact of solar energy on the distribution grid. The majority of the functions are useful for interfacing OpenDSS and MATLAB, and they are of generic use for commanding OpenDSS from MATLAB and retrieving GridPV Toolbox information from simulations. A set of functions is also included for modeling PV plant output and setting up the PV plant in the OpenDSS simulation. The toolbox contains functions for modeling the OpenDSS distribution feeder on satellite images with GPS coordinates. Finally, example simulations functions are included to show potential uses of the toolbox functions.

Broderick, Robert↗

X-ray Intermolecular Structure Factor (XISF): separation of intra- and intermolecular interactions from total X-ray scattering data

XISF is a MATLAB program developed to separate intermolecular structure factors from total X-ray scattering structure factors for molecular liquids and amorphous solids. The program is built on a trust-region-reflective optimization routine with the r.m.s. deviations of atoms physically constrained. XISF has been optimized for performance and can separate intermolecular structure factors of complex molecules.

MATLAB↗

GEO2D - Two-Dimensional Computer Model of a Ground Source Heat Pump System

This file contains a zipped file that contains many files required to run GEO2D. GEO2D is a computer code for simulating ground source heat pump (GSHP) systems in two-dimensions. GEO2D performs a detailed finite difference simulation of the heat transfer occurring within the working fluid, the tube wall, the grout, and the ground. Both horizontal and vertical wells can be simulated with this program, but it should be noted that the vertical wall is modeled as a single tube. This program also models the heat pump in conjunction with the heat transfer occurring. GEO2D simulates the heat pump and ground loop as a system. Many results are produced by GEO2D as a function of time and position, such as heat transfer rates, temperatures and heat pump performance. On top of this information from an economic comparison between the geothermal system simulated and a comparable air heat pump systems or a comparable gas, oil or propane heating systems with a vapor compression air conditioner. The version of GEO2D in the attached file has been coupled to the DOE heating and cooling load software called ENERGYPLUS. This is a great convenience for the user because heating and cooling loads are an input to GEO2D. GEO2D is a user friendly program that uses a graphical user interface for inputs and outputs. These make entering data simple and they produce many plotted results that are easy to understand. In order to run GEO2D access to MATLAB is required. If this program is not available on your computer you can download the program MCRInstaller.exe, the 64 bit version, from the MATLAB website or from the Geothermal Data Repository. This is a free download which will enable you to run GEO2D.

15 GEOTHERMAL ENERGY↗

Distributed Acoustic Sensing (DAS) Data for Periodic Hydraulic Tests: Hydraulic Data

Hydraulic responses from periodic hydraulic tests conducted at the Mirror Lake Fractured Rock Research Site, during the summer of 2015. These hydraulic responses were measured also using distributed acoustic sensing (DAS) which is cataloged in a different submission under this grant number. The tests are explained in detail in Matthew Cole's MS Thesis which is cataloged here. The injection and drawdown data and the codes used to analyze the data. Sinusoidal Data is a Matlab data file containing a data table for each period-length test. Within each table is a column labeled: time (seconds since beginning of pumping), Inj_m3pm (formation injection in cubic meters per minute), and head for each observation well (meters). The three Matlab script files (*.m) were used to analyze hydraulic responses from the data file above. High-Pass Sinusoid is a routine for filtering the data, computing the FFT, and extracting phase and amplitude values. Borestore is a routine which contains the borehole storage analytic solution and compares modeled amplitude and phase from this solution to computed amplitude and phase from the data. Patsearch Borestore is a routine containing the built-in pattern search optimization method. This minimizes the total error between modeled and actual amplitude and phase in Borestore. Comments within the script files contain more specific instructions for their use.

15 GEOTHERMAL ENERGY↗

PoroTomo - Distributed Temperature Sensing (DTS) Measurements made in Brady Observation Well 56-1

This submission is a follow-up to Distributed Temperature Sensing (DTS) measurements made in Brady observation well 56-1 during the PoroTomo field experiment conducted in March, 2016. The measurements in this data set were made on August 24, 2018 over an approximately 20 hour period. The fiber-optic cable extends to the bottom of the well at 367 m below the wellhead. Measurements were made with a Silixa XT DTS interrogator configured to continuously record in each file a sixty-second average of stokes and anti-stokes readings on a single channel with a bottom hole U-bend. The 2016 data were collected using a Silixia Ultima with 12.5 cm spatial sampling, whereas the XT spatial sampling interval is 25 cm with a temperature resolution of 0.03 degrees C. Raw, uncalibrated data were converted to a single .MAT file using code provided by Oregon State University's CTEMPs https://ctemps.org/data-processing. The binary Matlab file containing processed Silixa XT data is read using the Matlab statement "load('Brady_25Aug2018_ch1.mat')", which contains the arrays below. Arrays with 2361 rows represent the channels and arrays with 1210 columns represent the one-minute samples.

15 GEOTHERMAL ENERGY↗

DASH Slow Strain Rates from Brady Hot Springs Geothermal Field during PoroTomo Deployment Period

This submission contains slow strain rates summed to radians over 30 second intervals [rad/s] derived from horizontal distributed acoustic sensing measurements (DASH) of Brady geothermal field during PoroTomo deployment (2016-Mar-14 to 2016-Mar-26). There is one file corresponding to each day written in *.mat format for use with Matlab. The format for the binary Matlab .mat files are defined at: https://www.mathworks.com/help/pdf_doc/matlab/matfile_format.pdf. One such file includes the following variables: 'flist': list of raw DASH files used in the summation 'time_tag_mdt': sample time tag in datetime format with hours given in 24-hr format (yyyy/MM/dd HH:mm:ss.SSSSSSS) 'time_tag_uts': sample time tag in Unix time 'strain_rate_summed_over30s_in_radians_per_second': slow strain rates summed over 30 second intervals in units rad/s 'sample_standard_deviation_in_radians_per_second': corresponding sample standard deviation of slow strain rates in units rad/s The PoroTomo final technical report, raw DASH data, and software repository are also available through the links below.

15 GEOTHERMAL ENERGY↗

Brady's Geothermal Field DASH Resampled in Time

This submission includes a link to the DASH (Horizontal distributed acoustic sensing) data files that were resampled in time to 100 samples per second from the original 1000 samples per second files. Data is in 30 second Matlab files organized into directories by day. The README_DASH.pdf file includes details on the contents of the Matlab files. Metadata is the same as the original data files and can be found in GDR submission 980 (see "Original Data Files" link).

15 GEOTHERMAL ENERGY↗