Skip to content

myerspat/ttnte

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ttnte

License Tests Status

ttnte is a Python library for solving the discrete ordinates neutron transport equation (NTE) with a discontinuous isogeometric analysis (IGA) spatial discretization. This repository features IGA assembly through PyTorch sparse tensors and tensor trains (TTs). The application of TTs aims to exploit the multiscale structure commonly found in reactor applications. The IGA discretization offers higher continuity than traditional finite elements and benefits from working directly with CAD, cutting out the often expensive meshing step.

Requirements

Installation

Quick installation

pip install https://github.com/dalcinl/igakit/archive/refs/heads/master.zip
pip install git+https://github.com/ion-g-ion/torchTT.git
pip install git+https://github.com/myerspat/ttnte.git

From source

git clone https://github.com/myerspat/ttnte.git && cd ttnte
pip install https://github.com/dalcinl/igakit/archive/refs/heads/master.zip
pip install git+https://github.com/ion-g-ion/torchTT.git
pip install .

For developers

git clone git@github.com:myerspat/ttnte.git && cd ttnte
pip install https://github.com/dalcinl/igakit/archive/refs/heads/master.zip
pip install git+https://github.com/ion-g-ion/torchTT.git
pip install -e ".[dev]"
pre-commit install

Classes and Methods

  • ttnte.xs.Server: Class for handling multigroup cross section information.
  • ttnte.iga.IGAMesh: Meshing object for NURBS surfaces defined as igakit.nurbs.NURBS.
  • ttnte.assemblers.MatrixAssembler: Assembler discretized system into ttnte.assemblers.operators.SparseOperators.
  • ttnte.assemblers.TTAssembler: Assembler discretized system into torchtt.TTs.
  • ttnte.linalg.LinearOperator: General operator object for ttnte.assemblers.operators.SparseOperators and torchtt.TTs.
  • ttnte.linalg.eig(): Method for solving the resulting discretized eigenvalue problem.

Modules

  • ttnte.xs.benchmarks: XS data sets from common neutron transport benchmarks.
  • ttnte.cad.curves: Methods for building NURBS curves used in the notebooks.
  • ttnte.cad.surfaces: Methods for building NURBS surfaces used in the notebooks.

Notebooks

About

Tensor Trains (TTs) applied to the Neutron Transport Equation (NTE).

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •