Component-oriented acausal modeling of the dynamical systems in Python language on the example of the model of the sucker rod string

Typically, component-oriented acausal hybrid modeling of complex dynamic systems is implemented by specialized modeling languages. A well-known example is the Modelica language. The specialized nature, complexity of implementation and learning of such languages somewhat limits their development and...

Full description

Saved in:
Bibliographic Details
Published inPeerJ. Computer science Vol. 5; p. e227
Main Authors Kopei, Volodymyr B., Onysko, Oleh R., Panchuk, Vitalii G.
Format Journal Article
LanguageEnglish
Published United States PeerJ. Ltd 28.10.2019
PeerJ, Inc
PeerJ Inc
Subjects
Online AccessGet full text
ISSN2376-5992
2376-5992
DOI10.7717/peerj-cs.227

Cover

Abstract Typically, component-oriented acausal hybrid modeling of complex dynamic systems is implemented by specialized modeling languages. A well-known example is the Modelica language. The specialized nature, complexity of implementation and learning of such languages somewhat limits their development and wide use by developers who know only general-purpose languages. The paper suggests the principle of developing simple to understand and modify Modelica-like system based on the general-purpose programming language Python. The principle consists in: (1) Python classes are used to describe components and their systems, (2) declarative symbolic tools SymPy are used to describe components behavior by difference or differential equations, (3) the solution procedure uses a function initially created using the SymPy lambdify function and computes unknown values in the current step using known values from the previous step, (4) Python imperative constructs are used for simple events handling, (5) external solvers of differential-algebraic equations can optionally be applied via the Assimulo interface, (6) SymPy package allows to arbitrarily manipulate model equations, generate code and solve some equations symbolically. The basic set of mechanical components (1D translational “mass”, “spring-damper” and “force”) is developed. The models of a sucker rods string are developed and simulated using these components. The comparison of results of the sucker rod string simulations with practical dynamometer cards and Modelica results verify the adequacy of the models. The proposed approach simplifies the understanding of the system, its modification and improvement, adaptation for other purposes, makes it available to a much larger community, simplifies integration into third-party software.
AbstractList Typically, component-oriented acausal hybrid modeling of complex dynamic systems is implemented by specialized modeling languages. A well-known example is the Modelica language. The specialized nature, complexity of implementation and learning of such languages somewhat limits their development and wide use by developers who know only general-purpose languages. The paper suggests the principle of developing simple to understand and modify Modelica-like system based on the general-purpose programming language Python. The principle consists in: (1) Python classes are used to describe components and their systems, (2) declarative symbolic tools SymPy are used to describe components behavior by difference or differential equations, (3) the solution procedure uses a function initially created using the SymPy lambdify function and computes unknown values in the current step using known values from the previous step, (4) Python imperative constructs are used for simple events handling, (5) external solvers of differential-algebraic equations can optionally be applied via the Assimulo interface, (6) SymPy package allows to arbitrarily manipulate model equations, generate code and solve some equations symbolically. The basic set of mechanical components (1D translational “mass”, “spring-damper” and “force”) is developed. The models of a sucker rods string are developed and simulated using these components. The comparison of results of the sucker rod string simulations with practical dynamometer cards and Modelica results verify the adequacy of the models. The proposed approach simplifies the understanding of the system, its modification and improvement, adaptation for other purposes, makes it available to a much larger community, simplifies integration into third-party software.
Typically, component-oriented acausal hybrid modeling of complex dynamic systems is implemented by specialized modeling languages. A well-known example is the Modelica language. The specialized nature, complexity of implementation and learning of such languages somewhat limits their development and wide use by developers who know only general-purpose languages. The paper suggests the principle of developing simple to understand and modify Modelica-like system based on the general-purpose programming language Python. The principle consists in: (1) Python classes are used to describe components and their systems, (2) declarative symbolic tools SymPy are used to describe components behavior by difference or differential equations, (3) the solution procedure uses a function initially created using the SymPy lambdify function and computes unknown values in the current step using known values from the previous step, (4) Python imperative constructs are used for simple events handling, (5) external solvers of differential-algebraic equations can optionally be applied via the Assimulo interface, (6) SymPy package allows to arbitrarily manipulate model equations, generate code and solve some equations symbolically. The basic set of mechanical components (1D translational "mass", "spring-damper" and "force") is developed. The models of a sucker rods string are developed and simulated using these components. The comparison of results of the sucker rod string simulations with practical dynamometer cards and Modelica results verify the adequacy of the models. The proposed approach simplifies the understanding of the system, its modification and improvement, adaptation for other purposes, makes it available to a much larger community, simplifies integration into third-party software.Typically, component-oriented acausal hybrid modeling of complex dynamic systems is implemented by specialized modeling languages. A well-known example is the Modelica language. The specialized nature, complexity of implementation and learning of such languages somewhat limits their development and wide use by developers who know only general-purpose languages. The paper suggests the principle of developing simple to understand and modify Modelica-like system based on the general-purpose programming language Python. The principle consists in: (1) Python classes are used to describe components and their systems, (2) declarative symbolic tools SymPy are used to describe components behavior by difference or differential equations, (3) the solution procedure uses a function initially created using the SymPy lambdify function and computes unknown values in the current step using known values from the previous step, (4) Python imperative constructs are used for simple events handling, (5) external solvers of differential-algebraic equations can optionally be applied via the Assimulo interface, (6) SymPy package allows to arbitrarily manipulate model equations, generate code and solve some equations symbolically. The basic set of mechanical components (1D translational "mass", "spring-damper" and "force") is developed. The models of a sucker rods string are developed and simulated using these components. The comparison of results of the sucker rod string simulations with practical dynamometer cards and Modelica results verify the adequacy of the models. The proposed approach simplifies the understanding of the system, its modification and improvement, adaptation for other purposes, makes it available to a much larger community, simplifies integration into third-party software.
ArticleNumber e227
Audience Academic
Author Kopei, Volodymyr B.
Onysko, Oleh R.
Panchuk, Vitalii G.
Author_xml – sequence: 1
  givenname: Volodymyr B.
  orcidid: 0000-0003-0008-8260
  surname: Kopei
  fullname: Kopei, Volodymyr B.
– sequence: 2
  givenname: Oleh R.
  surname: Onysko
  fullname: Onysko, Oleh R.
– sequence: 3
  givenname: Vitalii G.
  orcidid: 0000-0002-2246-280X
  surname: Panchuk
  fullname: Panchuk, Vitalii G.
BackLink https://www.ncbi.nlm.nih.gov/pubmed/33816880$$D View this record in MEDLINE/PubMed
BookMark eNp9kstv1DAQxiNUREvpjTOKxAUksvgR28kFqVrxWKkSiMfZcvxIvSTx1k6ge-cPZ3a3W7oVEB_8-s03zjfzODsawmCz7ClGMyGweL2yNi4LnWaEiAfZCaGCF6yuydGd9XF2ltISIYQZhq9-lB1TWmFeVegk-zUP_Qo0h7EI0cNkTa60mpLq8j4Y2_mhzYPLx0ubm_Wgeq_hJq3TaPuU-yH_tB4vw5B3amgn1doc1hvWXqt-1dl96FZqv0mT_m5jHoPJ0xghwZPsoVNdsmc382n27d3br_MPxcXH94v5-UWhmajHQjmCLce8NMyYxjmKkamVIrwiimHES2WM5qbWrjQOOVvWjW4qyhBjhGks6Gm22OmaoJZyFX2v4loG5eX2IMRWqjh63VnZUC4aV3NslSgJM40lBpMGVQIJihkCrWKnNQ0rtf6puu5WECO5KY7cFkfqJKE4wL_Z8aup6a3RYHVU3cEjDm8Gfynb8EOKmpSMlCDw4kYghqvJplH2PmnbgfM2TJCEoaqqORMVoM_vocswxQGslYSSinLCKf1DtQp-2A8uQF69EZXnHJUIY8IIULO_UDCMhV6AznEezg8CXh4EADPa67GFnkpy8eXzIfvsrim3buz7EwCyA3QMKUXrpPajGn3YeOS7f1n96l7QfyvzGwNiCwI
CitedBy_id crossref_primary_10_17531_ein_2022_4_6
crossref_primary_10_1016_j_cmpb_2023_107929
crossref_primary_10_1016_j_csite_2023_102894
Cites_doi 10.1007/BFb0054087
10.7717/peerj-cs.54
10.3390/pr6080106
10.7717/peerj-cs.103
10.1145/1089014.1089020
10.1109/MCSE.2007.58
10.1016/j.compchemeng.2009.11.011
10.1002/rnc.2914
10.21105/joss.00396
10.1080/07421222.1992.11517969
10.1007/978-3-319-47169-3_15
10.1007/BF01446807
10.1016/j.compchemeng.2014.04.013
10.1016/j.matcom.2015.04.007
ContentType Journal Article
Copyright 2019 Kopei et al.
COPYRIGHT 2019 PeerJ. Ltd.
2019 Kopei et al. This is an open access article distributed under the terms of the Creative Commons Attribution License: https://creativecommons.org/licenses/by/4.0/ (the “License”), which permits unrestricted use, distribution, reproduction and adaptation in any medium and for any purpose provided that it is properly attributed. For attribution, the original author(s), title, publication source (PeerJ Computer Science) and either DOI or URL of the article must be cited. Notwithstanding the ProQuest Terms and Conditions, you may use this content in accordance with the terms of the License.
2019 Kopei et al. 2019 Kopei et al.
Copyright_xml – notice: 2019 Kopei et al.
– notice: COPYRIGHT 2019 PeerJ. Ltd.
– notice: 2019 Kopei et al. This is an open access article distributed under the terms of the Creative Commons Attribution License: https://creativecommons.org/licenses/by/4.0/ (the “License”), which permits unrestricted use, distribution, reproduction and adaptation in any medium and for any purpose provided that it is properly attributed. For attribution, the original author(s), title, publication source (PeerJ Computer Science) and either DOI or URL of the article must be cited. Notwithstanding the ProQuest Terms and Conditions, you may use this content in accordance with the terms of the License.
– notice: 2019 Kopei et al. 2019 Kopei et al.
DBID AAYXX
CITATION
NPM
ISR
3V.
7XB
8AL
8FE
8FG
8FK
ABUWG
AFKRA
ARAPS
AZQEC
BENPR
BGLVJ
CCPQU
DWQXO
GNUQQ
HCIFZ
JQ2
K7-
M0N
P5Z
P62
PHGZM
PHGZT
PIMPY
PKEHL
PQEST
PQGLB
PQQKQ
PQUKI
PRINS
Q9U
7X8
5PM
ADTOC
UNPAY
DOA
DOI 10.7717/peerj-cs.227
DatabaseName CrossRef
PubMed
Gale In Context: Science
ProQuest Central (Corporate)
ProQuest Central (purchase pre-March 2016)
Computing Database (Alumni Edition)
ProQuest SciTech Collection
ProQuest Technology Collection
ProQuest Central (Alumni) (purchase pre-March 2016)
ProQuest Central (Alumni)
ProQuest Central UK/Ireland
ProQuest Advanced Technologies & Aerospace Collection
ProQuest Central Essentials
ProQuest Central
Technology Collection
ProQuest One Community College
ProQuest Central Korea
ProQuest Central Student
ProQuest SciTech Premium Collection
ProQuest Computer Science Collection
Computer Science Database
Computing Database
ProQuest Advanced Technologies & Aerospace Database (NC LIVE)
ProQuest Advanced Technologies & Aerospace Collection
ProQuest Central Premium
ProQuest One Academic
ProQuest Publicly Available Content
ProQuest One Academic Middle East (New)
ProQuest One Academic Eastern Edition (DO NOT USE)
ProQuest One Applied & Life Sciences
ProQuest One Academic
ProQuest One Academic UKI Edition
ProQuest Central China
ProQuest Central Basic
MEDLINE - Academic
PubMed Central (Full Participant titles)
Unpaywall for CDI: Periodical Content
Unpaywall
DOAJ Open Access Full Text
DatabaseTitle CrossRef
PubMed
Publicly Available Content Database
Computer Science Database
ProQuest Central Student
Technology Collection
ProQuest One Academic Middle East (New)
ProQuest Advanced Technologies & Aerospace Collection
ProQuest Central Essentials
ProQuest Computer Science Collection
ProQuest Central (Alumni Edition)
SciTech Premium Collection
ProQuest One Community College
ProQuest Central China
ProQuest Central
ProQuest One Applied & Life Sciences
ProQuest Central Korea
ProQuest Central (New)
Advanced Technologies & Aerospace Collection
ProQuest Computing
ProQuest Central Basic
ProQuest Computing (Alumni Edition)
ProQuest One Academic Eastern Edition
ProQuest Technology Collection
ProQuest SciTech Collection
Advanced Technologies & Aerospace Database
ProQuest One Academic UKI Edition
ProQuest One Academic
ProQuest One Academic (New)
ProQuest Central (Alumni)
MEDLINE - Academic
DatabaseTitleList Publicly Available Content Database
PubMed
CrossRef



MEDLINE - Academic
Database_xml – sequence: 1
  dbid: DOA
  name: DOAJ Open Access Full Text
  url: https://www.doaj.org/
  sourceTypes: Open Website
– sequence: 2
  dbid: NPM
  name: PubMed
  url: https://proxy.k.utb.cz/login?url=http://www.ncbi.nlm.nih.gov/entrez/query.fcgi?db=PubMed
  sourceTypes: Index Database
– sequence: 3
  dbid: UNPAY
  name: Unpaywall
  url: https://proxy.k.utb.cz/login?url=https://unpaywall.org/
  sourceTypes: Open Access Repository
– sequence: 4
  dbid: 8FG
  name: ProQuest Technology Collection
  url: https://search.proquest.com/technologycollection1
  sourceTypes: Aggregation Database
DeliveryMethod fulltext_linktorsrc
Discipline Computer Science
EISSN 2376-5992
ExternalDocumentID oai_doaj_org_article_b367bf961ea7425dbe2d12b087073150
10.7717/peerj-cs.227
PMC7924524
A604011252
33816880
10_7717_peerj_cs_227
Genre Journal Article
GroupedDBID 53G
5VS
8FE
8FG
AAFWJ
AAYXX
ABUWG
ADBBV
AFKRA
AFPKN
ALMA_UNASSIGNED_HOLDINGS
ARAPS
AZQEC
BCNDV
BENPR
BGLVJ
BPHCQ
CCPQU
CITATION
DWQXO
FRP
GNUQQ
GROUPED_DOAJ
H13
HCIFZ
IAO
ICD
IEA
ISR
ITC
K6V
K7-
M~E
OK1
P62
PHGZM
PHGZT
PIMPY
PQGLB
PQQKQ
PROAC
PUEGO
RPM
3V.
ARCSS
M0N
NPM
7XB
8AL
8FK
JQ2
PKEHL
PQEST
PQUKI
PRINS
Q9U
7X8
5PM
ADTOC
UNPAY
ID FETCH-LOGICAL-c579t-af21e6164d5ddbff310d9aa2682a51064addc6d9cf4df0fe49bcb83505525c173
IEDL.DBID BENPR
ISSN 2376-5992
IngestDate Tue Oct 14 19:01:27 EDT 2025
Sun Oct 26 04:16:06 EDT 2025
Tue Sep 30 16:11:53 EDT 2025
Wed Oct 01 13:32:47 EDT 2025
Sun Sep 07 13:31:24 EDT 2025
Mon Oct 20 21:53:24 EDT 2025
Mon Oct 20 16:33:57 EDT 2025
Thu Oct 16 15:13:56 EDT 2025
Thu Jan 02 22:57:22 EST 2025
Thu Apr 24 23:04:42 EDT 2025
Wed Oct 01 02:47:58 EDT 2025
IsDoiOpenAccess true
IsOpenAccess true
IsPeerReviewed true
IsScholarly true
Keywords Sucker rod string
Multi-domain modeling
Difference equations
Acausal modeling
Variable structure system
Hybrid modeling
Component-oriented modeling
SymPy
Dynamical system
Python
Language English
License https://creativecommons.org/licenses/by/4.0
2019 Kopei et al.
This is an open access article distributed under the terms of the Creative Commons Attribution License, which permits unrestricted use, distribution, reproduction and adaptation in any medium and for any purpose provided that it is properly attributed. For attribution, the original author(s), title, publication source (PeerJ Computer Science) and either DOI or URL of the article must be cited.
cc-by
LinkModel DirectLink
MergedId FETCHMERGED-LOGICAL-c579t-af21e6164d5ddbff310d9aa2682a51064addc6d9cf4df0fe49bcb83505525c173
Notes ObjectType-Article-1
SourceType-Scholarly Journals-1
ObjectType-Feature-2
content type line 14
content type line 23
ORCID 0000-0002-2246-280X
0000-0003-0008-8260
OpenAccessLink https://www.proquest.com/docview/2328362633?pq-origsite=%requestingapplication%&accountid=15518
PMID 33816880
PQID 2328362633
PQPubID 2045934
PageCount e227
ParticipantIDs doaj_primary_oai_doaj_org_article_b367bf961ea7425dbe2d12b087073150
unpaywall_primary_10_7717_peerj_cs_227
pubmedcentral_primary_oai_pubmedcentral_nih_gov_7924524
proquest_miscellaneous_2508896578
proquest_journals_2328362633
gale_infotracmisc_A604011252
gale_infotracacademiconefile_A604011252
gale_incontextgauss_ISR_A604011252
pubmed_primary_33816880
crossref_citationtrail_10_7717_peerj_cs_227
crossref_primary_10_7717_peerj_cs_227
ProviderPackageCode CITATION
AAYXX
PublicationCentury 2000
PublicationDate 2019-10-28
PublicationDateYYYYMMDD 2019-10-28
PublicationDate_xml – month: 10
  year: 2019
  text: 2019-10-28
  day: 28
PublicationDecade 2010
PublicationPlace United States
PublicationPlace_xml – name: United States
– name: San Diego
– name: San Diego, USA
PublicationTitle PeerJ. Computer science
PublicationTitleAlternate PeerJ Comput Sci
PublicationYear 2019
Publisher PeerJ. Ltd
PeerJ, Inc
PeerJ Inc
Publisher_xml – name: PeerJ. Ltd
– name: PeerJ, Inc
– name: PeerJ Inc
References Fritzson (10.7717/peerj-cs.227/ref-13) 2005
Nikolić (10.7717/peerj-cs.227/ref-22) 2016; 2
Belov (10.7717/peerj-cs.227/ref-6) 1960
Fritzson (10.7717/peerj-cs.227/ref-12) 2015
Short (10.7717/peerj-cs.227/ref-28) 2017
Oliphant (10.7717/peerj-cs.227/ref-23) 2007; 9
Pop (10.7717/peerj-cs.227/ref-26) 2006
Runge (10.7717/peerj-cs.227/ref-27) 1895; 46
Andersson (10.7717/peerj-cs.227/ref-2) 2015; 116
Van Rossum (10.7717/peerj-cs.227/ref-29) 1995
Elmqvist (10.7717/peerj-cs.227/ref-11) 2016
Meurer (10.7717/peerj-cs.227/ref-21) 2017; 3
Fritzson (10.7717/peerj-cs.227/ref-15) 1998; 1445
Elmqvist (10.7717/peerj-cs.227/ref-10) 1978
Beal (10.7717/peerj-cs.227/ref-5) 2018; 6
Broman (10.7717/peerj-cs.227/ref-8) 2010
Atkinson (10.7717/peerj-cs.227/ref-3) 1989
Benvenuti (10.7717/peerj-cs.227/ref-7) 2014; 24
Hedengren (10.7717/peerj-cs.227/ref-17) 2014; 70
Åkesson (10.7717/peerj-cs.227/ref-1) 2010; 34
Clewley (10.7717/peerj-cs.227/ref-9) 2007
Piela (10.7717/peerj-cs.227/ref-25) 1993; 9
Barton (10.7717/peerj-cs.227/ref-4) 1993; 25
Kopey (10.7717/peerj-cs.227/ref-19) 2017; 2
Petzold (10.7717/peerj-cs.227/ref-24) 1982
Fritzson (10.7717/peerj-cs.227/ref-14) 2009; 5475
Margolis (10.7717/peerj-cs.227/ref-20) 2017; 2
Gibbs (10.7717/peerj-cs.227/ref-16) 2012
Hindmarsh (10.7717/peerj-cs.227/ref-18) 2005; 31
References_xml – volume: 1445
  start-page: 67
  volume-title: ECOOP’98—Object-Oriented Programming. Lecture Notes in Computer Science
  year: 1998
  ident: 10.7717/peerj-cs.227/ref-15
  article-title: Modelica—a unified object-oriented language for system modeling and simulation
  doi: 10.1007/BFb0054087
– volume: 2
  start-page: e54
  year: 2016
  ident: 10.7717/peerj-cs.227/ref-22
  article-title: DAE Tools: equation-based object-oriented modelling, simulation and optimisation software
  publication-title: PeerJ Computer Science
  doi: 10.7717/peerj-cs.54
– volume: 6
  start-page: 106
  issue: 8
  year: 2018
  ident: 10.7717/peerj-cs.227/ref-5
  article-title: GEKKO optimization suite
  publication-title: Processes
  doi: 10.3390/pr6080106
– volume: 25
  start-page: 25
  year: 1993
  ident: 10.7717/peerj-cs.227/ref-4
  article-title: gPROMS–a combined discrete/continuous modelling environment for chemical processing systems
  publication-title: Simulation Series
– year: 2017
  ident: 10.7717/peerj-cs.227/ref-28
  article-title: Equation-based modeling and simulations in Julia
– year: 2007
  ident: 10.7717/peerj-cs.227/ref-9
  article-title: PyDSTool, a software environment for dynamical systems modeling
– volume: 3
  start-page: e103
  year: 2017
  ident: 10.7717/peerj-cs.227/ref-21
  article-title: SymPy: symbolic computing in Python
  publication-title: PeerJ Computer Science
  doi: 10.7717/peerj-cs.103
– year: 2005
  ident: 10.7717/peerj-cs.227/ref-13
  article-title: The OpenModelica modeling, simulation, and development environment
– volume: 2
  start-page: 42
  year: 2017
  ident: 10.7717/peerj-cs.227/ref-19
  article-title: Design principles of the Model of Sucker-Rod Pumping System for Maplesoft MapleSim 7 environment
  publication-title: Scientific Bulletin Ivano-Frankivsk National Technical University of Oil and Gas
– volume-title: A structured model language for large continuous systems
  year: 1978
  ident: 10.7717/peerj-cs.227/ref-10
– volume: 31
  start-page: 363
  issue: 3
  year: 2005
  ident: 10.7717/peerj-cs.227/ref-18
  article-title: SUNDIALS: suite of nonlinear and differential/algebraic equation solvers
  publication-title: ACM Transactions on Mathematical Software
  doi: 10.1145/1089014.1089020
– volume: 9
  start-page: 10
  issue: 3
  year: 2007
  ident: 10.7717/peerj-cs.227/ref-23
  article-title: Python for scientific computing
  publication-title: Computing in Science & Engineering
  doi: 10.1109/MCSE.2007.58
– volume-title: Study of the operation of downhole pumps by a dynamograph
  year: 1960
  ident: 10.7717/peerj-cs.227/ref-6
– year: 1982
  ident: 10.7717/peerj-cs.227/ref-24
  article-title: Description of DASSL: A differential/algebraic system solver
– volume: 34
  start-page: 1737
  issue: 11
  year: 2010
  ident: 10.7717/peerj-cs.227/ref-1
  article-title: Modeling and optimization with Optimica and JModelica.org—Languages and tools for solving large-scale dynamic optimization problems
  publication-title: Computers & Chemical Engineering
  doi: 10.1016/j.compchemeng.2009.11.011
– volume: 24
  start-page: 699
  issue: 4
  year: 2014
  ident: 10.7717/peerj-cs.227/ref-7
  article-title: Assume–guarantee verification of nonlinear hybrid systems with Ariadne
  publication-title: International Journal of Robust and Nonlinear Control
  doi: 10.1002/rnc.2914
– volume: 2
  start-page: 396
  issue: 17
  year: 2017
  ident: 10.7717/peerj-cs.227/ref-20
  article-title: SimuPy: a Python framework for modeling and simulating dynamical systems
  publication-title: Journal of Open Source Software
  doi: 10.21105/joss.00396
– volume: 5475
  start-page: 18
  volume-title: Object-Oriented Technology. ECOOP 2008 Workshop Reader. ECOOP 2008. Lecture Notes in Computer Science
  year: 2009
  ident: 10.7717/peerj-cs.227/ref-14
  article-title: Equation-based object-oriented languages and tools
– volume-title: Principles of object oriented modeling and simulation with Modelica 3.3: a cyber-physical approach
  year: 2015
  ident: 10.7717/peerj-cs.227/ref-12
– year: 2012
  ident: 10.7717/peerj-cs.227/ref-16
  publication-title: Rod pumping: modern methods of design, diagnosis and surveillance
– volume: 9
  start-page: 91
  year: 1993
  ident: 10.7717/peerj-cs.227/ref-25
  article-title: An introduction to the ASCEND modeling system: its language and interactive environment
  publication-title: Journal of Management Information Systems
  doi: 10.1080/07421222.1992.11517969
– volume-title: An introduction to numerical analysis
  year: 1989
  ident: 10.7717/peerj-cs.227/ref-3
– start-page: 198
  volume-title: Leveraging Applications of Formal Methods, Verification and Validation: Discussion, Dissemination, Applications. ISoLA 2016. Lecture Notes in Computer Science 9953
  year: 2016
  ident: 10.7717/peerj-cs.227/ref-11
  article-title: Systems modeling and programming in a unified environment based on Julia
  doi: 10.1007/978-3-319-47169-3_15
– volume-title: Python reference manual
  year: 1995
  ident: 10.7717/peerj-cs.227/ref-29
– year: 2010
  ident: 10.7717/peerj-cs.227/ref-8
  article-title: Meta-Languages and Semantics for Equation-Based Modeling and Simulation
– year: 2006
  ident: 10.7717/peerj-cs.227/ref-26
  article-title: OpenModelica development environment with eclipse integration for browsing, modeling, and debugging
– volume: 46
  start-page: 167
  issue: 2
  year: 1895
  ident: 10.7717/peerj-cs.227/ref-27
  article-title: Ueber die numerische Auflösung von Differentialgleichungen
  publication-title: Mathematische Annalen
  doi: 10.1007/BF01446807
– volume: 70
  start-page: 133
  year: 2014
  ident: 10.7717/peerj-cs.227/ref-17
  article-title: Nonlinear modeling, estimation and predictive control in APMonitor
  publication-title: Computers & Chemical Engineering
  doi: 10.1016/j.compchemeng.2014.04.013
– volume: 116
  start-page: 26
  year: 2015
  ident: 10.7717/peerj-cs.227/ref-2
  article-title: Assimulo: a unified framework for ODE solvers
  publication-title: Mathematics and Computers in Simulation
  doi: 10.1016/j.matcom.2015.04.007
SSID ssj0001511119
Score 2.1754036
Snippet Typically, component-oriented acausal hybrid modeling of complex dynamic systems is implemented by specialized modeling languages. A well-known example is the...
SourceID doaj
unpaywall
pubmedcentral
proquest
gale
pubmed
crossref
SourceType Open Website
Open Access Repository
Aggregation Database
Index Database
Enrichment Source
StartPage e227
SubjectTerms Acausal modeling
Adequacy
Algebra
Algorithms
Algorithms and Analysis of Algorithms
Applied research
Complex systems
Complexity
Component-oriented modeling
Computer Education
Computer models
Computer simulation
Difference equations
Differential equations
Dynamical system
Dynamical systems
Hybrid modeling
Hydraulics
Libraries
Mechanical components
Modelling
Ordinary differential equations
Programming Languages
Python
Python (Programming language)
Scientific Computing and Simulation
Software Engineering
Solvers
Strings
Symbolism
Values
Variable structure system
Variables
SummonAdditionalLinks – databaseName: DOAJ Open Access Full Text
  dbid: DOA
  link: http://utb.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwrV1Jb9UwELZQL3BhXwIFGcRyQKGJs_pYEFVBAiGgUm-W46UUPSVPzXuC3vnhfJNNCQi4cHsvnkTxzHj8TTL5hrHH2vlIwxHC2GGRpzKRIbbhKAQYyUthtcgtPRp49z4_PErfHmfHs1ZfVBPW0wP3iturkryovMxjp5HFZbZywsaiiuBnRTJk61EpZ8lU_30whQLZV7oXSFn21s6dfQ1N-0JQA5nZHtRR9f8ekGc70q_Vkhe39Vqff9Or1WwrOrjKLg8Yku_3936NXXD1dXZl7M_Ah-V6g_2gQ02NC4YN0RkDXHJt9LbFyV0HHGxbvPEcGJDbvjM9Rnpu55af1vzDOTEL8PGZJsdvknXfNXEKj6d2lxr_tF2dBkdY5tQRpD65yY4OXn9-dRgOXRdCkxVyE2ovYpcji7KZtZX3wH9WahitFBoLOE8REU1upfGp9ZF3qaxMBRwXZZnITFwkt9hOjbndYTy2tsRmWEbepKnRXmtdWm1lVKaphl8E7PloB2UGSnLqjLFSSE3IaqqzmjKtgtUC9mSSXvdUHH-Qe0kmnWSIQLs7ALdSg1upf7lVwB6RQyiiyKipBucE1mnVm08f1X6OwAeYmomAPRuEfIP7Nnr4pAGzJ1atheTuQhJr2CyHR79TQwzBVBJAPyILgp4eTsN0JtXF1a7ZQobwtcwRdgN2u3fTad4JvROG8gNWLBx4oZjlSH36pWMYLyS9kE8D9nRy9b-q_O7_UPk9dgloVBIwEOUu29mcbd19IL5N9aBb3D8BWFxXyQ
  priority: 102
  providerName: Directory of Open Access Journals
– databaseName: Unpaywall
  dbid: UNPAY
  link: http://utb.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwjV1Lb9QwEB6V7QEulDeBggwqcEBZEidx4uOCWhUkqgqoVE6W40cprLKrZldQzvxwZvJYbVrxuG3i8coez4w_J5NvAHa085FGQwhjh06eykSGuA1HIYIRUXCrubD0aOD9gdg_St8dZ8cbsNN_C7P2_j7Hk8aruXNnX0NTjznPr8CmyBBxj2Dz6OBw8rmpG5eLMJOStzntl7oMdpuGlP9y6F3bey7mRV5dVnN9_l1Pp2ubzt4W7PbDbXNNvo2Xi3Jsfl5gcvzXfG7A9Q51sklrJjdhw1W3YKuv6MA6B78Nv-jWrMKBhTMiQEY4yrTRyxo7NzVzcKNjM88QNTLb1rLHlpYNumanFTs8Jy4C1j8FZfibZN0PTSzEfdfmr_qLusnsYBjIGdUQqU7uwNHe7qc3-2FXpyE0WS4XofY8dgLPXTaztvQeEaOVGpe54BpdXqQYQ42w0vjU-si7VJamROQXZRnPTJwnd2FU4dzuA4utLXD7LCJv0tRor7UurLYyKtJUoyUF8LJfT2U6EnOqpTFVeJghBatGwcrUChUcwLOV9Lwl7_iD3GsyjZUMUW43N3DlVOfBqkxEXnopYqdzDHS2dNzGvIww4OUJwuoAnpJhKSLVqChr5wRXp1ZvP35QE4GhEoFtxgN40Qn5GY7b6O4jCJw98XANJLcHkuj1Ztjc26_qog5OJUGwSPRCqKcnq2bqSZl0lZstUYYQuRQYqAO415r7at4JvUVG5QeQDxxhoJhhS3X6peEkzyW9wk8DeL5ymb-q_MH_Cj6Ea4hRJcEFXmzDaHG2dI8QBy7Kx10Y-A2yvmDd
  priority: 102
  providerName: Unpaywall
Title Component-oriented acausal modeling of the dynamical systems in Python language on the example of the model of the sucker rod string
URI https://www.ncbi.nlm.nih.gov/pubmed/33816880
https://www.proquest.com/docview/2328362633
https://www.proquest.com/docview/2508896578
https://pubmed.ncbi.nlm.nih.gov/PMC7924524
https://doi.org/10.7717/peerj-cs.227
https://doaj.org/article/b367bf961ea7425dbe2d12b087073150
UnpaywallVersion publishedVersion
Volume 5
hasFullText 1
inHoldings 1
isFullTextHit
isPrint
journalDatabaseRights – providerCode: PRVAON
  databaseName: DOAJ Open Access Full Text
  customDbUrl:
  eissn: 2376-5992
  dateEnd: 99991231
  omitProxy: true
  ssIdentifier: ssj0001511119
  issn: 2376-5992
  databaseCode: DOA
  dateStart: 20150101
  isFulltext: true
  titleUrlDefault: https://www.doaj.org/
  providerName: Directory of Open Access Journals
– providerCode: PRVHPJ
  databaseName: ROAD: Directory of Open Access Scholarly Resources
  customDbUrl:
  eissn: 2376-5992
  dateEnd: 99991231
  omitProxy: true
  ssIdentifier: ssj0001511119
  issn: 2376-5992
  databaseCode: M~E
  dateStart: 20150101
  isFulltext: true
  titleUrlDefault: https://road.issn.org
  providerName: ISSN International Centre
– providerCode: PRVAQN
  databaseName: PubMed Central
  customDbUrl:
  eissn: 2376-5992
  dateEnd: 99991231
  omitProxy: true
  ssIdentifier: ssj0001511119
  issn: 2376-5992
  databaseCode: RPM
  dateStart: 20170101
  isFulltext: true
  titleUrlDefault: https://www.ncbi.nlm.nih.gov/pmc/
  providerName: National Library of Medicine
– providerCode: PRVPQU
  databaseName: ProQuest Central
  customDbUrl: http://www.proquest.com/pqcentral?accountid=15518
  eissn: 2376-5992
  dateEnd: 99991231
  omitProxy: true
  ssIdentifier: ssj0001511119
  issn: 2376-5992
  databaseCode: BENPR
  dateStart: 20150527
  isFulltext: true
  titleUrlDefault: https://www.proquest.com/central
  providerName: ProQuest
– providerCode: PRVPQU
  databaseName: ProQuest Technology Collection
  customDbUrl:
  eissn: 2376-5992
  dateEnd: 99991231
  omitProxy: true
  ssIdentifier: ssj0001511119
  issn: 2376-5992
  databaseCode: 8FG
  dateStart: 20150527
  isFulltext: true
  titleUrlDefault: https://search.proquest.com/technologycollection1
  providerName: ProQuest
link http://utb.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwfV1Jb9NAFH5q0wNc2BeXEg2I5YBMvdtzQChFDQWJKCpEKidrPEtoFdkhTgS988N5zxsxiN5szxvLM2-dmefvATwT2jgCBcF2NSp5wH1uoxt2bAxGosRTwosUbQ18mkQns-DjWXi2A5P2XxhKq2xtYmWoVSFpj_wQPX9SQaf4b5ffbaoaRaerbQkN0ZRWUG8qiLFd2PMIGWsAe0fHk-npn12XkEwErzPgY1zKHC61Xl3YsnztUWGZLd9UQfj_a6i3PNXfWZTXNvlSXP4Qi8WWixrfghtNbMlGtTDchh2d34Gbbd0G1qjxXfhFj4ocX0gjJFBOxYQUmxI7V5Vx0J2xwjCMDZmqK9ZjS435XLLznE0vCXGAtXudDK-JVv8UhDXcdq1e1d6UVf4GQ3PNqFJIPr8Hs_Hxl3cndlONwZZhzNe2MJ6rI1xdqVCpzBiMCxUXyMzEE6jYUYCWUkaKSxMo4xgd8ExmGN85YeiF0o39-zDIcWwPgblKJegkE8fIIJDCCCESJRR3kiAQKC8WvGr5kMoGqpwqZixSXLIQ19KKa6ksU-SaBc876mUN0fEfuiNiaUdDwNrVg2I1Txs9TTM_ijPDI1eLGM2ZyrSnXC9z0KzFPgbPFjwlgUgJOiOn3Jw5cqdMP3w-TUcRGkQMX0PPgpcNkSnwu6VofnXA0RPaVo_yoEeJui37za3cpY1twaF0mmDBk66ZelK-XK6LDdJQ3M0jNMcWPKjFtBu3T2fFOPkWxD0B7k1MvyU__1Yhj8ecDuoDC150on7llO9f_f2P4DrGn5xCAS85gMF6tdGPMcZbZ0PYTcbvh436DqudErybTaajr78B3JVaCw
linkProvider ProQuest
linkToHtml http://utb.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwtV1Lb9QwELZKeygX3o9AAYMoHKrQPJyHDxVqoVWXtquqtFJvxvFjKVoly2ZXZe_8Ln4bM9kkbED01ttuMo5sz_ibsTP5hpDX0lhPgiG4voFFznjIXXDDngvBSJwGWgaxxqOBo368f8Y-nUfnS-RX8y0MplU2mFgBtS4UnpFvgudPK-qU8P3ou4tVo_DtalNCQ9alFfRWRTFWf9hxYGaXsIUrt3ofQd_rQbC3e_ph362rDLgqSvjElTbwTQy7Bh1pnVkL8Y7mEjqZBhIMNmaAACrWXFmmrWcN45nKIG7xoiiIlJ-E8NwbZIWFjMPmb2Vnt3988ueUJ0JI4vOM-wS2TpsjY8bfXFW-C7CQzYIvrEoG_OsYFjzj31mbq9N8JGeXcjhccIl7d8itOpal23Pju0uWTH6P3G7qRNAaNu6Tn3ipyOGBOKNIAqqpVHJaQuOqEg-4T1pYCrEo1bNcVgwGdM4xXdKLnB7PkOGANmerFH6jrPkhkdu4aVo9qvlTVvkiFNwDxcok-eABObsWvTwkyzmM7TGhvtYpOOXUs4oxJa2UMtVScy9lTIJ9OmSj0YNQNTU6VugYCtgiodZEpTWhSgFac8h6Kz2aU4L8R24HVdrKIJF3daEYD0SNCyIL4ySzPPaNTAA-dWYC7QeZBzCahBCsO-QVGoRAqo4cc4EGoJ1S9D6fiO0YABjC5ShwyNtayBbQbyXrTytg9Mju1ZFc60gClqju7cbuRI1lMJR25TnkZXsbW2J-Xm6KKchgnM9jgH-HPJqbaTvuEN9Nw-Q7JOkYcGdiunfyi68V03nCMTGAOeRNa-pXTvmTq_v_gqzunx4disNe_-ApuQmxL8cwJEjXyPJkPDXPIL6cZM_rRUzJl-vGjd8LeJSy
linkToPdf http://utb.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwtV1Lb9QwELZKkYAL70eggEEUDihs4jx9QKhQli6FqipU6s04fixFq2TZ7KrsnV_Fr2MmLzYgeuttNxlHsWf8zdgZf0PIE2msJ8EQXN_AJA95wF1ww54LwUicMi1ZrHFr4ONevHMYvj-KjtbIr_YsDKZVtphYAbUuFO6RD8DzpxV1SjCwTVrE_vbw1fS7ixWk8EtrW06jNpFdszyB5Vv5crQNut5kbPj285sdt6kw4Koo4XNXWuabGFYMOtI6sxZiHc0lvGDKJBhrHMLsV7HmyobaetaEPFMZxCxeFLFI-UkAzz1HzifI4o6n1Ifv_uzvRAhGvM61T2DRNJgaM_vmqvIFwxI2K16wKhbwr0tY8Yl_52teXORTuTyRk8mKMxxeJZebKJZu1WZ3jayZ_Dq50laIoA1g3CA_8VKRwwNx_JD-U1Op5KKExlUNHnCctLAUolCql7msuAtozS5d0uOc7i-R24C2u6oUfqOs-SGR1bhtWj2q_VNWmSIUHAPFmiT5-CY5PBOt3CLrOfTtDqG-1im449SzKgyVtFLKVEvNvTQMJVimQ563ehCqIUXH2hwTAYsj1JqotCZUKUBrDtnspKc1Gch_5F6jSjsZpPCuLhSzsWgQQWRBnGSWx76RCQCnzgzTPss8ANAkgDDdIY_RIASSdORo7mPQTilGnw7EVgzQC4FyxBzyrBGyBby3ks2hCug98nr1JDd6koAiqn-7tTvRoBh0pZtzDnnU3caWmJmXm2IBMhjh8xiA3yG3azPt-h3gV2kYfIckPQPuDUz_Tn78teI4TzimBIQOedqZ-qlDfvf0939ILgBaiA-jvd175BIEvRzjD5ZukPX5bGHuQ2A5zx5UM5iSL2cNGb8BHIiSTA
linkToUnpaywall http://utb.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwjV1Lb9QwEB6V7QEulDeBggwqcEBZEidx4uOCWhUkqgqoVE6W40cprLKrZldQzvxwZvJYbVrxuG3i8coez4w_J5NvAHa085FGQwhjh06eykSGuA1HIYIRUXCrubD0aOD9gdg_St8dZ8cbsNN_C7P2_j7Hk8aruXNnX0NTjznPr8CmyBBxj2Dz6OBw8rmpG5eLMJOStzntl7oMdpuGlP9y6F3bey7mRV5dVnN9_l1Pp2ubzt4W7PbDbXNNvo2Xi3Jsfl5gcvzXfG7A9Q51sklrJjdhw1W3YKuv6MA6B78Nv-jWrMKBhTMiQEY4yrTRyxo7NzVzcKNjM88QNTLb1rLHlpYNumanFTs8Jy4C1j8FZfibZN0PTSzEfdfmr_qLusnsYBjIGdUQqU7uwNHe7qc3-2FXpyE0WS4XofY8dgLPXTaztvQeEaOVGpe54BpdXqQYQ42w0vjU-si7VJamROQXZRnPTJwnd2FU4dzuA4utLXD7LCJv0tRor7UurLYyKtJUoyUF8LJfT2U6EnOqpTFVeJghBatGwcrUChUcwLOV9Lwl7_iD3GsyjZUMUW43N3DlVOfBqkxEXnopYqdzDHS2dNzGvIww4OUJwuoAnpJhKSLVqChr5wRXp1ZvP35QE4GhEoFtxgN40Qn5GY7b6O4jCJw98XANJLcHkuj1Ztjc26_qog5OJUGwSPRCqKcnq2bqSZl0lZstUYYQuRQYqAO415r7at4JvUVG5QeQDxxhoJhhS3X6peEkzyW9wk8DeL5ymb-q_MH_Cj6Ea4hRJcEFXmzDaHG2dI8QBy7Kx10Y-A2yvmDd
openUrl ctx_ver=Z39.88-2004&ctx_enc=info%3Aofi%2Fenc%3AUTF-8&rfr_id=info%3Asid%2Fsummon.serialssolutions.com&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=article&rft.atitle=Component-oriented+acausal+modeling+of+the+dynamical+systems+in+Python+language+on+the+example+of+the+model+of+the+sucker+rod+string&rft.jtitle=PeerJ.+Computer+science&rft.au=Kopei%2C+Volodymyr+B&rft.au=Onysko%2C+Oleh+R&rft.au=Panchuk%2C+Vitalii+G&rft.date=2019-10-28&rft.pub=PeerJ.+Ltd&rft.issn=2376-5992&rft.eissn=2376-5992&rft.volume=5&rft.spage=e227&rft_id=info:doi/10.7717%2Fpeerj-cs.227&rft.externalDBID=ISR&rft.externalDocID=A604011252
thumbnail_l http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/lc.gif&issn=2376-5992&client=summon
thumbnail_m http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/mc.gif&issn=2376-5992&client=summon
thumbnail_s http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/sc.gif&issn=2376-5992&client=summon