IOSS 2.0
Loading...
Searching...
No Matches
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 IOSS_NODISCARD DatabaseIOcreate (const std::string &type, const std::string &filename, DatabaseUsage db_usage, Ioss_MPI_Comm communicator=Ioss::ParallelUtils::comm_world(), const Ioss::PropertyManager &properties=Ioss::PropertyManager())
 Create an IO database.
 
static int describe (NameList *names)
 Get the names of database formats known to IOSS.
 
static IOSS_NODISCARD NameList describe ()
 Get the names of database formats known to IOSS.
 
static void clean ()
 Empty method.
 
static IOSS_NODISCARD std::string show_configuration ()
 

Protected Member Functions

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

Static Protected Member Functions

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

Static Private Member Functions

static IOSS_NODISCARD 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,
Ioss_MPI_Comm communicator = Ioss::ParallelUtils::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() [1/2]

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

Get the names of database formats known to IOSS.

Returns
The list of known database format names.

◆ describe() [2/2]

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()

◆ registry()

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

◆ show_config()

virtual IOSS_NODISCARD std::string Ioss::IOFactory::show_config ( ) const
inlineprotectedvirtual

◆ show_configuration()

std::string Ioss::IOFactory::show_configuration ( )
static

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