packages = ["numpy", "constrainthg"] [[fetch]] files = ["/simulate_chg.py"]

Welcome to VisualCHG

VisualCHG is a graphical editor for constraint hypergraphs. It can be used to model and simulate complex systems of any kind.

What to Know

A constraint hypergraph has nodes, which represent variables, and edges, which represent functions. If you wanted to model a falling object you might make a node for gravity, intial_height, height, and time, and then constrain them with a function such as h = h0 − ½gt2. This function would be represented as a directed edge that leads from gravity, initial_height, and time (the source nodes) and points to height (the target node). You could then add other functions for calculating the initial height, or the total fall time, etc. and voilà, you have a system.

Simple constraint hypergraph calculating the height of a falling object

Quickstart

To learn how to use VisualCHG, follow the tooltips next to each feature. They are marked with a little (i) symbol and describe what each feature does and how to use it.

There are also several demonstrations that are preloaded for easy browsing. On the `File` tab try loading either the Basic Demo or Pendulum Demo.

Otherwise, the basic functions of VisualCHG start when you make a system. Try adding nodes using the sidebar on the right, and then connecting them by adding new edges. You can simulate a system by clicking on the node and pressing the blue "Simulate" button in the "Info" tab.

More Information

To learn more about how to build constraint hypergraphs, or how the underlying simulation is conducted, check out constrainthg.readthedocs.io

Current Relations

Double click a relation to set it for the edge.
    
              
    
              
    Ready