31#ifndef KIM_SIMULATOR_MODEL_HPP_
32#define KIM_SIMULATOR_MODEL_HPP_
40class SimulatorModelImplementation;
169 static int Create(std::string
const & simulatorModelName,
204 std::string
const **
const simulatorVersion)
const;
230 std::string
const **
const speciesName)
const;
338 std::string
const **
const fieldName)
const;
362 std::string
const **
const lineValue)
const;
389 std::string
const **
const specificationFileName)
const;
421 std::string
const **
const parameterFileName)
const;
441 int const index, std::string
const **
const parameterFileBasename)
const;
524 SimulatorModelImplementation * pimpl;
An Extensible Enumeration for the LogVerbosity's supported by the KIM API.
Provides the primary interface to a KIM API SimulatorModel object and is meant to be used by simulato...
void GetNumberOfSimulatorFields(int *const numberOfSimulatorFields) const
Get the number of simulator fields provided by the SimulatorModel.
void OpenAndInitializeTemplateMap()
Open and initialize the template map for simulator field line substitutions.
static void Destroy(SimulatorModel **const simulatorModel)
Destroy a previously SimulatorModel::Create'd object.
int GetSimulatorFieldLine(int const fieldIndex, int const lineIndex, std::string const **const lineValue) const
Get a line for the simulator field of interest with all template substitutions performed (Requires th...
void GetSpecificationFileName(std::string const **const specificationFileName) const
Get the SimulatorModel's specification file basename (file name without path). The file is located in...
int GetParameterFileBasename(int const index, std::string const **const parameterFileBasename) const
Get the basename (file name without path) of a particular parameter file. The file is located in the ...
void GetNumberOfParameterFiles(int *const numberOfParameterFiles) const
Get the number of parameter files provided by the SimulatorModel.
void SetLogID(std::string const &logID)
Set the identity of the Log object associated with the SimulatorModel object.
int GetSimulatorFieldMetadata(int const fieldIndex, int *const extent, std::string const **const fieldName) const
Get the metadata for the simulator field of interest.
int GetSupportedSpecies(int const index, std::string const **const speciesName) const
Get a species name supported by the SimulatorModel.
void PopLogVerbosity()
Pop a LogVerbosity from the SimulatorModel object's Log object verbosity stack.
void GetSimulatorNameAndVersion(std::string const **const simulatorName, std::string const **const simulatorVersion) const
Get the SimulatorModel's simulator name and version.
int GetParameterFileName(int const index, std::string const **const parameterFileName) const
Get the basename (file name without path) of a particular parameter file. The file is located in the ...
void GetParameterFileDirectoryName(std::string const **const directoryName) const
Get absolute path name of the temporary directory where parameter files provided by the simulator mod...
void SetSimulatorBufferPointer(void *const ptr)
Set the Simulator's buffer pointer within the SimulatorModel object.
void CloseTemplateMap()
Close the template map and perform template substitutions.
void GetNumberOfSupportedSpecies(int *const numberOfSupportedSpecies) const
Get the number of species supported by the SimulatorModel.
void GetSimulatorBufferPointer(void **const ptr) const
Get the Simulator's buffer pointer from the SimulatorModel object.
int AddTemplateMap(std::string const &key, std::string const &value)
Add a new key-value entry to the template map.
std::string const & ToString() const
Get a string representing the internal state of the SimulatorModel object.
void PushLogVerbosity(LogVerbosity const logVerbosity)
Push a new LogVerbosity onto the SimulatorModel object's Log object verbosity stack.
int TemplateMapIsOpen() const
Determine if the template map is open.
static int Create(std::string const &simulatorModelName, SimulatorModel **const simulatorModel)
Create a new KIM API SimulatorModel object.