EcosimPro

Last updated
EcosimPro
Stable release
5.6.0 / December 2016;5 years ago (2016-12)
Preview release
5.4.19 / October 2015;6 years ago (2015-10)
Operating system Microsoft Windows
Website www.ecosimpro.com

EcosimPro is a simulation tool developed by Empresarios Agrupados A.I.E for modelling simple and complex physical processes that can be expressed in terms of Differential algebraic equations or Ordinary differential equations and Discrete event simulation.

Contents

The application runs on the various Microsoft Windows platforms and uses its own graphic environment for model design.

The modelling of physical components is based on the EcosimPro language (EL) which is very similar to other conventional Object-oriented programming [1] languages but is powerful enough to model continuous and discrete processes.

This tool employs a set of libraries containing various types of components (mechanical, electrical, pneumatic, hydraulic, etc.) that can be reused to model any type of system.

It is used within ESA for propulsion systems analysis [2] and is the recommended ESA analysis tool for ECLS systems. [3] [4]

Origins

The EcosimPro Tool Project began in 1989 with funds from the European Space Agency (ESA) and with the goal of simulating environmental control and life support systems for crewed spacecraft, [4] such as the Hermes shuttle. The multidisciplinary nature of this modelling tool led to its use in many other disciplines, including fluid mechanics, chemical processing, control, energy, propulsion and flight dynamics. These complex applications have demonstrated that EcosimPro is very robust and ready for use in many other fields.

The modelling language

Code examples

Differential equation
To familiarize yourself with the use of EcosimPro, first create a simple component to solve a differential equation. Although EcosimPro is designed to simulate complex systems, it can also be used independently of a physical system as if it were a pure equation solver. The example in this section illustrates this type of use. It solves the following differential equation to introduce a delay to variable x:

which is equivalent to

where x and y have a time dependence that will be defined in the experiment. Tau is datum provided given by the user; we will use a value of 0.6 seconds. This equation introduces a delay in the x variable with respect to y with value tau. To simulate this equation we will create an EcosimPro component with the equation in it.

The component to be simulated in EL is like thus:

COMPONENT equation_test    DATA       REAL tau = 0.6      "delay time (seconds)"    DECLS       REAL x, y    CONTINUOUS       y' = (x - y) / tau END COMPONENT

Pendulum
One example of applied calculus could be the movement of a perfect pendulum (no friction taken into account). We would have the following data: the force of gravity ‘g’; the length of the pendulum ‘L’; and the pendulum's mass ‘M’. As variables to be calculated we would have: the Cartesian position at each moment in time of the pendulum ‘x’ and ‘y’ and the tension on the wire of the pendulum ‘T’. The equations that define the model would be:

- Projecting the length of the cable on the Cartesian axes and applying Pythagoras’ theorem we get:

By decomposing force in Cartesians we get

and

To obtain the differential equations we can convert:

and

(note: is the first derivative of the position and equals the speed. is the second derivative of the position and equals the acceleration)

This example can be found in the DEFAULT_LIB library as “pendulum.el”:

Modelling of a pendulum with EcosimPro EcosimPro example pendulum.png
Modelling of a pendulum with EcosimPro
COMPONENT pendulum   "Pendulum example"    DATA       REAL g = 9.806               "Gravity (m/s^2)"       REAL L = 1.                  "Pendulum longitude (m)"       REAL M = 1.                  "Pendulum mass (kg)"    DECLS       REAL x                       "Pendulum X position (m)"       REAL y                       "Pendulum Y position (m)"       REAL T                       "Pendulum wire tension force (N)"    CONTINUOUS       x**2 + y**2 = L**2       M * x'' = - T * (x / L)       M * y'' = - T * (y / L) - M * g END COMPONENT

The last two equations respectively express the accelerations, x’’ and y’’, on the X and Y axes

Maths capabilities

Applications

EcosimPro has been used in many fields and disciplines. The following paragraphs show several applications

See also

Related Research Articles

In mathematics, an equation is a formula that expresses the equality of two expressions, by connecting them with the equals sign =. The word equation and its cognates in other languages may have subtly different meanings; for example, in French an équation is defined as containing one or more variables, while in English, any well-formed formula consisting of two expressions related with an equals sign is an equation.

In classical mechanics, a harmonic oscillator is a system that, when displaced from its equilibrium position, experiences a restoring force F proportional to the displacement x:

Partial differential equation Type of multivariable function

In mathematics, a partial differential equation (PDE) is an equation which imposes relations between the various partial derivatives of a multivariable function.

In mathematics and science, a nonlinear system is a system in which the change of the output is not proportional to the change of the input. Nonlinear problems are of interest to engineers, biologists, physicists, mathematicians, and many other scientists because most systems are inherently nonlinear in nature. Nonlinear dynamical systems, describing changes in variables over time, may appear chaotic, unpredictable, or counterintuitive, contrasting with much simpler linear systems.

Inverted pendulum

An inverted pendulum is a pendulum that has its center of mass above its pivot point. It is unstable and without additional help will fall over. It can be suspended stably in this inverted position by using a control system to monitor the angle of the pole and move the pivot point horizontally back under the center of mass when it starts to fall over, keeping it balanced. The inverted pendulum is a classic problem in dynamics and control theory and is used as a benchmark for testing control strategies. It is often implemented with the pivot point mounted on a cart that can move horizontally under control of an electronic servo system as shown in the photo; this is called a cart and pole apparatus. Most applications limit the pendulum to 1 degree of freedom by affixing the pole to an axis of rotation. Whereas a normal pendulum is stable when hanging downwards, an inverted pendulum is inherently unstable, and must be actively balanced in order to remain upright; this can be done either by applying a torque at the pivot point, by moving the pivot point horizontally as part of a feedback system, changing the rate of rotation of a mass mounted on the pendulum on an axis parallel to the pivot axis and thereby generating a net torque on the pendulum, or by oscillating the pivot point vertically. A simple demonstration of moving the pivot point in a feedback system is achieved by balancing an upturned broomstick on the end of one's finger.

Numerical methods for ordinary differential equations Methods used to find numerical solutions of ordinary differential equations

Numerical methods for ordinary differential equations are methods used to find numerical approximations to the solutions of ordinary differential equations (ODEs). Their use is also known as "numerical integration", although this term can also refer to the computation of integrals.

Linear differential equation Differential equations that are linear with respect to the unknown function and its derivatives

In mathematics, a linear differential equation is a differential equation that is defined by a linear polynomial in the unknown function and its derivatives, that is an equation of the form

Dynamical simulation, in computational physics, is the simulation of systems of objects that are free to move, usually in three dimensions according to Newton's laws of dynamics, or approximations thereof. Dynamical simulation is used in computer animation to assist animators to produce realistic motion, in industrial design, and in video games. Body movement is calculated using time integration methods.

Differential equation Type of functional equation (mathematics)

In mathematics, a differential equation is an equation that relates one or more unknown functions and their derivatives. In applications, the functions generally represent physical quantities, the derivatives represent their rates of change, and the differential equation defines a relationship between the two. Such relations are common; therefore, differential equations play a prominent role in many disciplines including engineering, physics, economics, and biology.

Modelica

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 language is developed by the non-profit Modelica Association. The Modelica Association also develops the free Modelica Standard Library that contains about 1400 generic model components and 1200 functions in various domains, as of version 4.0.0.

Differential-algebraic system of equations

In mathematics, a differential-algebraic system of equations (DAEs) is a system of equations that either contains differential equations and algebraic equations, or is equivalent to such a system. Such systems occur as the general form of differential equations for vector–valued functions x in one independent variable t,

In physics, the Fermi–Pasta–Ulam–Tsingou problem or formerly the Fermi–Pasta–Ulam problem was the apparent paradox in chaos theory that many complicated enough physical systems exhibited almost exactly periodic behavior – called Fermi–Pasta–Ulam–Tsingou recurrence – instead of the expected ergodic behavior. This came as a surprise, as Fermi, certainly, expected the system to thermalize in a fairly short time. That is, it was expected for all vibrational modes to eventually appear with equal strength, as per the equipartition theorem, or, more generally, the ergodic hypothesis. Yet here was a system that appeared to evade the ergodic hypothesis. Although the recurrence is easily observed, it eventually became apparent that over much, much longer time periods, the system does eventually thermalize. Multiple competing theories have been proposed to explain the behavior of the system, and it remains a topic of active research.

Delay differential equation Type of differential equation

In mathematics, delay differential equations (DDEs) are a type of differential equation in which the derivative of the unknown function at a certain time is given in terms of the values of the function at previous times. DDEs are also called time-delay systems, systems with aftereffect or dead-time, hereditary systems, equations with deviating argument, or differential-difference equations. They belong to the class of systems with the functional state, i.e. partial differential equations (PDEs) which are infinite dimensional, as opposed to ordinary differential equations (ODEs) having a finite dimensional state vector. Four points may give a possible explanation of the popularity of DDEs:

  1. Aftereffect is an applied problem: it is well known that, together with the increasing expectations of dynamic performances, engineers need their models to behave more like the real process. Many processes include aftereffect phenomena in their inner dynamics. In addition, actuators, sensors, and communication networks that are now involved in feedback control loops introduce such delays. Finally, besides actual delays, time lags are frequently used to simplify very high order models. Then, the interest for DDEs keeps on growing in all scientific areas and, especially, in control engineering.
  2. Delay systems are still resistant to many classical controllers: one could think that the simplest approach would consist in replacing them by some finite-dimensional approximations. Unfortunately, ignoring effects which are adequately represented by DDEs is not a general alternative: in the best situation, it leads to the same degree of complexity in the control design. In worst cases, it is potentially disastrous in terms of stability and oscillations.
  3. Voluntary introduction of delays can benefit the control system.
  4. In spite of their complexity, DDEs often appear as simple infinite-dimensional models in the very complex area of partial differential equations (PDEs).
Parabolic cylindrical coordinates

In mathematics, parabolic cylindrical coordinates are a three-dimensional orthogonal coordinate system that results from projecting the two-dimensional parabolic coordinate system in the perpendicular -direction. Hence, the coordinate surfaces are confocal parabolic cylinders. Parabolic cylindrical coordinates have found many applications, e.g., the potential theory of edges.

Lattice Boltzmann methods Class of computational fluid dynamics methods

Lattice Boltzmann methods (LBM), originated from the lattice gas automata (LGA) method, is a class of computational fluid dynamics (CFD) methods for fluid simulation. Instead of solving the Navier–Stokes equations directly, a fluid density on a lattice is simulated with streaming and collision (relaxation) processes. The method is versatile as the model fluid can straightforwardly be made to mimic common fluid behaviour like vapour/liquid coexistence, and so fluid systems such as liquid droplets can be simulated. Also, fluids in complex environments such as porous media can be straightforwardly simulated, whereas with complex boundaries other CFD methods can be hard to work with.

Dynamic simulation is the use of a computer program to model the time-varying behavior of a dynamical system. The systems are typically described by ordinary differential equations or partial differential equations. A simulation run solves the state-equation system to find the behavior of the state variables over a specified period of time. The equation is solved through numerical integration methods to produce the transient behavior of the state variables. Simulation of dynamic systems predicts the values of model-system state variables, as they are determined by the past state values. This relationship is found by creating a model of the system.

Advanced process monitor (APMonitor) is a modeling language for differential algebraic (DAE) equations. It is a free web-service or local server for solving representations of physical systems in the form of implicit DAE models. APMonitor is suited for large-scale problems and solves linear programming, integer programming, nonlinear programming, nonlinear mixed integer programming, dynamic simulation, moving horizon estimation, and nonlinear model predictive control. APMonitor does not solve the problems directly, but calls nonlinear programming solvers such as APOPT, BPOPT, IPOPT, MINOS, and SNOPT. The APMonitor API provides exact first and second derivatives of continuous functions to the solvers through automatic differentiation and in sparse matrix form.

Elastic pendulum

In physics and mathematics, in the area of dynamical systems, an elastic pendulum is a physical system where a piece of mass is connected to a spring so that the resulting motion contains elements of both a simple pendulum and a one-dimensional spring-mass system. The system exhibits chaotic behaviour and is sensitive to initial conditions. The motion of an elastic pendulum is governed by a set of coupled ordinary differential equations.

Finite element method Numerical method for solving physical or engineering problems

The finite element method (FEM) is a popular method for numerically solving differential equations arising in engineering and mathematical modeling. Typical problem areas of interest include the traditional fields of structural analysis, heat transfer, fluid flow, mass transport, and electromagnetic potential.

Aspen Plus, Aspen HYSYS, ChemCad and MATLAB, PRO are the commonly used process simulators for modeling, simulation and optimization of a distillation process in the chemical industries. Distillation is the technique of preferential separation of the more volatile components from the less volatile ones in a feed followed by condensation. The vapor produced is richer in the more volatile components. The distribution of the component in the two phase is governed by the vapour-liquid equilibrium relationship. In practice, distillation may be carried out by either two principal methods. The first method is based on the production of vapor boiling the liquid mixture to be separated and condensing the vapors without allowing any liquid to return to the still. There is no reflux. The second method is based on the return of part of the condensate to still under such conditions that this returning liquid is brought into intimate contact with the vapors on their way to condenser.

References

  1. Bertrand Meyer (1997). Object Oriented Software Construction (2nd ed.). Prentice Hall. ISBN   0-13-629155-4.
  2. 1 2 Armin Isselhorst (July 2010). HM7B Simulation with ESPSS Tool on Ariane 5 ESC-A Upper Stage (PDF). 46th AIAA/ASME/SAE/ASEE Joint Propulsion Conference & Exhibit. AIAA. Retrieved May 6, 2011.[ permanent dead link ]
  3. "ESA: Thermal analysis software - EcosimPro". European Space Agency.
  4. 1 2 3 Daniele Laurini; Alan Thirkettle; Klaus Bockstahler (May 1999). "ESA: Supporting Life" (PDF). European Space Agency.
  5. Linda R. Petzold (1982). A Description of DASSL: A Differential/Algebraic System Solver SAND82-8637.
  6. P. Deuflhard (2004). Newton Methods for Nonlinear Problems. Affine Invariance and Adaptive Algorithms. Berlin: Springer. ISBN   3-540-21099-7.
  7. W. H. Press; B. P. Flannery; S. A. Teukolsky; W. T. Vetterling (1992). Numerical Recipes in C: The Art of Scientific Computing . Cambridge University Press. pp. and 9.6 [http://www.nrbook.com/a/bookcpdf/c9-6.pdf. ISBN   0-521-43108-5.
  8. C Pantelides (March 1988). "The Consistent Initialization of Differential-Algebraic Systems". SIAM J. Sci. Stat. Comput. 9: 213–231. doi:10.1137/0909014.
  9. B. Bradu; P. Gayet; S.I. Niculescu (2007). "A dynamic simulator for large scale cryogenic systems." (PDF). 6th EUROSIM Congress on Modelling and Simulation. Ljubljana, Slovenia. Archived from the original (PDF) on July 7, 2011. Retrieved May 6, 2011.