PanNDE
All Classes Namespaces Functions Pages
Classes
PanNDE Namespace Reference

Classes

class  Array
 
class  ArrayFactory
 
struct  CArray
 
class  Communicator
 
class  DataBundle
 
struct  ElasticMaterialNames
 
struct  ElasticStateNames
 
class  Field
 
class  FieldBundle
 
class  FieldFactory
 
class  Mesh
 
class  MeshFactory
 
class  Model
 
class  MultiVariate
 
struct  TimeDomainMetadataNames
 
struct  TransducerExcitationNames
 
class  TransducerWindowedSineParameterNames
 

Detailed Description

"Array.hpp" contains the class definition encapsulating a fixed size array. This allows a "in-family" transfer of arrays without requiring the use of a library, including the STL. The rationale being that extention to GPU or other device code usually prohibits the STL, and therefore avoidance of using std::vector<T> or std::array<T,int> in interface definitions becomes a requirement to ensure interface extensibility.

"Communicator.hpp" contains the class definition encapsulating the data communication among processes. This interface is intended to prevent leakage of any chosen inter-process communications library (e.g. MPI) into other parts of the software stack

"Field.hpp" contains the class definition encapsulating a data field attached to a mesh

"Mesh.hpp" contains class definitions for mesh and mesh factory objects.

"Model.hpp" contains a class definition for expected interactions for model/solver implementations. Currently, the class contains a minimal set of methods, as are minimally necessary for the execution of a model. As future model implementations are derived from this interface, new methods likely will be added for improved general functionality of this interface (adherence to: Open-Closed Principle).

"MultiVariate.hpp" contains the class definition for creating a generic scalar multivariate object