7 using System.Collections.Generic;
17 private bool run =
false;
22 kill_simulation =
true;
40 kill_simulation =
false;
42 pos2 =
new float[capacity * 3];
68 List<Vector3> lst =
new List<Vector3>();
69 for (
int i = 0; i < capacity; i++)
71 lst.Add(
new Vector3(pos2[i*3],pos2[i*3+1],pos2[i*3+2]));
86 if (kill_simulation) {
111 private bool connected =
false;
113 public static float Etot = 0.0f;
114 public static float Evdw = 0.0f;
115 public static float Eelec = 0.0f;
129 Debug.Log(
"ArtemisManager::Connect");
135 for (
int i = 0; i < capacity; i++)
154 Debug.Log (
"Artemis Threaded Client connect");
161 artemisGo =
new GameObject(
"Artemis");
165 atomManager.CreateMouseOversIMDSimulation();
168 oThread =
new Thread(() => threadedClient.
mainProc(client, capacity));
170 while (!oThread.IsAlive);
199 Debug.Log(
"Destroying GO");
200 GameObject.DestroyImmediate(artemisGo);
201 Debug.Log(
"Destroyed");
203 threadedClient.
stop();
211 Debug.Log (
"Thread joined");
215 public void send_forces(
int nb_forces,
int[] indices,
float[] coordinates)
217 threadedClient.
send_forces(client, nb_forces, indices, coordinates);
void stop_simulation(ArtemisClientPointer client)
static int artemis_client_destroy(ArtemisClientPointer client)
static string artemisNotificationMessage
ArtemisThreadedClient threadedClient
void PlotAdd(String plotName, float value)
Add a value to plot graph
static ArtemisClientPointer artemis_client_create(int nb_atoms)
static int artemis_client_connect(ArtemisClientPointer client, [In] string hostname, [In] int port)
void send_forces(ArtemisClientPointer client, int nb_forces, int[] indices, float[] coordinates)
static PlotManager Instance
Instance of object
static List< Vector3 > atomsIMDSimulationLocationlist
The coordinates of each atom, simulated through an IMD simulation.
void disconnect(ArtemisClientPointer client)
static int artemis_client_send_forces(ArtemisClientPointer client, int nb_forces, [In] int[] indexes, [In] float[] forces)
static int artemis_client_disconnect(ArtemisClientPointer client)
void mainProc(ArtemisClientPointer client, int capacity)
static int artemis_client_read_energies(ArtemisClientPointer client, ref ArtemisImdEnergies energies)
static int artemis_client_read_header(ArtemisClientPointer client, ref ArtemisHeader header)
ArtemisClientPointer client
static int artemis_client_read_coords(ArtemisClientPointer client, [In, Out] float[] coords, int nb_atoms)
static int artemis_client_receive(ArtemisClientPointer client)
static int artemis_client_send_kill(ArtemisClientPointer client)
void DestroyMouseOversIMDSimulation()
void send_forces(int nb_forces, int[] indices, float[] coordinates)
static GenericManager getCurrentAtomManager()