APMonitor, or "Advanced Process Monitor", is a modeling language for differential
Differential equation
A differential equation is a mathematical equation for an unknown function of one or several variables that relates the values of the function itself and its derivatives of various orders...
and algebraic (DAE) equations. It is used for describing and solving representations of physical systems in the form of implicit DAE models. APMonitor is suited for large-scale problems and allows solutions of dynamic simulation, moving horizon estimation, and nonlinear control. APMonitor does not solve the problems directly, but calls appropriate external solvers.
Applications in APMonitor modeling language
Many physical systems have been simulated with APMonitor. Some of these include cell culture
Cell culture
Cell culture is the complex process by which cells are grown under controlled conditions. In practice, the term "cell culture" has come to refer to the culturing of cells derived from singlecellular eukaryotes, especially animal cells. However, there are also cultures of plants, fungi and microbes,...
In chemical engineering, chemical reactors are vessels designed to contain chemical reactions. The design of a chemical reactor deals with multiple aspects of chemical engineering. Chemical engineers design reactors to maximize net present value for the given reaction...
A fractionating column or fractionation column is an essential item used in the distillation of liquid mixtures so as to separate the mixture into its component parts, or fractions, based on the differences in their volatilities...
The Space Shuttle was a manned orbital rocket and spacecraft system operated by NASA on 135 missions from 1981 to 2011. The system combined rocket launch, orbital spacecraft, and re-entry spaceplane with modular add-ons...
. Models for a direct current (DC) motor, blood glucose response of an insulin dependent patient, and pendulum motion are listed below.
Direct current (DC) motor
Model motor
Parameters
! motor parameters (dc motor)
v = 36 ! input voltage to the motor (volts)
rm = 0.1 ! motor resistance (ohms)
lm = 0.01 ! motor inductance (henrys)
kb = 6.5e-4 ! back emf constant (volt·s/rad)
kt = 0.1 ! torque constant (N·m/a)
jm = 1.0e-4 ! rotor inertia (kg m²)
bm = 1.0e-5 ! mechanical damping (linear model of friction: bm * dth)
! load parameters
jl = 1000*jm ! load inertia (1000 times the rotor)
bl = 1.0e-3 ! load damping (friction)
k = 1.0e2 ! spring constant for motor shaft to load
b = 0.1 ! spring damping for motor shaft to load
End Parameters
Variables
i = 0 ! motor electrical current (amperes)
dth_m = 0 ! rotor angular velocity sometimes called omega (radians/sec)
th_m = 0 ! rotor angle, theta (radians)
dth_l = 0 ! wheel angular velocity (rad/s)
th_l = 0 ! wheel angle (radians)
End Variables
AMPL, an acronym for "A Mathematical Programming Language", is an algebraic modeling language for describing and solving high-complexity problems for large-scale mathematical computation AMPL, an acronym for "A Mathematical Programming Language", is an algebraic modeling language for describing and...
ASCEND is a free, open source, mathematical modelling system developed at Carnegie Mellon University since the late 1978. ASCEND is an acronym which stands for Advanced System for Computations in ENgineering Design. Its main uses have been in the field of chemical process modelling although its...
EMSO simulator is an equation-oriented process simulator with a graphical interface for modeling complex dynamic or steady-state processes. It is CAPE-OPEN compliant. EMSO stands for Environment for Modeling, Simulation, and Optimization...
The General Algebraic Modeling System is a high-level modeling system for mathematical optimization. GAMS is designed for modeling and solving linear, nonlinear, and mixed-integer optimization problems. The system is tailored for complex, large-scale modeling applications and allows the user to...
MATLAB is a numerical computing environment and fourth-generation programming language. Developed by MathWorks, MATLAB allows matrix manipulations, plotting of functions and data, implementation of algorithms, creation of user interfaces, and interfacing with programs written in other languages,...
Modelica is an object-oriented, declarative, multi-domain modeling language for component-oriented modeling of complex systems, e.g., systems containing mechanical, electrical, electronic, hydraulic, thermal, control, electric power or process-oriented subcomponents.The free Modelica languageis...