Tissue Forge C++ 0.2.1
Interactive, particle-based physics, chemistry and biology modeling and simulation environment
Loading...
Searching...
No Matches
tf_errs.h
Go to the documentation of this file.
1/*******************************************************************************
2 * This file is part of mdcore.
3 * Coypright (c) 2010 Pedro Gonnet (pedro.gonnet@durham.ac.uk)
4 * Coypright (c) 2017 Andy Somogyi (somogyie at indiana dot edu)
5 * Copyright (c) 2022-2024 T.J. Sego
6 *
7 * This program is free software: you can redistribute it and/or modify
8 * it under the terms of the GNU Lesser General Public License as published
9 * by the Free Software Foundation, either version 3 of the License, or
10 * (at your option) any later version.
11 *
12 * This program is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 * GNU General Public License for more details.
16 *
17 * You should have received a copy of the GNU Lesser General Public License
18 * along with this program. If not, see <http://www.gnu.org/licenses/>.
19 *
20 ******************************************************************************/
21
26
27#ifndef _MDCORE_INCLUDE_TF_ERRS_H_
28#define _MDCORE_INCLUDE_TF_ERRS_H_
29#include "tf_platform.h"
30
31
32namespace TissueForge {
33
34
35 enum MDCErrorCode : int {
36 MDCERR_ok = 0,
37 MDCERR_io,
38 MDCERR_null,
39 MDCERR_malloc,
40 MDCERR_range,
41 MDCERR_space,
42 MDCERR_pthread,
43 MDCERR_runner,
44 MDCERR_cell,
45 MDCERR_domain,
46 MDCERR_nompi,
47 MDCERR_mpi,
48 MDCERR_reader,
49 MDCERR_potential,
50 MDCERR_cuda,
51 MDCERR_nocuda,
52 MDCERR_cudasp,
53 MDCERR_maxparts,
54 MDCERR_queue,
55 MDCERR_rigid,
56 MDCERR_subengine,
57 MDCERR_id,
58 MDCERR_angsspot,
59 MDCERR_dihsspot,
60 MDCERR_engine,
61 MDCERR_spe,
62 MDCERR_mfc,
63 MDCERR_unavail,
64 MDCERR_fifo,
65 MDCERR_verlet_overflow,
66 MDCERR_tasktype,
67 MDCERR_maxpairs,
68 MDCERR_nrtasks,
69 MDCERR_task,
70 MDCERR_taskmaxunlock,
71 MDCERR_notcluster,
72 MDCERR_wrongptype,
73 MDCERR_initorder,
74 MDCERR_bond,
75 MDCERR_angle,
76 MDCERR_dihedral,
77 MDCERR_exclusion,
78 MDCERR_sets,
79 MDCERR_toofast,
80 MDCERR_index,
81 MDCERR_large_state,
82 MDCERR_min_types,
83 MDCERR_bad_el_input,
84 MDCERR_verify,
85 MDCERR_badprop,
86 MDCERR_particle,
87 MDCERR_nyi,
88 MDCERR_ivalsmax,
89 MDCERR_fullqueue,
90 MDCERR_lock,
91 MDCERR_force,
92 MDCERR_LAST
93 };
94
95 /* list of error messages. */
96 static const char *errs_err_msg[MDCERR_LAST] = {
97 "All is well.",
98 "An IO-error has occurred.",
99 "An unexpected NULL pointer was encountered.",
100 "A call to malloc failed, probably due to insufficient memory.",
101 "One or more values were outside of the allowed range.",
102 "An error occured when calling a space function.",
103 "A call to a pthread routine failed.",
104 "An error occured when calling a runner function.",
105 "An error occured while calling a cell function.",
106 "The computational domain is too small for the requested operation.",
107 "mdcore was not compiled with MPI.",
108 "An error occured while calling an MPI function.",
109 "An error occured when calling a reader function.",
110 "An error occured when calling a potential function.",
111 "An error occured when calling a CUDA funtion.",
112 "mdcore was not compiled with CUDA support.",
113 "CUDA support is only available in single-precision.",
114 "Max. number of parts per cell exceeded.",
115 "An error occured when calling a queue funtion.",
116 "An error occured when evaluating a rigid constraint.",
117 "An error occured when calling a subengine.",
118 "Invalid id.",
119 "Angles do not support scaled or shifted potentials.",
120 "Dihedrals do not support scaled or shifted potentials.",
121 "An error occured when calling an engine function.",
122 "An error occured when calling an SPE function.",
123 "An error occured with the memory flow controler.",
124 "The requested functionality is not available.",
125 "An error occured when calling an fifo function.",
126 "Error filling Verlet list: too many neighbours.",
127 "Unknown task type.",
128 "Too many pairs associated with a single particle in Verlet list.",
129 "Task list too short.",
130 "An error occured when calling a task function.",
131 "Attempted to add an unlock to a full task.",
132 "The particle is not a cluster.",
133 "An attempt was made to add a particle to a cluster with incompatible type.",
134 "Engine types already set, or not initialized in correct order.",
135 "An error occured when calling a bond function.",
136 "An error occured when calling an angle function.",
137 "An error occured when calling a dihedral function.",
138 "An error occured when calling an exclusion function.",
139 "An error occured while computing the bonded sets.",
140 "Particles moving too fast",
141 "Invalid index.",
142 "An invalid particle state change occurred (large particle).",
143 "Must have at least space for 3 particle types.",
144 "Inconsistent element inputs.",
145 "Failed to verify a particle.",
146 "Bad property detected.",
147 "An error occured when calling a particle function.",
148 "Not yet implemented.",
149 "Maximum number of intervals reached before tolerance satisfied.",
150 "Attempted to insert into a full queue.",
151 "An error occured in a lock function.",
152 "An error occured in a force function."
153 };
154
155};
156
157#endif // _MDCORE_INCLUDE_TF_ERRS_H_
Include Python header, disable linking to pythonX_d.lib on Windows in debug mode.
Definition tfAngleConfig.h:26