Dendro  5.01
Dendro in Greek language means tree. The Dendro library is a large scale (262K cores on ORNL's Titan) distributed memory adaptive octree framework. The main goal of Dendro is to perform large scale multiphysics simulations efficeiently in mordern supercomputers. Dendro consists of efficient parallel data structures and algorithms to perform variational ( finite element) methods and finite difference mthods on 2:1 balanced arbitary adaptive octrees which enables the users to perform simulations raning from black holes (binary black hole mergers) to blood flow in human body, where applications ranging from relativity, astrophysics to biomedical engineering.
Class List
Here are the classes, structs, unions and interfaces with brief descriptions:
[detail level 1234]
 NcudaContains utility function for the host related to GPUs
 C_Block
 Ndollar
 CNode
 Cprofiler
 Csampler
 NHeatEq
 CHeatMat
 CHeatVec
 NnlohmannNamespace for Niels Lohmann
 NdetailDetail namespace with internal helper functions
 Cadl_serializerDefault JSONSerializer template argument
 Cbasic_jsonClass to store JSON values
 Cjson_pointerJSON Pointer
 NodeThis file contains the base class for the Rungge-Kutta 45 Method
 Nsolver
 NotSimple class to manage async data transfer in the ODA class
 CAsyncExchangeContex
 CBlock
 CDA
 CKey
 CLoopCounter: Simple structure to keep the loop counters
 CMatRecord
 CMesh
 CNode
 CNodeTuple
 CSearchKey
 CsubDASubDA based on the DA, where to perform computations sub domain of the main domain
 CSubScatterMap
 CTreeNodeA class to manage octants
 NparCollection of Generic Parallel Functions: Sorting, Partitioning, Searching,..
 CMpi_datatypeAn abstract class used for communicating messages using user-defined datatypes. The user must implement the static member function "value()" that returns the MPI_Datatype corresponding to this user-defined datatype
 CMpi_datatype< _T< double > >
 CMpi_datatype< _T< float > >
 CMpi_datatype< bool >A template specialization of the abstract class Mpi_datatype. This can be used for communicating messages of type "bool"
 CMpi_datatype< Node_Type >A template specialization of the abstract class "Mpi_datatype" for communicating messages of type "ot::TreeNode"
 CMpi_datatype< ot::Node >A template specialization of the abstract class "Mpi_datatype" for communicating messages of type "ot::Node"
 CMpi_datatype< ot::TreeNode >A template specialization of the abstract class "Mpi_datatype" for communicating messages of type "ot::TreeNode"
 CMpi_datatype< Point >
 CMpi_datatype< std::complex< T > >
 Nstd
 Chash< nlohmann::json >Hash value for JSON objects
 Cless< ::nlohmann::detail::value_t >
 Nts
 CNUTSBasic: class for performing non-uniform time stepping. In order to perform non uniform time stepping the octree to block decomposition needed to be completed. We assume that the blocks are setup in the mesh class
 C_T: data structure to compute parallel rank
 Cbase64_encodestate
 CBucketInfo
 Ccode
 Cconfig_s
 Cct_data_s
 CfeMatAbstract class for stiffness matrix computation
 CfeMatrix
 CfeVec
 CfeVectorClass that derived from abstract class feMat RHS computation of the weak formulation
 Cgz_header_s
 Cgz_state
 CgzFile_s
 Cinflate_state
 Cinternal_state
 Cmem_blk
 Cmemory_pool
 CMESH_DATA
 CNode_Type
 COctreeComp
 COctreeHash
 CPointA point class
 CPointTSimplified templated point class
 Cprofiler_tSimple profiler based on Hari's sort_profiler for bssn application
 CRefElement
 CRuntimeStat
 Csc_flopinfo
 Cstatic_tree_desc_s
 CStencil
 Ctree_desc_s
 Cz_stream_s