KIM API V2
KIM_ModelCreate.hpp
Go to the documentation of this file.
1 //
2 // CDDL HEADER START
3 //
4 // The contents of this file are subject to the terms of the Common Development
5 // and Distribution License Version 1.0 (the "License").
6 //
7 // You can obtain a copy of the license at
8 // http://www.opensource.org/licenses/CDDL-1.0. See the License for the
9 // specific language governing permissions and limitations under the License.
10 //
11 // When distributing Covered Code, include this CDDL HEADER in each file and
12 // include the License file in a prominent location with the name LICENSE.CDDL.
13 // If applicable, add the following below this CDDL HEADER, with the fields
14 // enclosed by brackets "[]" replaced with your own identifying information:
15 //
16 // Portions Copyright (c) [yyyy] [name of copyright owner]. All rights reserved.
17 //
18 // CDDL HEADER END
19 //
20 
21 //
22 // Copyright (c) 2016--2018, Regents of the University of Minnesota.
23 // All rights reserved.
24 //
25 // Contributors:
26 // Ryan S. Elliott
27 //
28 
29 //
30 // Release: This file is part of the kim-api-v2.0.0-alpha.0 package.
31 //
32 
33 
34 #ifndef KIM_MODEL_CREATE_HPP_
35 #define KIM_MODEL_CREATE_HPP_
36 
37 #include <string>
38 
39 #ifndef KIM_FUNC_HPP_
40 #include "KIM_func.hpp"
41 #endif
42 
43 
44 namespace KIM
45 {
46 // Forward declarations
47 class LogVerbosity;
48 class LanguageName;
49 class Numbering;
50 class SpeciesName;
51 class SupportStatus;
52 class LengthUnit;
53 class EnergyUnit;
54 class ChargeUnit;
55 class TemperatureUnit;
56 class TimeUnit;
57 class ArgumentName;
58 class CallbackName;
59 
60 
62 {
63  public:
64  int SetModelNumbering(Numbering const numbering);
65 
66  void SetInfluenceDistancePointer(double const * const influenceDistance);
67 
68  void SetNeighborListCutoffsPointer(int const numberOfCutoffs,
69  double const * const cutoffs);
70 
71  int SetRefreshPointer(LanguageName const languageName, func * const fptr);
72  int SetDestroyPointer(LanguageName const languageName, func * const fptr);
73  int SetComputePointer(LanguageName const languageName, func * const fptr);
74 
75  int SetSpeciesCode(SpeciesName const speciesName, int const code);
76 
77  int SetArgumentSupportStatus(ArgumentName const argumentName,
78  SupportStatus const supportStatus);
79 
80  int SetCallbackSupportStatus(CallbackName const callbackName,
81  SupportStatus const supportStatus);
82 
83  int SetParameterPointer(int const extent, int * const ptr,
84  std::string const & description);
85  int SetParameterPointer(int const extent, double * const ptr,
86  std::string const & description);
87 
88  void SetModelBufferPointer(void * const ptr);
89 
90  int SetUnits(LengthUnit const lengthUnit,
91  EnergyUnit const energyUnit,
92  ChargeUnit const chargeUnit,
93  TemperatureUnit const temperatureUnit,
94  TimeUnit const timeUnit);
95 
96  int ConvertUnit(
97  LengthUnit const fromLengthUnit,
98  EnergyUnit const fromEnergyUnit,
99  ChargeUnit const fromChargeUnit,
100  TemperatureUnit const fromTemperatureUnit,
101  TimeUnit const fromTimeUnit,
102  LengthUnit const toLengthUnit,
103  EnergyUnit const toEnergyUnit,
104  ChargeUnit const toChargeUnit,
105  TemperatureUnit const toTemperatureUnit,
106  TimeUnit const toTimeUnit,
107  double const lengthExponent,
108  double const energyExponent,
109  double const chargeExponent,
110  double const temperatureExponent,
111  double const timeExponent,
112  double * const conversionFactor) const;
113 
114  void LogEntry(LogVerbosity const logVerbosity, std::string const & message,
115  int const lineNumber, std::string const & fileName) const;
116  std::string String() const;
117 
118  private:
119  // do not allow copy constructor or operator=
120  ModelCreate(ModelCreate const &);
121  void operator=(ModelCreate const &);
122 
123  ModelCreate();
124  ~ModelCreate();
125 
126  class ModelCreateImplementation;
127  ModelCreateImplementation * pimpl;
128 }; // class ModelCreate
129 } // namespace KIM
130 #endif // KIM_MODEL_CREATE_HPP_
void LogEntry(LogVerbosity const logVerbosity, std::string const &message, int const lineNumber, std::string const &fileName) const
int SetSpeciesCode(SpeciesName const speciesName, int const code)
int SetModelNumbering(Numbering const numbering)
int SetComputePointer(LanguageName const languageName, func *const fptr)
int SetUnits(LengthUnit const lengthUnit, EnergyUnit const energyUnit, ChargeUnit const chargeUnit, TemperatureUnit const temperatureUnit, TimeUnit const timeUnit)
void SetInfluenceDistancePointer(double const *const influenceDistance)
void SetModelBufferPointer(void *const ptr)
int SetParameterPointer(int const extent, int *const ptr, std::string const &description)
int SetCallbackSupportStatus(CallbackName const callbackName, SupportStatus const supportStatus)
std::string String() const
int SetRefreshPointer(LanguageName const languageName, func *const fptr)
int SetArgumentSupportStatus(ArgumentName const argumentName, SupportStatus const supportStatus)
void SetNeighborListCutoffsPointer(int const numberOfCutoffs, double const *const cutoffs)
int ConvertUnit(LengthUnit const fromLengthUnit, EnergyUnit const fromEnergyUnit, ChargeUnit const fromChargeUnit, TemperatureUnit const fromTemperatureUnit, TimeUnit const fromTimeUnit, LengthUnit const toLengthUnit, EnergyUnit const toEnergyUnit, ChargeUnit const toChargeUnit, TemperatureUnit const toTemperatureUnit, TimeUnit const toTimeUnit, double const lengthExponent, double const energyExponent, double const chargeExponent, double const temperatureExponent, double const timeExponent, double *const conversionFactor) const
void() func()
Definition: KIM_func.hpp:40
int SetDestroyPointer(LanguageName const languageName, func *const fptr)