This document summarizes the MATLAB Reservoir Simulation Toolbox (MRST), which provides an environment for reservoir modelling and simulation using MATLAB. MRST features fully unstructured grids, rapid prototyping capabilities through automatic differentiation and object-oriented design, and industry-standard simulation methods. It has a large international user base in both academia and industry and consists of over 50 modules and thousands of lines of code.
This document discusses the use of Monte Carlo simulations to evaluate measurement uncertainty according to Supplement 1 to the Guide to the Expression of Uncertainty in Measurement (GUM+1). It provides examples of generating random numbers and using them in Monte Carlo simulations. One example evaluates the uncertainty in measuring the volume of a cylinder based on uncertainties in diameter and height measurements. The document concludes with an example of calibrating a thermometer and determining the uncertainties in the calibration curve parameters.
Trilinear embedding for divergence-form operatorsVjekoslavKovac1
The document discusses a trilinear embedding theorem for divergence-form operators with complex coefficients. It proves that if matrices A, B, C are appropriately p,q,r-elliptic, then there is a bound on the integral of the product of the gradients of the semigroups associated with the operators. The proof uses a Bellman function technique and shows the relationship to the concept of p-ellipticity. It generalizes previous work on bilinear embeddings to the trilinear case.
This paper studies an approximate dynamic programming (ADP) strategy of a group of nonlinear switched systems, where the external disturbances are considered. The neural network (NN) technique is regarded to estimate the unknown part of actor as well as critic to deal with the corresponding nominal system. The training technique is simul-taneously carried out based on the solution of minimizing the square error Hamilton function. The closed system’s tracking error is analyzed to converge to an attraction region of origin point with the uniformly ultimately bounded (UUB) description. The simulation results are implemented to determine the effectiveness of the ADP based controller.
Distributed solution of stochastic optimal control problem on GPUsPantelis Sopasakis
Stochastic optimal control problems arise in many
applications and are, in principle,
large-scale involving up to millions of decision variables. Their
applicability in control applications is often limited by the
availability of algorithms that can solve them efficiently and within
the sampling time of the controlled system.
In this paper we propose a dual accelerated proximal
gradient algorithm which is amenable to parallelization and
demonstrate that its GPU implementation affords high speed-up
values (with respect to a CPU implementation) and greatly outperforms
well-established commercial optimizers such as Gurobi.
The smile calibration problem is a mathematical conundrum in finance that has challenged quantitative analysts for decades. Through his research, Aitor Muguruza has discovered a novel resolution to this classic problem.
Opening of our Deep Learning Lunch & Learn series. First session: introduction to Neural Networks, Gradient descent and backpropagation, by Pablo J. Villacorta, with a prologue by Fernando Velasco
We approach the screening problem - i.e. detecting which inputs of a computer model significantly impact the output - from a formal Bayesian model selection point of view. That is, we place a Gaussian process prior on the computer model and consider the $2^p$ models that result from assuming that each of the subsets of the $p$ inputs affect the response. The goal is to obtain the posterior probabilities of each of these models. In this talk, we focus on the specification of objective priors on the model-specific parameters and on convenient ways to compute the associated marginal likelihoods. These two problems that normally are seen as unrelated, have challenging connections since the priors proposed in the literature are specifically designed to have posterior modes in the boundary of the parameter space, hence precluding the application of approximate integration techniques based on e.g. Laplace approximations. We explore several ways of circumventing this difficulty, comparing different methodologies with synthetic examples taken from the literature.
Authors: Gonzalo Garcia-Donato (Universidad de Castilla-La Mancha) and Rui Paulo (Universidade de Lisboa)
This document discusses the use of Monte Carlo simulations to evaluate measurement uncertainty according to Supplement 1 to the Guide to the Expression of Uncertainty in Measurement (GUM+1). It provides examples of generating random numbers and using them in Monte Carlo simulations. One example evaluates the uncertainty in measuring the volume of a cylinder based on uncertainties in diameter and height measurements. The document concludes with an example of calibrating a thermometer and determining the uncertainties in the calibration curve parameters.
Trilinear embedding for divergence-form operatorsVjekoslavKovac1
The document discusses a trilinear embedding theorem for divergence-form operators with complex coefficients. It proves that if matrices A, B, C are appropriately p,q,r-elliptic, then there is a bound on the integral of the product of the gradients of the semigroups associated with the operators. The proof uses a Bellman function technique and shows the relationship to the concept of p-ellipticity. It generalizes previous work on bilinear embeddings to the trilinear case.
This paper studies an approximate dynamic programming (ADP) strategy of a group of nonlinear switched systems, where the external disturbances are considered. The neural network (NN) technique is regarded to estimate the unknown part of actor as well as critic to deal with the corresponding nominal system. The training technique is simul-taneously carried out based on the solution of minimizing the square error Hamilton function. The closed system’s tracking error is analyzed to converge to an attraction region of origin point with the uniformly ultimately bounded (UUB) description. The simulation results are implemented to determine the effectiveness of the ADP based controller.
Distributed solution of stochastic optimal control problem on GPUsPantelis Sopasakis
Stochastic optimal control problems arise in many
applications and are, in principle,
large-scale involving up to millions of decision variables. Their
applicability in control applications is often limited by the
availability of algorithms that can solve them efficiently and within
the sampling time of the controlled system.
In this paper we propose a dual accelerated proximal
gradient algorithm which is amenable to parallelization and
demonstrate that its GPU implementation affords high speed-up
values (with respect to a CPU implementation) and greatly outperforms
well-established commercial optimizers such as Gurobi.
The smile calibration problem is a mathematical conundrum in finance that has challenged quantitative analysts for decades. Through his research, Aitor Muguruza has discovered a novel resolution to this classic problem.
Opening of our Deep Learning Lunch & Learn series. First session: introduction to Neural Networks, Gradient descent and backpropagation, by Pablo J. Villacorta, with a prologue by Fernando Velasco
We approach the screening problem - i.e. detecting which inputs of a computer model significantly impact the output - from a formal Bayesian model selection point of view. That is, we place a Gaussian process prior on the computer model and consider the $2^p$ models that result from assuming that each of the subsets of the $p$ inputs affect the response. The goal is to obtain the posterior probabilities of each of these models. In this talk, we focus on the specification of objective priors on the model-specific parameters and on convenient ways to compute the associated marginal likelihoods. These two problems that normally are seen as unrelated, have challenging connections since the priors proposed in the literature are specifically designed to have posterior modes in the boundary of the parameter space, hence precluding the application of approximate integration techniques based on e.g. Laplace approximations. We explore several ways of circumventing this difficulty, comparing different methodologies with synthetic examples taken from the literature.
Authors: Gonzalo Garcia-Donato (Universidad de Castilla-La Mancha) and Rui Paulo (Universidade de Lisboa)
The document describes experiments to simulate and analyze second order systems in time domain. It discusses designing a second order RLC circuit with different damping ratios ξ and applying a unit step input. The time domain specifications like percentage overshoot, peak time, rise time and settling time are calculated theoretically and also measured experimentally for different damping cases. Another experiment aims to design a passive RC lead compensator network for a specified phase lead and verify its performance using Bode plots. A third experiment analyzes steady state error of type-0, type-1 and type-2 digital control systems using MATLAB. A fourth experiment discusses simulating position control of an armature controlled DC motor in state space. The last experiment discusses designing a digital controller with
To describe the dynamics taking place in networks that structurally change over time, we propose an approach to search for attributes whose value changes impact the topology of the graph. In several applications, it appears that the variations of a group of attributes are often followed by some structural changes in the graph that one may assume they generate. We formalize the triggering pattern discovery problem as a method jointly rooted in sequence mining and graph analysis. We apply our approach on three real-world dynamic graphs of different natures - a co-authoring network, an airline network, and a social bookmarking system - assessing the relevancy of the triggering pattern mining approach.
The document contains examples demonstrating the use of Scilab to solve problems related to mathematics and engineering. It includes examples of plotting 2D cartesian and polar curves, finding the angle between polar curves and radius of curvature, solving ordinary differential equations, finding partial derivatives and Jacobians, computing the greatest common divisor, solving linear congruences and systems of linear equations, and representing systems of equations graphically. The code examples show how to use Scilab functions and commands to analyze and solve these types of mathematical problems numerically.
Introduction to Neural Networks and Deep Learning from ScratchAhmed BESBES
If you're willing to understand how neural networks work behind the scene and debug the back-propagation algorithm step by step by yourself, this presentation should be a good starting point.
We'll cover elements on:
- the popularity of neural networks and their applications
- the artificial neuron and the analogy with the biological one
- the perceptron
- the architecture of multi-layer perceptrons
- loss functions
- activation functions
- the gradient descent algorithm
At the end, there will be an implementation FROM SCRATCH of a fully functioning neural net.
code: https://github.com/ahmedbesbes/Neural-Network-from-scratch
This document contains 13 examples of exercises related to control systems. The examples involve tasks such as deriving state space models, bringing feedback control systems into generalized standard form, designing controllers, computing norms, and parametrizing stabilizing controllers. The examples cover topics including disturbance decoupling, observer design, state feedback, and coprime factorizations.
Computer Controlled Systems (solutions manual). Astrom. 3rd edition 1997JOAQUIN REA
This document contains solutions to problems in a textbook on computer-controlled systems. It provides solutions to problems from Chapter 2, which deals with modeling continuous systems as discrete-time systems using sampling. The document includes analytical solutions to several problems involving sampling continuous systems and determining the corresponding discrete-time models. It also contains the solutions presented in matrix form.
Identification of the Mathematical Models of Complex Relaxation Processes in ...Vladimir Bakhrushin
The approach to solving the problem of complex relaxation spectra is presented.
Presentation for the XI International Conference on Defect interaction and anelastic phenomena in solids. Tula, 2007.
We study an elliptic eigenvalue problem, with a random coefficient that can be parametrised by infinitely-many stochastic parameters. The physical motivation is the criticality problem for a nuclear reactor: in steady state the fission reaction can be modeled by an elliptic eigenvalue
problem, and the smallest eigenvalue provides a measure of how close the reaction is to equilibrium -- in terms of production/absorption of neutrons. The coefficients are allowed to be random to model the uncertainty of the composition of materials inside the reactor, e.g., the
control rods, reactor structure, fuel rods etc.
The randomness in the coefficient also results in randomness in the eigenvalues and corresponding eigenfunctions. As such, our quantity of interest is the expected value, with
respect to the stochastic parameters, of the smallest eigenvalue, which we formulate as an integral over the infinite-dimensional parameter domain. Our approximation involves three steps: truncating the stochastic dimension, discretizing the spatial domain using finite elements and approximating the now finite but still high-dimensional integral.
To approximate the high-dimensional integral we use quasi-Monte Carlo (QMC) methods. These are deterministic or quasi-random quadrature rules that can be proven to be very efficient for the numerical integration of certain classes of high-dimensional functions. QMC methods have previously been applied to linear functionals of the solution of a similar elliptic source problem; however, because of the nonlinearity of eigenvalues the existing analysis of the integration error
does not hold in our case.
We show that the minimal eigenvalue belongs to the spaces required for QMC theory, outline the approximation algorithm and provide numerical results.
MVPA with SpaceNet: sparse structured priorsElvis DOHMATOB
The GraphNet (aka S-Lasso), as well as other “sparsity + structure” priors like TV (Total-Variation), TV-L1, etc., are not easily applicable to brain data because of technical problems
relating to the selection of the regularization parameters. Also, in
their own right, such models lead to challenging high-dimensional optimization problems. In this manuscript, we present some heuristics for speeding up the overall optimization process: (a) Early-stopping, whereby one halts the optimization process when the test score (performance on leftout data) for the internal cross-validation for model-selection stops improving, and (b) univariate feature-screening, whereby irrelevant (non-predictive) voxels are detected and eliminated before the optimization problem is entered, thus reducing the size of the problem. Empirical results with GraphNet on real MRI (Magnetic Resonance Imaging) datasets indicate that these heuristics are a win-win strategy, as they add speed without sacrificing the quality of the predictions. We expect the proposed heuristics to work on other models like TV-L1, etc.
Relaxation methods for the matrix exponential on large networksDavid Gleich
My talk from the Stanford ICME seminar series on doing network analysis and link prediction using the a fast algorithm for the matrix exponential on graph problems.
This document describes an improved direct multiple shooting approach combined with collocation and parallel computing to handle path constraints in dynamic nonlinear optimization problems. It combines direct multiple shooting with collocation discretization to transform the dynamic optimization problem into a nonlinear programming problem. The approach discretizes the time horizon into finite elements and applies collocation at the nodes. It then uses parallel computing to simulate each time interval independently. Case studies on controlling a Van der Pol oscillator and continuous stirred tank reactor are presented to demonstrate the method.
Modern Control - Lec 05 - Analysis and Design of Control Systems using Freque...Amr E. Mohamed
The document discusses frequency response analysis and Bode plots. It begins with an introduction to frequency response and how the steady state response of a linear time-invariant system to a sinusoidal input is another sinusoid at the same frequency with a different magnitude and phase. The complex ratio of the output to input is called the frequency response. It then discusses Bode plots which show the magnitude and phase of the frequency response on logarithmic scales. Key features of components in open-loop transfer functions and how they affect the Bode plot shapes are explained. An example demonstrates drawing the Bode plots for a sample transfer function.
R package 'bayesImageS': a case study in Bayesian computation using Rcpp and ...Matt Moores
There are many approaches to Bayesian computation with intractable likelihoods, including the exchange algorithm, approximate Bayesian computation (ABC), thermodynamic integration, and composite likelihood. These approaches vary in accuracy as well as scalability for datasets of significant size. The Potts model is an example where such methods are required, due to its intractable normalising constant. This model is a type of Markov random field, which is commonly used for image segmentation. The dimension of its parameter space increases linearly with the number of pixels in the image, making this a challenging application for scalable Bayesian computation. My talk will introduce various algorithms in the context of the Potts model and describe their implementation in C++, using OpenMP for parallelism. I will also discuss the process of releasing this software as an open source R package on the CRAN repository.
Ece 415 control systems, fall 2021 computer project 1 ronak56
This document provides instructions for a control systems computer project. It includes two parts:
Part I has students implement proportional control of a DC motor model in MATLAB. This includes designing open-loop and closed-loop controllers and analyzing step and disturbance responses.
Part II involves further controller design problems, including designing a controller to increase the system type and minimize settling time, analyzing response to a ramp input, and discussing performance limitations.
We formulate the initial value problem to model the evolution of the interface between two fluids of different density in three spatial dimensions. The evolution equations account for the action of gravity on the fluids, surface tension in the fluids and a prescribed far-field conditions.
The flow in each fluid is incompressible and irrotational, so the classical potential theory applies and allows for a boundary integral of dipoles representation. This representation satisfies the kinematic condition of continuous normal velocity and the Laplace-Young condition for the pressure. The dipole strength is related to the jump in potential across the interface. The model of the exact nonlinear three-dimensional motion of the interface is formulated and includes expressions for integral invariants of the motion, the mean height of the interface and the total energy per wavelength.
We develop the numerical method that employes a special generalized isothermal interface parameterization. It enables the use of implicit non-stiff time-integration methods via a small-scale decomposition. Our method includes the efficient algorithms for the generation of initial data with the generalized isothermal parameterization by evolving a flat interface toward a prescribed initial surface shape or by the appropriate choice of the tangential velocities.
The method is used to efficiently compute the nonlinear evolution of a doubly periodic interface separating two fluids in the Rayleigh-Taylor instability and internal waves with surface tension.
Predicting organic reaction outcomes with weisfeiler lehman networkKazuki Fujikawa
This document discusses neural message passing networks for modeling quantum chemistry. It defines message passing networks as having message functions that update node states based on neighboring node states, vertex update functions that update node states based to accumulated messages, and a readout function that produces an output for the full graph. It provides examples of specific message, update, and readout functions used in existing message passing models like interaction networks and molecular graph convolutions.
study Streaming Multigrid For Gradient Domain Operations On Large ImagesChiamin Hsu
The document describes a streaming multigrid solver for solving Poisson's equation on large images. It develops a multigrid method using a B-spline finite element basis that can efficiently process images in a streaming fashion using only a small window of image rows in memory at a time. The method achieves accurate solutions to Poisson's equation on gigapixel images in only 2 V-cycles by leveraging the temporal locality of the multigrid algorithm.
Convex Optimization Modelling with CVXOPTandrewmart11
An introduction to convex optimization modelling using cvxopt in an IPython environment. The facility location problem is used as an example to demonstrate modelling in cvxopt.
Phenomics assisted breeding in crop improvementIshaGoswami9
As the population is increasing and will reach about 9 billion upto 2050. Also due to climate change, it is difficult to meet the food requirement of such a large population. Facing the challenges presented by resource shortages, climate
change, and increasing global population, crop yield and quality need to be improved in a sustainable way over the coming decades. Genetic improvement by breeding is the best way to increase crop productivity. With the rapid progression of functional
genomics, an increasing number of crop genomes have been sequenced and dozens of genes influencing key agronomic traits have been identified. However, current genome sequence information has not been adequately exploited for understanding
the complex characteristics of multiple gene, owing to a lack of crop phenotypic data. Efficient, automatic, and accurate technologies and platforms that can capture phenotypic data that can
be linked to genomics information for crop improvement at all growth stages have become as important as genotyping. Thus,
high-throughput phenotyping has become the major bottleneck restricting crop breeding. Plant phenomics has been defined as the high-throughput, accurate acquisition and analysis of multi-dimensional phenotypes
during crop growing stages at the organism level, including the cell, tissue, organ, individual plant, plot, and field levels. With the rapid development of novel sensors, imaging technology,
and analysis methods, numerous infrastructure platforms have been developed for phenotyping.
The document describes experiments to simulate and analyze second order systems in time domain. It discusses designing a second order RLC circuit with different damping ratios ξ and applying a unit step input. The time domain specifications like percentage overshoot, peak time, rise time and settling time are calculated theoretically and also measured experimentally for different damping cases. Another experiment aims to design a passive RC lead compensator network for a specified phase lead and verify its performance using Bode plots. A third experiment analyzes steady state error of type-0, type-1 and type-2 digital control systems using MATLAB. A fourth experiment discusses simulating position control of an armature controlled DC motor in state space. The last experiment discusses designing a digital controller with
To describe the dynamics taking place in networks that structurally change over time, we propose an approach to search for attributes whose value changes impact the topology of the graph. In several applications, it appears that the variations of a group of attributes are often followed by some structural changes in the graph that one may assume they generate. We formalize the triggering pattern discovery problem as a method jointly rooted in sequence mining and graph analysis. We apply our approach on three real-world dynamic graphs of different natures - a co-authoring network, an airline network, and a social bookmarking system - assessing the relevancy of the triggering pattern mining approach.
The document contains examples demonstrating the use of Scilab to solve problems related to mathematics and engineering. It includes examples of plotting 2D cartesian and polar curves, finding the angle between polar curves and radius of curvature, solving ordinary differential equations, finding partial derivatives and Jacobians, computing the greatest common divisor, solving linear congruences and systems of linear equations, and representing systems of equations graphically. The code examples show how to use Scilab functions and commands to analyze and solve these types of mathematical problems numerically.
Introduction to Neural Networks and Deep Learning from ScratchAhmed BESBES
If you're willing to understand how neural networks work behind the scene and debug the back-propagation algorithm step by step by yourself, this presentation should be a good starting point.
We'll cover elements on:
- the popularity of neural networks and their applications
- the artificial neuron and the analogy with the biological one
- the perceptron
- the architecture of multi-layer perceptrons
- loss functions
- activation functions
- the gradient descent algorithm
At the end, there will be an implementation FROM SCRATCH of a fully functioning neural net.
code: https://github.com/ahmedbesbes/Neural-Network-from-scratch
This document contains 13 examples of exercises related to control systems. The examples involve tasks such as deriving state space models, bringing feedback control systems into generalized standard form, designing controllers, computing norms, and parametrizing stabilizing controllers. The examples cover topics including disturbance decoupling, observer design, state feedback, and coprime factorizations.
Computer Controlled Systems (solutions manual). Astrom. 3rd edition 1997JOAQUIN REA
This document contains solutions to problems in a textbook on computer-controlled systems. It provides solutions to problems from Chapter 2, which deals with modeling continuous systems as discrete-time systems using sampling. The document includes analytical solutions to several problems involving sampling continuous systems and determining the corresponding discrete-time models. It also contains the solutions presented in matrix form.
Identification of the Mathematical Models of Complex Relaxation Processes in ...Vladimir Bakhrushin
The approach to solving the problem of complex relaxation spectra is presented.
Presentation for the XI International Conference on Defect interaction and anelastic phenomena in solids. Tula, 2007.
We study an elliptic eigenvalue problem, with a random coefficient that can be parametrised by infinitely-many stochastic parameters. The physical motivation is the criticality problem for a nuclear reactor: in steady state the fission reaction can be modeled by an elliptic eigenvalue
problem, and the smallest eigenvalue provides a measure of how close the reaction is to equilibrium -- in terms of production/absorption of neutrons. The coefficients are allowed to be random to model the uncertainty of the composition of materials inside the reactor, e.g., the
control rods, reactor structure, fuel rods etc.
The randomness in the coefficient also results in randomness in the eigenvalues and corresponding eigenfunctions. As such, our quantity of interest is the expected value, with
respect to the stochastic parameters, of the smallest eigenvalue, which we formulate as an integral over the infinite-dimensional parameter domain. Our approximation involves three steps: truncating the stochastic dimension, discretizing the spatial domain using finite elements and approximating the now finite but still high-dimensional integral.
To approximate the high-dimensional integral we use quasi-Monte Carlo (QMC) methods. These are deterministic or quasi-random quadrature rules that can be proven to be very efficient for the numerical integration of certain classes of high-dimensional functions. QMC methods have previously been applied to linear functionals of the solution of a similar elliptic source problem; however, because of the nonlinearity of eigenvalues the existing analysis of the integration error
does not hold in our case.
We show that the minimal eigenvalue belongs to the spaces required for QMC theory, outline the approximation algorithm and provide numerical results.
MVPA with SpaceNet: sparse structured priorsElvis DOHMATOB
The GraphNet (aka S-Lasso), as well as other “sparsity + structure” priors like TV (Total-Variation), TV-L1, etc., are not easily applicable to brain data because of technical problems
relating to the selection of the regularization parameters. Also, in
their own right, such models lead to challenging high-dimensional optimization problems. In this manuscript, we present some heuristics for speeding up the overall optimization process: (a) Early-stopping, whereby one halts the optimization process when the test score (performance on leftout data) for the internal cross-validation for model-selection stops improving, and (b) univariate feature-screening, whereby irrelevant (non-predictive) voxels are detected and eliminated before the optimization problem is entered, thus reducing the size of the problem. Empirical results with GraphNet on real MRI (Magnetic Resonance Imaging) datasets indicate that these heuristics are a win-win strategy, as they add speed without sacrificing the quality of the predictions. We expect the proposed heuristics to work on other models like TV-L1, etc.
Relaxation methods for the matrix exponential on large networksDavid Gleich
My talk from the Stanford ICME seminar series on doing network analysis and link prediction using the a fast algorithm for the matrix exponential on graph problems.
This document describes an improved direct multiple shooting approach combined with collocation and parallel computing to handle path constraints in dynamic nonlinear optimization problems. It combines direct multiple shooting with collocation discretization to transform the dynamic optimization problem into a nonlinear programming problem. The approach discretizes the time horizon into finite elements and applies collocation at the nodes. It then uses parallel computing to simulate each time interval independently. Case studies on controlling a Van der Pol oscillator and continuous stirred tank reactor are presented to demonstrate the method.
Modern Control - Lec 05 - Analysis and Design of Control Systems using Freque...Amr E. Mohamed
The document discusses frequency response analysis and Bode plots. It begins with an introduction to frequency response and how the steady state response of a linear time-invariant system to a sinusoidal input is another sinusoid at the same frequency with a different magnitude and phase. The complex ratio of the output to input is called the frequency response. It then discusses Bode plots which show the magnitude and phase of the frequency response on logarithmic scales. Key features of components in open-loop transfer functions and how they affect the Bode plot shapes are explained. An example demonstrates drawing the Bode plots for a sample transfer function.
R package 'bayesImageS': a case study in Bayesian computation using Rcpp and ...Matt Moores
There are many approaches to Bayesian computation with intractable likelihoods, including the exchange algorithm, approximate Bayesian computation (ABC), thermodynamic integration, and composite likelihood. These approaches vary in accuracy as well as scalability for datasets of significant size. The Potts model is an example where such methods are required, due to its intractable normalising constant. This model is a type of Markov random field, which is commonly used for image segmentation. The dimension of its parameter space increases linearly with the number of pixels in the image, making this a challenging application for scalable Bayesian computation. My talk will introduce various algorithms in the context of the Potts model and describe their implementation in C++, using OpenMP for parallelism. I will also discuss the process of releasing this software as an open source R package on the CRAN repository.
Ece 415 control systems, fall 2021 computer project 1 ronak56
This document provides instructions for a control systems computer project. It includes two parts:
Part I has students implement proportional control of a DC motor model in MATLAB. This includes designing open-loop and closed-loop controllers and analyzing step and disturbance responses.
Part II involves further controller design problems, including designing a controller to increase the system type and minimize settling time, analyzing response to a ramp input, and discussing performance limitations.
We formulate the initial value problem to model the evolution of the interface between two fluids of different density in three spatial dimensions. The evolution equations account for the action of gravity on the fluids, surface tension in the fluids and a prescribed far-field conditions.
The flow in each fluid is incompressible and irrotational, so the classical potential theory applies and allows for a boundary integral of dipoles representation. This representation satisfies the kinematic condition of continuous normal velocity and the Laplace-Young condition for the pressure. The dipole strength is related to the jump in potential across the interface. The model of the exact nonlinear three-dimensional motion of the interface is formulated and includes expressions for integral invariants of the motion, the mean height of the interface and the total energy per wavelength.
We develop the numerical method that employes a special generalized isothermal interface parameterization. It enables the use of implicit non-stiff time-integration methods via a small-scale decomposition. Our method includes the efficient algorithms for the generation of initial data with the generalized isothermal parameterization by evolving a flat interface toward a prescribed initial surface shape or by the appropriate choice of the tangential velocities.
The method is used to efficiently compute the nonlinear evolution of a doubly periodic interface separating two fluids in the Rayleigh-Taylor instability and internal waves with surface tension.
Predicting organic reaction outcomes with weisfeiler lehman networkKazuki Fujikawa
This document discusses neural message passing networks for modeling quantum chemistry. It defines message passing networks as having message functions that update node states based on neighboring node states, vertex update functions that update node states based to accumulated messages, and a readout function that produces an output for the full graph. It provides examples of specific message, update, and readout functions used in existing message passing models like interaction networks and molecular graph convolutions.
study Streaming Multigrid For Gradient Domain Operations On Large ImagesChiamin Hsu
The document describes a streaming multigrid solver for solving Poisson's equation on large images. It develops a multigrid method using a B-spline finite element basis that can efficiently process images in a streaming fashion using only a small window of image rows in memory at a time. The method achieves accurate solutions to Poisson's equation on gigapixel images in only 2 V-cycles by leveraging the temporal locality of the multigrid algorithm.
Convex Optimization Modelling with CVXOPTandrewmart11
An introduction to convex optimization modelling using cvxopt in an IPython environment. The facility location problem is used as an example to demonstrate modelling in cvxopt.
Similar to reservoir-modeling-using-matlab-the-matalb-reservoir-simulation-toolbox-mrst.pdf (20)
Phenomics assisted breeding in crop improvementIshaGoswami9
As the population is increasing and will reach about 9 billion upto 2050. Also due to climate change, it is difficult to meet the food requirement of such a large population. Facing the challenges presented by resource shortages, climate
change, and increasing global population, crop yield and quality need to be improved in a sustainable way over the coming decades. Genetic improvement by breeding is the best way to increase crop productivity. With the rapid progression of functional
genomics, an increasing number of crop genomes have been sequenced and dozens of genes influencing key agronomic traits have been identified. However, current genome sequence information has not been adequately exploited for understanding
the complex characteristics of multiple gene, owing to a lack of crop phenotypic data. Efficient, automatic, and accurate technologies and platforms that can capture phenotypic data that can
be linked to genomics information for crop improvement at all growth stages have become as important as genotyping. Thus,
high-throughput phenotyping has become the major bottleneck restricting crop breeding. Plant phenomics has been defined as the high-throughput, accurate acquisition and analysis of multi-dimensional phenotypes
during crop growing stages at the organism level, including the cell, tissue, organ, individual plant, plot, and field levels. With the rapid development of novel sensors, imaging technology,
and analysis methods, numerous infrastructure platforms have been developed for phenotyping.
This presentation explores a brief idea about the structural and functional attributes of nucleotides, the structure and function of genetic materials along with the impact of UV rays and pH upon them.
What is greenhouse gasses and how many gasses are there to affect the Earth.moosaasad1975
What are greenhouse gasses how they affect the earth and its environment what is the future of the environment and earth how the weather and the climate effects.
BREEDING METHODS FOR DISEASE RESISTANCE.pptxRASHMI M G
Plant breeding for disease resistance is a strategy to reduce crop losses caused by disease. Plants have an innate immune system that allows them to recognize pathogens and provide resistance. However, breeding for long-lasting resistance often involves combining multiple resistance genes
When I was asked to give a companion lecture in support of ‘The Philosophy of Science’ (https://shorturl.at/4pUXz) I decided not to walk through the detail of the many methodologies in order of use. Instead, I chose to employ a long standing, and ongoing, scientific development as an exemplar. And so, I chose the ever evolving story of Thermodynamics as a scientific investigation at its best.
Conducted over a period of >200 years, Thermodynamics R&D, and application, benefitted from the highest levels of professionalism, collaboration, and technical thoroughness. New layers of application, methodology, and practice were made possible by the progressive advance of technology. In turn, this has seen measurement and modelling accuracy continually improved at a micro and macro level.
Perhaps most importantly, Thermodynamics rapidly became a primary tool in the advance of applied science/engineering/technology, spanning micro-tech, to aerospace and cosmology. I can think of no better a story to illustrate the breadth of scientific methodologies and applications at their best.
hematic appreciation test is a psychological assessment tool used to measure an individual's appreciation and understanding of specific themes or topics. This test helps to evaluate an individual's ability to connect different ideas and concepts within a given theme, as well as their overall comprehension and interpretation skills. The results of the test can provide valuable insights into an individual's cognitive abilities, creativity, and critical thinking skills
The binding of cosmological structures by massless topological defectsSérgio Sacani
Assuming spherical symmetry and weak field, it is shown that if one solves the Poisson equation or the Einstein field
equations sourced by a topological defect, i.e. a singularity of a very specific form, the result is a localized gravitational
field capable of driving flat rotation (i.e. Keplerian circular orbits at a constant speed for all radii) of test masses on a thin
spherical shell without any underlying mass. Moreover, a large-scale structure which exploits this solution by assembling
concentrically a number of such topological defects can establish a flat stellar or galactic rotation curve, and can also deflect
light in the same manner as an equipotential (isothermal) sphere. Thus, the need for dark matter or modified gravity theory is
mitigated, at least in part.
The ability to recreate computational results with minimal effort and actionable metrics provides a solid foundation for scientific research and software development. When people can replicate an analysis at the touch of a button using open-source software, open data, and methods to assess and compare proposals, it significantly eases verification of results, engagement with a diverse range of contributors, and progress. However, we have yet to fully achieve this; there are still many sociotechnical frictions.
Inspired by David Donoho's vision, this talk aims to revisit the three crucial pillars of frictionless reproducibility (data sharing, code sharing, and competitive challenges) with the perspective of deep software variability.
Our observation is that multiple layers — hardware, operating systems, third-party libraries, software versions, input data, compile-time options, and parameters — are subject to variability that exacerbates frictions but is also essential for achieving robust, generalizable results and fostering innovation. I will first review the literature, providing evidence of how the complex variability interactions across these layers affect qualitative and quantitative software properties, thereby complicating the reproduction and replication of scientific studies in various fields.
I will then present some software engineering and AI techniques that can support the strategic exploration of variability spaces. These include the use of abstractions and models (e.g., feature models), sampling strategies (e.g., uniform, random), cost-effective measurements (e.g., incremental build of software configurations), and dimensionality reduction methods (e.g., transfer learning, feature selection, software debloating).
I will finally argue that deep variability is both the problem and solution of frictionless reproducibility, calling the software science community to develop new methods and tools to manage variability and foster reproducibility in software systems.
Exposé invité Journées Nationales du GDR GPL 2024
ESPP presentation to EU Waste Water Network, 4th June 2024 “EU policies driving nutrient removal and recycling
and the revised UWWTD (Urban Waste Water Treatment Directive)”
Nucleophilic Addition of carbonyl compounds.pptxSSR02
Nucleophilic addition is the most important reaction of carbonyls. Not just aldehydes and ketones, but also carboxylic acid derivatives in general.
Carbonyls undergo addition reactions with a large range of nucleophiles.
Comparing the relative basicity of the nucleophile and the product is extremely helpful in determining how reversible the addition reaction is. Reactions with Grignards and hydrides are irreversible. Reactions with weak bases like halides and carboxylates generally don’t happen.
Electronic effects (inductive effects, electron donation) have a large impact on reactivity.
Large groups adjacent to the carbonyl will slow the rate of reaction.
Neutral nucleophiles can also add to carbonyls, although their additions are generally slower and more reversible. Acid catalysis is sometimes employed to increase the rate of addition.
1. Reservoir Modelling Using MATLAB - The MATLAB
Reservoir Simulation Toolbox (MRST)
Knut-Andreas Lie
SINTEF Digital, Oslo, Norway
MATLAB Energy Conference, 17–18 November 2020
2. MATLAB Reservoir
Simulation Toolbox (MRST)
Transforming research on
reservoir modelling
Unique prototyping platform:
Standard data formats
Data structures/library routines
Fully unstructured grids
Rapid prototyping:
– Differentiation operators
– Automatic differentiation
– Object-oriented framework
– State functions
Industry-standard simulation
http://www.mrst.no
3. MATLAB Reservoir
Simulation Toolbox (MRST)
Transforming research on
reservoir modelling
Large international user base:
downloads from the whole world
123 master theses
56 PhD theses
226 journal papers (not by us)
144 proceedings papers
Numbers are from Google Scholar notifications
Used both by academia and industry Google Analytics: access pattern for www.mrst.no
Period: 1 July 2018 to 31 December 2019
4. Reservoir simulation in MATLAB...? 3 / 22
Different development process:
Use abstractions to express your ideas in a form close to the underlying mathematics
Build your program using an interactive environment:
– try out each operation and build program as you go
Dynamic type checking lets you prototype while you test an existing program:
– run code line by line, inspect and change variables at any point
– step back and rerun parts of code with changed parameters
– add new behavior and data members while executing program
MATLAB is fairly efficient using vectorization, logical indexing, external iterative solvers, etc.
Avoids build process, linking libraries, cross-platform problems
Builtin mathematical abstractions, numerics, data analysis, visualization, debugging/profiling,
Use scripting language as a wrapper when you develop solvers in compiled languages
5. Community code: software organization 4 / 22
Modular design:
small core with mature and well-tested functionality
used in many programs or modules
semi-independent modules that extend/override core
functionality
in-source documentation like in MATLAB
all modules must have code examples and/or tutorials
new development: project −→ module
This simplifies how we distinguish public and in-house or
client-specific functionality
CO2 saturation
at 500 years 16%
12%
3%
56%
12%
Injected volume:
2.185e+07 m
3
Height of CO2−column
Residual (traps)
Residual
Residual (plume)
Movable (traps)
Movable (plume)
Leaked
0
2
4
6
8
10
12
14
0 50 100 150 200 250 300 350 400 450 500
0
0.5
1
1.5
2
x 10
7
co2lab
multiscale methods
discretizations
fully implicit
flow diagnostics
grid coarsening
Original permeability Upscaled (x−direction) Upscaled (y−direction)
−1.5 −1 −0.5 0 0.5 1 1.5 2 2.5
0
10
20
30
40
50 Original
Upscaled (x)
upscaling
visualization
input decks
... ...
A
d
d
-
o
n
m
o
d
u
l
e
s
MRST core
1
2
3
4
5
6
7
8
1
2
3
4
5
6
7
8
9
10
11
12
13
14
1
2
3
4
5
6
7
cells.faces = faces.nodes = faces.neighbors =
1 10 1 1 0 2
1 8 1 2 2 3
1 7 2 1 3 5
2 1 2 3 5 0
2 2 3 1 6 2
2 5 3 4 0 6
3 3 4 1 1 3
3 7 4 7 4 1
3 2 5 2 6 4
4 8 5 3 1 8
4 12 6 2 8 5
4 9 6 6 4 7
5 3 7 3 7 8
5 4 7 4 0 7
5 11 8 3
6 9 8 5
6 6 9 3
6 5 9 6
7 13 10 4
7 14 10 5
: : : :
7. User resources (getting help) 6 / 22
website user forum textbook
manpages tutorial codes online tutorials
8. Fully unstructured grids 7 / 22
Low permeability
Thin cells
Internal gap
Non-matching faces
Twisted grid
Many neighbors Degenerate cells
A wide variety of grid formats:
Cartesian and rectilinear
Corner-point
Tetrahedral, prismatic, PEBI
General polyhedral/polytopal
Hybrid, cut-cell, or depogrids
Local refinements . . .
MRST grids are chosen to always be
fully unstructured
−→ can implement algorithms without
knowing the specifics of the grid
Also: coarse grids made as static or
dynamic partitions of fine grid
9. Incompressible flow solvers 8 / 22
%
% Define the model
gravity reset on
G = cartGrid([2, 2, 30], [1, 1, 30]);
G = computeGeometry(G);
rock.perm = repmat(0.1∗darcy() , [G.cells.num, 1]);
fluid = initSingleFluid();
bc = pside([] , G, 'TOP' , 1:G.cartDims(1), ...
1:G.cartDims(2), 100.∗barsa());
%
% Assemble and solve the linear system
S = computeMimeticIP(G, rock);
sol = solveIncompFlow(initResSol(G , 0.0), ...
initWellSol([] , 0.0), ...
G, S, fluid, 'bc' , bc);
%
% Plot the face pressures
newplot;
plotFaces(G, 1:G.faces.num, sol.facePressure./barsa);
set(gca, 'ZDir' , 'reverse'), title('Pressure [bar] ')
view(3), colorbar
∇ · ∇(p + ρ~
g) = 0
Oldest part of MRST:
Procedural programming
Structs for reservoir state, rock
parameters, wells, b.c., and source term
Fluid behavior: struct with function
pointers
Advantages:
hide specific details of geomodel and
fluid model
vectorization: efficient/compact code
unified access to key parameters
13. Close correspondence with mathematics 10 / 22
Incompressible flow:
∇ · (K∇p) + q = 0
Compressible flow:
∂(φρ)
∂t
+ ∇ · (ρK∇p) + q = 0
Continuous
Incompressible flow:
eq = div(T .* grad(p)) + q;
Compressible flow:
eq = (pv(p).* rho(p)-pv(p0).* rho(p0))/dt ...
+ div(avg(rho(p)).*T.* grad(p))+q;
Discrete in MATLAB
Discretization of flow models leads to large systems of nonlinear equations. Can be
linearized and solved with Newton’s method
F (u) = 0 ⇒
∂F
∂u
(ui
)(ui+1
− ui
) = −F (ui
)
Coding necessary Jacobians is time-consuming and error prone
14. Automatic differentiation 11 / 22
General idea:
Any code consists of a limited set of arithmetic operations and elementary functions
Introduce an extended pair, hx, 1i, i.e., the value x and its derivative 1
Use chain rule and elementary derivative rules to mechanically accumulate derivatives at
specific values of x
– Elementary: v = sin(x) −→ hvi = hsin x, cos xi
– Arithmetic: v = fg −→ hvi = hfg, fgx + fxgi
– Chain rule: v = exp(f(x)) −→ hvi = hexp(f(x)), exp(f(x))f0
(x)i
Use operator overloading to avoid messing up code
[x,y] = initVariablesADI(1,2);
z = 3*exp(-x*y)
x = ADI Properties:
val: 1
jac: {[1] [0]}
y = ADI Properties:
val: 2
jac: {[0] [1]}
z = ADI Properties:
val: 0.4060
jac: {[-0.8120] [-0.4060]}
∂x
∂x
∂x
∂y
∂y
∂x
∂y
∂y
∂z
∂x x=1,y=2
∂z
∂y x=1,y=2
16. Example: incompressible single-phase flow 12 / 22
% Make grid
G = twister(cartGrid ([8 8]));
G = computeGeometry (G);
% Set source terms (flow SW -> NE)
q = zeros(G.cells.num ,1);
q([1 end ]) = [1 -1];
% Unit insotropic permeability
K = ones(G.cells.num ,4); K(: ,[2 3]) = 0;
% Make grid using external grid generator
pv = [-1 -1; 0 -.5; 1 -1; 1 1; 0 .5; -1 1; -1 -1];
fh = @(p,x) 0.025 + 0.375* sum(p.^2 ,2);
[p,t] = distmesh2d(@dpoly , fh , 0.025 , [-1 -1; 1 1], pv , pv);
G = computeGeometry (pebi( triangleGrid (p, t)));
% Set source terms (flow SW -> NE)
q = zeros(G.cells.num ,1);
v = sum(G.cells.centroids ,2);
[~,i1]= min(v); [~,i2]= max(v);
q([i1 i2]) = [1 -1];
S = setupOperatorsTPFA(G,rock); % Define Div, Grad, etc
p = initVariablesADI(zeros(G.cells.num,1)); % Initialize p as AD variable
eq = S.Div(S.T .∗ S.Grad(p)) + q; % Residual equation: F = Ap + q
eq(1) = eq(1) + p(1); % Fixate pressure
p =−eq.jac{1}eq.val; % Solve system A
17. Example: compressible two-phase flow 13 / 22
[p, sW] = initVariablesADI(p0, sW0); % Primary variables
[pIx, sIx] = deal(1:nc, (nc+1):(2∗nc)); % Indices of p/S in eq. system
[tol, maxits] = deal(1e−5, 15); % Iteration control
t = 0;
while t < totTime,
t = t + dt;
resNorm = 1e99; nit=0;
[p0, sW0] = deal(value(p), value(sW)); % Prev. time step not AD variable
while (resNorm > tol) &
& (nit<= maxits) % Nonlinear iteration loop
% one Newton iteration
end
if nit > maxits,
error('Newton solves did not converge')
end
end
% Evaluate equations
[rW, rO, vol] = deal(rhoW(p), rhoO(p), pv(p)));
:
water = (vol.∗rW.∗sW − vol0.∗rW0.∗sW0)./dt + div(vW);
water(inIx) = water(inIx) − inRate.∗rhoWS;
:
eqs = {oil, water}; % concatenate equations
eq = cat(eqs{:}); % assemble
res = eq.val; % residual
upd =−(eq.jac{1} res); % Newton update
% Update variables
p.val = p.val + upd(pIx);
sW.val = sW.val + upd(sIx);
sW.val = max( min(sW.val, 1), 0);
resNorm = norm(res);
nit = nit + 1; ∂W
∂p
∂O
∂p
∂W
∂Sw
∂O
∂Sw
18. The AD-OO simulator framework 14 / 22
Primary vars
[Res, Jac], info
Assemble: Ax = b
δx
Update variables:
p ← p + δp, s ← s + δs, ...
Initial ministep:
∆t
Adjusted:
∆t̃
Write to storage
3D visualization
Well curves
State(Ti), ∆Ti, Controls(Ci)
State(Ti + ∆Ti)
Type color legend
Class
Struct
Function(s)
Input
Contains object
Optional output
Initial state Physical model
Schedule
Steps
Time step and control numbers
{(∆T1, C1), ..., (∆Tn, Cn)},
Controls
Different wells and bc
{(W1, BC1), ..., (Wm, BCm)}
Simulator
Solves simulation schedule comprised
of time steps and drive mechanisms
(wells/bc)
simulateScheduleAD
Nonlinear solver
Solves nonlinear problems sub-divided
into one or more mini steps using
Newton’s method
Time step selector
Determines optimal time steps
SimpleTimeStepSelector,
IterationCountSelector,
StateChangeTimeStepSelector, ...
Result handler
Stores and retrieves simulation data
from memory/disk in a transparent
and efficient manner.
Visualization
Visualize well curves, reservoir proper-
ties, etc
plotCellData, plotToolbar,
plotWellSols, ...
State
Primary variables: p, sw, sg, Rs, Rv...
Well solutions
Well data: qW, qO, qG, bhp, ...
Physical model
Defines mathematical model: Resid-
ual equations, Jacobians, limits on
updates, convergence definition...
TwoPhaseOilWaterModel,
ThreePhaseBlackOilModel
Well model
Well equations, control switch, well-
bore pressure drop, ...
Linearized problem
Jacobians, residual equations and
meta-information about their types
Linear solver
Solves linearized problem and returns
increments
BackslashSolverAD, AGMGSolverAD,
CPRSolverAD, MultiscaleSolverAD, ...
19. Capabilities as in commercial simulators 15 / 22
Data
Class
Struct
Function
Input
Contains
Input deck
Input parser
Reads complete simulation decks:
grid and petrophysics, fluid and rock
properties, region information, well
definitions, operating schedule, con-
vergence control, etc
Reservoir model
Description of geology and fluid behavior as
well as discrete averaging and spatial dis-
cretization operators
Petrophysics
Grid Fluids
0 0.2 0.4 0.6 0.8 1
0
0.2
0.4
0.6
0.8
1
State
Physical variables inside
the reservoir
p, sw, so, sg, c, rv, rs
Well state
Physical variables inside
the wellbore
qs
w, qs
o, qs
g, qs
p, pbh
Schedule
Time steps and controls and
settings for wells and boundary
conditions
Wells
Example:
500 1000 1500 2000 2500 3000
Time (days)
0
0.5
1
1.5
2
2.5
Oil (stb)
Water (stb)
Gas (mscf)
Field production compared with
OPM Flow for the Norne field
20. State functions: modularity and computational cache 16 / 22
It would be convenient to have:
Dependency management: keep track of dependency
graph, ensure all input quantities have been evaluated
before evaluating a function
Generic interfaces: avoid defining functional
dependencies explicitly, e.g., G(S), and G(p, S).
Lazy evaluation with caching
Enable spatial dependence in parameters while
preserving vectorization potential
Implementation independent of the choice of primary
variables
21. State functions: modularity and computational cache 16 / 22
It would be convenient to have:
Dependency management: keep track of dependency
graph, ensure all input quantities have been evaluated
before evaluating a function
Generic interfaces: avoid defining functional
dependencies explicitly, e.g., G(S), and G(p, S).
Lazy evaluation with caching
Enable spatial dependence in parameters while
preserving vectorization potential
Implementation independent of the choice of primary
variables
State function: any function that is
uniquely determined by the contents of
the state struct alone
Implemented as class objects, gathered
in functional groups
A B X Y
AB XY
G
group
a b x y
state
G(x, y, a, b) = xy + ab
22. Simulator: differentiable graph 17 / 22
Vi,α Vi
λf
i,α
gρα∆z
Tf Θα
vα
Θα
Θα ≤ 0
∇pα
Tf
λf
α
Flux
Qi,α Qi
W → c
ρw
α
pc − pbh − g∆zρmix
qα
WI
Wells
ρα
pα Φ wp
i
bα
µα
Rmax
s
PVT
pc λi,α
ραxi,α
Mi,α Mi
λα
kα
Accumulation
bhp
rs
pressure
s
state
Example: State-function diagram for a simple black-oil model.
Each entity is a state function that is easy to replace.
Idea: apply this concept to
flow property evaluation
PVT calculations
accumulation, flux, and source terms
spatial/temporal discretization
Simulator −→ differentiable graph
Further granularity
Immiscible components
Black-oil type components
Compositional components
Concentration components
Combined at runtime to form compact
models with only necessary unknowns
23. What about computational performance? 18 / 22
Total time of a program consists of several parts:
programming + debugging
+ documenting + testing + executing
MRST is designed to prioritize the first four over the last
Does this mean that MRST is slow and not scalable?
24. What about computational performance? 18 / 22
Total time of a program consists of several parts:
programming + debugging
+ documenting + testing + executing
MRST is designed to prioritize the first four over the last
Does this mean that MRST is slow and not scalable?
No, I would say its is surprisingly efficient
Potential concerns:
MATLAB is interpreted
cure: JIT, vectorization, logical indexing,
pre-allocation, highly-efficient libraries
Redundant computations
cure: state functions = dependency
graph + computational cache
Computational overhead
cure: new auto diff backends
Scalability/performance
cure: external high-end iterative solvers
25. New backends for automatic differentiation 19 / 22
1 104
1 105
1 106
2 106
Number of cells
10-2
100
102
Assembly
time
[s]
single-phase
3ph, immiscible
3ph, blackoil
6c, compositional
0.5 s / million cells
50 s / million cells
overhead dominates
New AD backends: storage optimized wrt access pattern, MEX-accelerated operations
26. Efficient linear solvers 20 / 22
Interface to external linear algebra packages implemented as classes in AD-OO framework
Example: compressible three-phase, black-oil problem
Solver Req. 8,000 cells 125,000 cells 421,875 cells 1,000,000 cells
LU – 2.49 s 576.58 s – –
CPR∗
– 0.90 s 137.30 s – –
CPR∗
AGMG 0.18 s 3.60 s 13.78 s 43.39 s
CPR∗
AMGCL 0.21 s 3.44 s 16.20 s 51.35 s
CPR AMGCL 0.07 s 0.43 s 3.38 s 10.20 s
CPR AMGCL†
0.05 s 0.86 s 1.97 s 5.60 s
CPR AMGCL‡
0.05 s 0.38 s 1.33 s 3.82 s
∗ – in MATLAB, † – block AMGCL (block ILU + AMG/CPR), ‡ – block AMGCL with tweaks
Performance is approaching commercial and compiled academic codes
27. New book: Advanced modelling with MRST 21 / 22
Berge et al.: Constrained Voronoi grids Al Kobaisi & Zhang: nonlinear FVM Lie & Møyner: multiscale methods
Wong et al.: embedded discrete fractures Olorode et al.; fractured unconventionals March et al.: unified framework, fractures
Varela et al.: unsaturated poroelasticity Collignon et al.: geothermal systems Andersen: coupled flow & geomechanics
Møyner: compositional
Sun et al.: chemical EOR
Møyner: state functions, AD backends
Klemetsdal & Lie: discontinuous Galerkin
28. Acknowledgements 22 / 22
Thanks to all my co-developers at SINTEF (Olav Møyner,
in particular), our master and PhD students, and our
national and international collaborators.
Thanks also to all MRST users who have asked interesting
questions that have helped us shape the software
Funding:
Research Council of Norway
SINTEF
Equinor: gold open access for the
MRST textbook
Chevron, Ecopetrol, Eni, Equinor,
ExxonMobil, Shell, SLB, Total,
Wintershall DEA, . . .