00001
00072
00073 #include <math.h>
00074 #include <stdlib.h>
00075 #include <stdio.h>
00076 #include <string.h>
00077 #include <vector>
00078 #include <list>
00079
00080
00081 #include "gm.h"
00082 #include "shapes.h"
00083 #include "ugstruct.h"
00084 #include "misc.h"
00085 #include "ugdevices.h"
00086 #include "commands.h"
00087 #include "cmdint.h"
00088 #include "cmdline.h"
00089 #include "general.h"
00090 #include "np.h"
00091 #include "assemble.h"
00092
00093
00094 #include "whitney.h"
00095 #include "tdwaveforms.h"
00096 #include "aqhdSysParams.h"
00097 #include "aqhdReleaseInfo.h"
00098 #include "aqhdPhysicoMath.h"
00099 #include "aqhdBaseTypes.h"
00100 #include "auxiliary.h"
00101
00102
00103 #ifdef HAVE_RLOG
00104
00105 #include <rlog/rlog.h>
00106 #include <rlog/rloglocation.h>
00107 #include <rlog/Error.h>
00108 #include <rlog/RLogChannel.h>
00109 #include <rlog/StdioNode.h>
00110
00111 #include <rlog/RLogTime.h>
00112 #endif // HAVE_RLOG
00113
00114 using namespace rlog;
00115 USING_UG_NAMESPACE
00116 USING_UGDIM_NAMESPACE
00117
00118 #ifdef ModelP
00119 USING_PPIF_NAMESPACE
00120 #endif
00121
00122 #ifndef PARTICLESWARM_H_
00123 #define PARTICLESWARM_H_
00124
00125 #define PARTICLE_SWARM_SOURCE_CLASS_NAME "particle_swarm"
00126
00127
00128
00129 struct np_particle_swarm_source
00130 {
00131 NP_BASE base;
00132
00133 INT fl;
00134 INT tl;
00135
00136 ELEMENT *theElement;
00137 VECDATA_DESC* force;
00138
00139 std::vector<std::vector<double> > particlepos;
00144
00145
00146 DOUBLE (*ParticleSwarmSourceSetup)(struct np_particle_swarm_source *);
00147
00148
00149
00150 DOUBLE (*ParticleSwarmSourceUpdate)(struct np_particle_swarm_source *, DOUBLE);
00151
00152 };
00153 typedef struct np_particle_swarm_source NP_PARTICLE_SWARM_SOURCE;
00154
00155
00157 INT InitParticleSwarmSource(void);
00158
00159 #endif