Code Monkey home page Code Monkey logo

xtrans's Introduction

XTrans

This is my personal project to do neutronics calculation using finite element methods.

The skeleton is based on STL C++ with the third-party library deal.II. deal.II provides MPI wrapper functions and PETSc functionalities for SparseMatrix, Vector, preconditioners and solvers.

Now, this XTrans project become the C++ core part of the Project "Bay-Area Radiation Transport code", or BART at UC Berkeley. (PI: Rachel Slaybaugh)

This project will not be discontinued but will be investigating new implementations and as a reference for BART implementation.

xtrans's People

Contributors

rachelslaybaugh avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar

Forkers

ragusa

xtrans's Issues

Restructure the code to peel transport model off from the whole framework

I am trying to separate the whole code into problem definition, transport base and specific transport models.

The intension is that in the future if someone wants to add new transport feature, one can just simply add a new class derived from TransportBase class and provide cell, boundary and interface integration functions by overriding. Then it will be like in MOOSE.

Re-design material input part

Current material ID input is not convenient as inputing such information is performed "row-by-row" fixing y and z values. I am thinking about introducing a parameter reading material ID file name and then ProblemDefinition directly read that file for material IDs.

Isolate cross section intaking from ProblemDefinition

Intension is s.t. after we take out this one and angular quadrature, we don't need to template ProblemDefinition on dim, so we can intake dimension from input file and construct TransportBase based on intaken dim.

Debug the code to make it run by Children's Day

Up to now, I think I got all the main body of the code. So the task now is to debug the code and make it run.

Things that are not done but will be done in the future:

  1. Modularly testing.
  2. Figure out how to make git test on the fly when merging.
  3. Documentation through Doxygen.

Fix the asymmetry issue and MPI problem

This is a continuation from last PR. Tasks are:

  1. Fix the asymmetry issue when doing symmetric tests: find the bug
  2. Work with deal.II team to figure out what's going on with MPI.

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.