Code Monkey home page Code Monkey logo

bevarmejo's People

Contributors

zannads avatar

Watchers

 avatar

bevarmejo's Issues

base subnetworks

Base subnetworks

With the term base subnetworks, I refer to those sets of nodes or links indicating problem-independent elements. For example:

  • Demand nodes (list of junctions where demand >0)
  • Reservoir (list of junctions where type is reservoir)
    etc...

Create specific error classes

instead of throwing std::runtime_error everywhere, create some specific error classes to simplify the passing and having the messages more constant.
todo:

  • [] epanet_retrieve_error(int errorcode, string id)
  • []

Can't emplace variable strings

The command

_results_.strings().insert("NAME",bevarmejo::wds::vars::variable<std::string>("unit", "test"));

can not build.

EN_copyproject

There is no copy constructor for EPANET projects, as the project is in C++. However, when using EPANET with C++ projects, it's a necessary feature to have copy constructors.

Returning raw pointers in classes is not advisable

Both Node and Link classes contains pointers to the others for connecting purposes. However, through Node::links() I am getting the std::unordered_set<link*> this is ok as with set I can't modify the set (changing the pointers without using insert or remove) otherwise it would lose invariance. However, I could still modify the links to which it is pointing. Adding the const qualifier to the set would make the set unchangeable (i.e., no insert or remove anymore).
What I want is to return a std::unordered_set<const link*>, i.e., a set of pointers to constant objects, so that one could access them but not mess with them.
Still they remain destroyable... Requires thinking

Hanoi solutions don't make sense

I ran the optimization on the server and noticed that even with the largest diameters, the pressure deficit was still very high, which should not be the case. There must be some bug in the code.

Extract results from runHydraulics in a more structured way

For a series of subnetworks (e.g., nodes, reservoirs, pumps) I may have to extract a series of properties (e.g., head, pressure, flow) for a time series (t = [0, 1, ...]) and since each subnetwork has a series of elements the resulting combination is a std::vector<double>

Create Subnetworks

Subnetworks are vectors of ids of the network with additional capabilities, e.g., comments.
In the future I may want to add a dynamic tracking of indexes, but let's see.

Write initial documentation for installation

Write documentation for the build and run of the program for the use cases.

It should be hosted on GitHub and have a resemblance with Pagmo documentation. In the structure, not in the look.

Functions for temporal/tseries

Several functions are useful for this class, especially since it is also inherited from patterns and hence demand and pump scheduling or similar.

  • start time
  • duration (end time - start time)
  • has regular intervals ?
  • values (i.e., a vector stripped of the time)

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.