31 #ifndef KIM_MODEL_HPP_ 32 #define KIM_MODEL_HPP_ 41 class ModelRoutineName;
47 class TemperatureUnit;
49 class ComputeArguments;
50 class ModelImplementation;
125 std::string
const & modelName,
126 int *
const requestedUnitsAccepted,
127 Model **
const model);
208 int *
const numberOfNeighborLists,
209 double const **
const cutoffs,
210 int const **
const modelWillNotRequestNeighborsOfNoncontributingParticles)
319 int Extension(std::string
const & extensionID,
320 void *
const extensionStructure);
365 std::string
const & modelName)
const;
388 int *
const speciesIsSupported,
389 int *
const code)
const;
429 std::string
const **
const name,
430 std::string
const **
const description)
const;
451 int const arrayIndex,
452 int *
const parameterValue)
const;
456 int const arrayIndex,
457 double *
const parameterValue)
const;
478 int const arrayIndex,
479 int const parameterValue);
483 int const arrayIndex,
484 double const parameterValue);
523 std::string
const &
ToString()
const;
533 void SetLogID(std::string
const & logID);
556 void operator=(
Model const &);
561 ModelImplementation * pimpl;
565 #endif // KIM_MODEL_HPP_ void SetLogID(std::string const &logID)
Set the identity of the Log object associated with the Model object.
static int Create(Numbering const numbering, LengthUnit const requestedLengthUnit, EnergyUnit const requestedEnergyUnit, ChargeUnit const requestedChargeUnit, TemperatureUnit const requestedTemperatureUnit, TimeUnit const requestedTimeUnit, std::string const &modelName, int *const requestedUnitsAccepted, Model **const model)
Create a new KIM API Model object.
void GetUnits(LengthUnit *const lengthUnit, EnergyUnit *const energyUnit, ChargeUnit *const chargeUnit, TemperatureUnit *const temperatureUnit, TimeUnit *const timeUnit) const
Get the Model's base unit values.
An Extensible Enumeration for the TemperatureUnit's supported by the KIM API.
An Extensible Enumeration for the TimeUnit's supported by the KIM API.
int WriteParameterizedModel(std::string const &path, std::string const &modelName) const
Call the Model's MODEL_ROUTINE_NAME::WriteParameterizedModel routine.
An Extensible Enumeration for the ModelRoutineName's supported by the KIM API.
std::string const & ToString() const
Get a string representing the internal state of the Model object.
int GetParameterMetadata(int const parameterIndex, DataType *const dataType, int *const extent, std::string const **const name, std::string const **const description) const
Get the metadata associated with one of the Model's parameter arrays.
void GetNeighborListPointers(int *const numberOfNeighborLists, double const **const cutoffs, int const **const modelWillNotRequestNeighborsOfNoncontributingParticles) const
Get the Model's neighbor list information.
void SetSimulatorBufferPointer(void *const ptr)
Set the Simulator's buffer pointer within the Model object.
An Extensible Enumeration for the DataType's supported by the KIM API.
int ComputeArgumentsCreate(ComputeArguments **const computeArguments) const
Create a new ComputeArguments object for the Model object.
SupportStatus const required
The standard required status.
An Extensible Enumeration for the LengthUnit's supported by the KIM API.
int Compute(ComputeArguments const *const computeArguments) const
Call the Model's MODEL_ROUTINE_NAME::Compute routine.
int SetParameter(int const parameterIndex, int const arrayIndex, int const parameterValue)
Set a parameter value for the Model.
void GetInfluenceDistance(double *const influenceDistance) const
Get the Model's influence distance.
int Extension(std::string const &extensionID, void *const extensionStructure)
Call the Model's MODEL_ROUTINE_NAME::Extension routine.
An Extensible Enumeration for the LogVerbosity's supported by the KIM API.
An Extensible Enumeration for the Numbering's supported by the KIM API.
Provides the primary interface to a KIM API Model object and is meant to be used by simulators...
static void Destroy(Model **const model)
Destroy a previously Model::Create'd object.
An Extensible Enumeration for the EnergyUnit's supported by the KIM API.
void PopLogVerbosity()
Pop a LogVerbosity from the Model object's Log object verbosity stack.
void GetSimulatorBufferPointer(void **const ptr) const
Get the Simulator's buffer pointer from the Model object.
Provides the primary interface to a KIM API ComputeArguments object and is meant to be used by simula...
void GetNumberOfParameters(int *const numberOfParameters) const
Get the number of parameter arrays provided by the Model.
An Extensible Enumeration for the ChargeUnit's supported by the KIM API.
int GetParameter(int const parameterIndex, int const arrayIndex, int *const parameterValue) const
Get a parameter value from the Model.
int GetSpeciesSupportAndCode(SpeciesName const speciesName, int *const speciesIsSupported, int *const code) const
Get the Model's support and code for the requested SpeciesName.
int ComputeArgumentsDestroy(ComputeArguments **const computeArguments) const
Destroy a previously Model::ComputeArgumentsCreate'd object.
int IsRoutinePresent(ModelRoutineName const modelRoutineName, int *const present, int *const required) const
Determine presence and required status of the given ModelRoutineName.
An Extensible Enumeration for the SpeciesName's supported by the KIM API.
int ClearThenRefresh()
Clear influence distance and neighbor list pointers and refresh Model object after parameter changes...
void PushLogVerbosity(LogVerbosity const logVerbosity)
Push a new LogVerbosity onto the Model object's Log object verbosity stack.