IOSS  2.0
Ioss::IOFactory Class Referenceabstract

The main public user interface for creating Ioss::DatabaseIO objects. More...

#include <Ioss_IOFactory.h>

Inheritance diagram for Ioss::IOFactory:
[legend]

Public Member Functions

virtual ~IOFactory ()=default
 

Static Public Member Functions

static DatabaseIOcreate (const std::string &type, const std::string &filename, DatabaseUsage db_usage, MPI_Comm communicator=MPI_COMM_WORLD, const Ioss::PropertyManager &properties=Ioss::PropertyManager())
 Create an IO database. More...
 
static int describe (NameList *names)
 Get the names of database formats known to IOSS. More...
 
static void clean ()
 Empty method. More...
 
static void show_configuration ()
 

Protected Member Functions

 IOFactory (const std::string &type)
 
virtual DatabaseIOmake_IO (const std::string &filename, DatabaseUsage db_usage, MPI_Comm communicator, const Ioss::PropertyManager &properties) const =0
 
virtual void show_config () const
 

Static Protected Member Functions

static void alias (const std::string &base, const std::string &syn)
 

Static Private Member Functions

static IOFactoryMapregistry ()
 

Detailed Description

The main public user interface for creating Ioss::DatabaseIO objects.

Constructor & Destructor Documentation

◆ ~IOFactory()

virtual Ioss::IOFactory::~IOFactory ( )
virtualdefault

◆ IOFactory()

Ioss::IOFactory::IOFactory ( const std::string &  type)
explicitprotected

Member Function Documentation

◆ alias()

void Ioss::IOFactory::alias ( const std::string &  base,
const std::string &  syn 
)
staticprotected

◆ clean()

void Ioss::IOFactory::clean ( )
static

Empty method.

◆ create()

Ioss::DatabaseIO * Ioss::IOFactory::create ( const std::string &  type,
const std::string &  filename,
Ioss::DatabaseUsage  db_usage,
MPI_Comm  communicator = MPI_COMM_WORLD,
const Ioss::PropertyManager properties = Ioss::PropertyManager() 
)
static

Create an IO database.

This is the public interface method for creating an Ioss::DatabaseIO object. If Ioss is invoked with more than one process, type == "exodus", db_usage == Ioss::READ_MODEL, and properties contains the property DECOMPOSITION_METHOD, which is not set to EXTERNAL, then a parallel decompose-on-the-fly (dof) style Exodus database will be created. The mesh in a single Exodus file will be decomposed according to DECOMPOSITION_METHOD. Otherwise, if the number of processes is greater than one, then a file-per-process (fpp) style Exodus database will be created. In this case, Ioss expects the mesh in p Exodus files, where p is the number of processes in communicator.

Parameters
[in]typeThe database file format. Use Ioss::IOFactory::describe to list formats known to Ioss.
[in]filenameThe name of the database file to read from or write to.
[in]db_usageSpecifies whether the database will be used for input, normal output, restart output, etc.
[in]communicatorThe MPI communicator.
[in]propertiesThe property manager associated with the database.
Returns
A pointer to the newly-constructed Ioss::DatabaseIO object, or NULL if unsuccessful.

◆ describe()

int Ioss::IOFactory::describe ( NameList names)
static

Get the names of database formats known to IOSS.

Parameters
[out]namesThe list of known database format names.
Returns
The number of known database formats.

◆ make_IO()

virtual DatabaseIO* Ioss::IOFactory::make_IO ( const std::string &  filename,
DatabaseUsage  db_usage,
MPI_Comm  communicator,
const Ioss::PropertyManager properties 
) const
protectedpure virtual

◆ registry()

Ioss::IOFactoryMap * Ioss::IOFactory::registry ( )
staticprivate

◆ show_config()

virtual void Ioss::IOFactory::show_config ( ) const
inlineprotectedvirtual

◆ show_configuration()

void Ioss::IOFactory::show_configuration ( )
static

The documentation for this class was generated from the following files: