Giter Club home page Giter Club logo

openhydraulics's Introduction

OpenHydraulics

The hydraulics library is a free Modelica library that can be used to model hydraulic components and circuits.

Library description

Hydraulic circuits are commonly used in modern machinery, especially where very large power density is required. Examples include earth-moving equipment, farming and forestry equipment, and in manufacturing. More recently hydraulics is also used in automotive and transportation for energy recuperation in hydraulic hybrid drivetrains.

The library is built up in a modular fashion, starting from basic fluid phenomena modeled in the "Basic" package. These basic models are then combined into models for hydraulic components (Cylinders, Lines, MotorsPumps, Sensors, Valves, Volumes). Finally, these components are incorporated into example circuits, such as a pressure compensated load sensing circuit. To develop your own model, it is best to start from a model in the "Circuits" package and modify it to fit your needs.

Current release

Download OpenHydraulics v2.0.0 (2022-10-14)

Release notes

  • Version 2.0.0 (2022-10-14):
    • This new version of OpenHydraulics is a non-backwards compatible release based on the Modelica Standard Library version 4.0.0 which contains a series of improvements and bug fixes.
    • Incorporated fixed provided by: @dietmarw, @harmanpa, @mtiller, @tbeu, @sjoelund, @kdavies4
    • Fixed non-standard or illegal Modelica syntax constructs.
    • Removed outdated annotations.
    • Fixed faulty annotations.
    • Removed the Utilities package since the contained functions are available from the Modelica Standard Library.
  • Version 1.0.1 (2013-02-26):
    • Release with improved package structure
  • Version 1.0 (2013-02-19):
    • Initial release, tested with Dymola2013FD01

License

Version 2.0.0

This Source Code Form is subject to the terms of the 3-Clause BSD license.

A copy of the license is available in the library repository.

Copyright © 2022 Chris Paredis and contributors.

Version 1.0 and 1.0.1

Licensed by Georgia Institute of Technology under a modified Modelica License 2.

Copyright © 2008-2013, Georgia Insitute of Technology

Development and contribution

You may report any issues with using the Issues button.

Contributions in shape of Pull Requests are always welcome.

openhydraulics's People

Contributors

dietmarw avatar harmanpa avatar kdavies4 avatar mtiller avatar sjoelund avatar tbeu avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

openhydraulics's Issues

Parameter description typo of Partial Fluid Component

There is a typo in the description of the parameter p_init of PartialFluidComponent.
I think the description of p_init should be corrected to "Atmosperic Pressure".

Thanks for providing a useful library.


within OpenHydraulics.Interfaces;
partial model PartialFluidComponent
"Base model for any component involving fluid"

outer OpenHydraulics.Fluids.BaseClasses.PartialFluid oil
"This model must be defined in each circuit; the type must be a subtype of PartialFluid";

parameter SI.AbsolutePressure p_init = environment.p_ambient
"Initial temperature of the component" annotation (Dialog(tab="Initialization",group="Fluid"));

protected
outer OpenHydraulics.Circuits.Environment environment;

end PartialFluidComponent;


Deep Modifications

I've come across several cases where "deep modifications" are used. An example would be this fragment from OpenHydraulics.Circuits.PressureCompensated:

OpenHydraulics.Components.Valves.DirectionalValves.V4_3CC v4_3CC(
  portA(p(start=101325, fixed=true)),
  portB(p(start=101325, fixed=false)),
  portP(p(start=101325)),
  P2A(table=[0,0; 1,1]),
  B2T(table=[0,0; 1,1]),
  P2B(table=[-1,1; 0,0; 1,0]),
  A2T(table=[-1,1; 0,0]));

A better approach would be to "propagate" the parameters like portA.p.start and P2A.table up one level. This has two advantages. First, it adds those parameters to the dialog for V4_3CC (and potentially others, depending on where in the inheritance tree they the parameters are introduced) and it avoids having to remember how to make these deep modifications each time you create a new instance of V4_3CC. Otherwise, users have to do something like "Show Component" in Dymola and explore the whole hierarchy for these important parameters.

Ideally, the above code should really look like:

OpenHydraulics.Components.Valves.DirectionalValves.V4_3CC v4_3CC(
  p_A=101325, p_A_fixed=true,
  p_B=101325, p_B_fixed=false,
  p_P=101325,
  P2A_table=[0,0; 1,1],
  B2T_table=[0,0; 1,1],
  P2B_table=[-1,1; 0,0; 1,0],
  A2T_table=[-1,1; 0,0]);

Of course, these should be organized into tabs and groups.

OpenHydraulics in OpenModelica

Hello,

I'm a brand new Modelica user. I'm trying to learn the language with OpenModelica. I'd like to use OpenHydraulics in OpenModelica (specifically in the OMEdit Connection Editor). I downloaded version 1.0.1 of OpenHydraulics and installed it in "~OpenModelica1.0.0\lib\omlibrary\OpenHydraulics 1.0.1". I added this library in the OMEdit library list. After relaunching OMEdit I do see the OpenHydraulics library and am able to browse the library, however, when I open the Excavator example and try to Instantiate or Simulate the model I get many errors of the form:

"Base class Modelica.Icons.ExamplesPackage not found in scope OpenHydraulics.Examples"

I "installed" OpenHydraulics from the .zip that I downloaded from GITHUB. I had to modify the folder name and pull the code up one folder level to get OMEdit to recognize it and allow me to browse it (meaning from "~OpenModelica1.0.0\lib\omlibrary\OpenHydraulics 1.0.1\OpenHydraulics" to "~OpenModelica1.0.0\lib\omlibrary\OpenHydraulics 1.0.1"). However, with the above errors it seems that I've not installed this correctly.

Are there some simple instructions to properly install OpenHydraulics in OpenModelica such that I can run the Excavator example in the OMEdit Connection Editor tool?

Thanks in advance.

Library information

Hello,

I'm completely new in modelica and I crossed along this librar that I think it's very useful for what I need to do. I was just wondering if there's a publication where I can find deeper information about the library (article, book, blog).

Thank you very much for your help.
Edwin Avila

Problems using OpenHydraulics

Hello,

I just started using Modelica and OpenHydraulics and have the following Problems:

  • lots of the examples (Folder circuits) don't work. It seems that there are more variables than equations
  • I can't connect junction components (neither graphically nor by adding the code manually)
  • using the circuitTank always leads to a error message like "V_actual < V_max"

Does an "Manual" (which describes the equations used and how to use the components) for this library exist?

I apologise for my bad English. Thank you very much
Regards, Jan

OpenHydraulics v1.0.1 in OpenModelica v1.19.2 with Modelica Standard Lib v3.2

Hello,

I'm a brand new Modelica user. I'm trying to learn the language with OpenModelica. I'd like to use OpenHydraulics in OpenModelica (specifically in the OMEdit Connection Editor).

I downloaded OpenModelica v1.19.2 and Modelica Standard Lib v3.2 to browse and run the library OpenHydraulics v1.0.1. However, when I open the Excavator example and try to Instantiate or Simulate the model I get many errors of the form:

[OpenHydraulics.Basic.VariableRestriction: 51:3-54:64]: Function ReynoldsNumber_m_flow not found in scope VariableRestriction.

Could you help me with this problem?
Thanks in advance.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.