<commit_before>/*===- Force.h - libSimulation -================================================
*
*                                  DEMON
*
* This file is distributed under the BSD Open Source License. See LICENSE.TXT 
* for details. 
*
*===-----------------------------------------------------------------------===*/

#ifndef FORCE_H
#define FORCE_H

#include "Cloud.h"
#include <vector>

class Force {
public:
	Cloud * const cloud;
	
	Force(Cloud * const C) : cloud(C) {} 
	virtual ~Force() {}

	virtual void force1(const double currentTime)=0; // rk substep 1
	virtual void force2(const double currentTime)=0; // rk substep 2
	virtual void force3(const double currentTime)=0; // rk substep 3
	virtual void force4(const double currentTime)=0; // rk substep 4

	virtual void writeForce(fitsfile * const file, int * const error) const=0;	// output force information to file
	virtual void readForce(fitsfile * const file, int * const error)=0;	// read force information from file
};
	
typedef std::vector<Force *> ForceArray;
typedef long force_flags;

// Binary assignments for the bit-packed FORCES keyword in Fits file:
enum ForceFlag : force_flags {
	ConfinementForceFlag = 1,          // 000000000001
	DragForceFlag = 2,                 // 000000000010
	ShieldedCoulombForceFlag = 4,      // 000000000100
	RectConfinementForceFlag = 8,      // 000000001000
	ThermalForceFlag = 16,             // 000000010000
	ThermalForceLocalizedFlag = 32,    // 000000100000
	DrivingForceFlag = 64,             // 000001000000
	RotationalForceFlag = 128,         // 000010000000
	TimeVaryingDragForceFlag = 256,    // 000100000000
	TimeVaryingThermalForceFlag = 512, // 001000000000
	MagneticForceFlag = 1024,          // 010000000000
	ConfinementForceVoidFlag = 2048    // 100000000000
};

#endif // FORCE_H<commit_msg>Forgot to add Force.h Sorry<commit_after>/*===- Force.h - libSimulation -================================================
*
*                                  DEMON
*
* This file is distributed under the BSD Open Source License. See LICENSE.TXT 
* for details. 
*
*===-----------------------------------------------------------------------===*/

#ifndef FORCE_H
#define FORCE_H

#include "Cloud.h"
#include <vector>

class Force {
public:
	Cloud * const cloud;
	
	Force(Cloud * const C) : cloud(C) {} 
	virtual ~Force() {}

	virtual void force1(const double currentTime)=0; // rk substep 1
	virtual void force2(const double currentTime)=0; // rk substep 2
	virtual void force3(const double currentTime)=0; // rk substep 3
	virtual void force4(const double currentTime)=0; // rk substep 4

	virtual void writeForce(fitsfile * const file, int * const error) const=0;	// output force information to file
	virtual void readForce(fitsfile * const file, int * const error)=0;	// read force information from file
};
	
typedef std::vector<Force *> ForceArray;
typedef long force_flags;

// Binary assignments for the bit-packed FORCES keyword in Fits file:
enum ForceFlag : force_flags {
	ConfinementForceFlag = 1,          // 00000000000001
	DragForceFlag = 2,                 // 00000000000010
	ShieldedCoulombForceFlag = 4,      // 00000000000100
	RectConfinementForceFlag = 8,      // 00000000001000
	ThermalForceFlag = 16,             // 00000000010000
	ThermalForceLocalizedFlag = 32,    // 00000000100000
	DrivingForceFlag = 64,             // 00000001000000
	RotationalForceFlag = 128,         // 00000010000000
	TimeVaryingDragForceFlag = 256,    // 00000100000000
	TimeVaryingThermalForceFlag = 512, // 00001000000000
	MagneticForceFlag = 1024,          // 00010000000000
	ConfinementForceVoidFlag = 2048,   // 00100000000000
        ElectricForceFlag = 4096           // 01000000000000
//        originFlag = 8192,                 // 10000000000000
};

#endif // FORCE_H
{'fraction_non_alphanumeric': 0.1530126849894292, 'fraction_numerical': 0.11363636363636363, 'mean_word_length': 2.671193016488846, 'pattern_counts': {'":': 0, '<': 7, '<?xml version=': 0, '>': 7, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 24, 'word_list_counts': {'cursed_substrings.json': 2, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '1381022', 'n_tokens_mistral': 1451, 'n_tokens_neox': 1056, 'n_words': 317}