Coder Social home page Coder Social logo

jayjaybillings / fire Goto Github PK

View Code? Open in Web Editor NEW
0.0 0.0 2.0 20.53 MB

Repository for the Fire framework

License: Other

CMake 18.71% C++ 61.76% C 5.23% Makefile 0.08% Batchfile 0.17% CSS 1.49% JavaScript 8.49% HTML 0.40% Objective-C 0.71% Python 2.96%

fire's People

Contributors

amccaskey avatar dgquvn avatar smithrwornl avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

fire's Issues

LocalParser<std::vector<Species>>::parse() needs to be updated

The current implementation of LocalParser<std::vector>::parse() (which hasn't been pushed yet) works, but needs to be updated to either read the whole file and work in memory or to use streams. It also needs to be updated to support comments in the file.

The current code is Mike's initial implementation in FERN for his GPU test code.

Fire CMake configure fails when MAGMA not available

Running CMake 3.6.2 (which is the default now in Fedora 25 when you run dnf install cmake) fails with

-- MAGMA support requested. Searching at MAGMA_ROOT=.
-- Found PkgConfig: /usr/bin/pkg-config (found version "0.29.1") 
-- Checking for one of the modules 'magma;magma_sparse'
CMake Error at /usr/share/cmake/Modules/FindPkgConfig.cmake:646 (message):
  None of the required 'magma;magma_sparse' found
Call Stack (most recent call first):
  cmake/Modules/FindMAGMA.cmake:61 (pkg_search_module)
  solvers/CMakeLists.txt:54 (find_package)

when the user does not have MAGMA installed. Later versions of CMake prefer

if (MAGMA_ROOT) (works for 3.6.2)

instead of

if (NOT MAGMA_ROOT STREQUAL "") (does not work for 3.6.2)

Remove Eclipse .cproject and .project files

These files can and usually do contain information that is specific to the users Eclipse workspace, making them not very portable and always show up as changed files in the Git Staging view.

I propose we remove them from the repo. Any objections @jayjaybillings ?

Add some sort of parse() utility function

Parsing is kind of dirty right now. It can be done in a stereotypically annoying way

LocalParser<T> parser;
parser.setSource(fileName);
parser.parse();
shared_ptr<T> myData = parser.getData();

or a shorter but more confusing way

auto parser = build<LocalParser<vector<T>>, const string &>(fileName);
auto myData = speciesParser.getData();

What I would like to have is something like

auto myData = parse<T>(filename);

Add HTTP networking tool

We need a tool that lets us execute HTTP GET and POST commands. We need this for real-time updates from simulations to ICE. We also need this for XACC Rigetti QPU support.

Need to review memory model documentation

I need to thoroughly review and possibly rewrite much of the memory model documentation in the docs/_posts directory. I am also considering a different way of handling memory allocation anyway and that needs to be noted.

Add Travis Docker CI

@jayjaybillings

When you get a chance, will you go into the Settings > Integration and Services and add Travis CI as a service for this project? I just made a commit that will set that up to run a build and test on Fedora 25 and Ubuntu 16.04 every time we push to master.

Reaction struct should have reactant list instead of array of reactant Z, N and A!

Based on the code from Fire, the Reaction struct will start out with arrays of reactant Z, N and A values instead of links to actual species classes. This should be corrected so that the reactions depend directly on lists of species which store that data instead of duplicating it and convoluting it in separate arrays.

This will require making the list of Species searchable by Z, N and A.

Need to add a unit test for parse<T>()

I think I need a unit test for parse(). Other unit tests are using it, but it should probably be covered like build() and the string splitting routines.

Rebuild State<T> to remove raw pointers

I was messing around with State in the fem branch this morning, trying to remove the need to keep a shared_ptr internally to store a pointer to T. I was able to do that using explicit move semantics, but that caused some interesting - although repairable - problems with the parts of the class that uses pointers.

I think I have some ideas on how to remove pointers from the API and still use them internally. Pointers are only there for the purpose of connecting to C-based solvers. I think I can internalize this with link() and unlink() operations that do some pointer trickery without exposing the pointers on the API.

Refactor the flux map construction code

The ReactionNetwork::buildFluxMaps() operation needs to be refactored. It is based on the original routine from FERN. It is all sorts of mangled and tangled.

Building master fails at NetworkIntegrationTest

Build fails in master if building from README instructions. Pulling down Fire and running cmake and make results in

In file included from /projects/test/fire/astrophysics/tests/NetworkIntegrationTest.cpp:40:0:
/projects/test/fire/solvers/ODESolver.h:35:36: fatal error: nvector/nvector_serial.h: No such file or directory
 #include <nvector/nvector_serial.h>
                                    ^
compilation terminated.

Are SUNDIALS/BLAS/LAPACK now required dependencies?

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.