@@ -75,8 +75,7 @@ typedef
75
75
typename MakeSeq<
76
76
DefaultParticleAttributes,
77
77
AttributMomentum_mt1,
78
- AttributRadiationFlag,
79
- boundElectrons
78
+ AttributRadiationFlag
80
79
>::type AttributeSeqIons;
81
80
82
81
/*########################### end particle attributes ########################*/
@@ -95,13 +94,22 @@ typedef bmpl::vector<
95
94
96
95
/* define species: electrons */
97
96
typedef Particles<ParticleDescription<
98
- bmpl::string<'e'>,
97
+ bmpl::string<'e','H' >,
99
98
SuperCellSize,
100
99
AttributeSeqElectrons,
101
100
ParticleFlagsElectrons,
102
101
typename MakeSeq<CommunicationId<PAR_ELECTRONS> >::type >
103
102
> PIC_Electrons;
104
103
104
+ /* define species: electrons */
105
+ typedef Particles<ParticleDescription<
106
+ bmpl::string<'e','C'>,
107
+ SuperCellSize,
108
+ AttributeSeqElectrons,
109
+ ParticleFlagsElectrons,
110
+ typename MakeSeq<CommunicationId<PAR_ELECTRONS+1> >::type >
111
+ > PIC_ElectronsC;
112
+
105
113
/*--------------------------- ions -------------------------------------------*/
106
114
107
115
/*! Specify (chemical) element
@@ -120,41 +128,51 @@ typedef Particles<ParticleDescription<
120
128
struct Hydrogen
121
129
{
122
130
static const float_X numberOfProtons = 1.0;
123
- static const float_X numberOfNeutrons = 0 .0;
131
+ static const float_X numberOfNeutrons = 1 .0;
124
132
};
125
133
126
- /*! Ionization Model Configuration ----------------------------------------
127
- *
128
- * For development purposes: ---------------------------------------------
129
- * - None : no particle is ionized
130
- * - BSI : simple barrier suppression ionization
131
- *
132
- * Usage: Add a flag to the list of particle flags that has the following structure
133
- *
134
- * ionizer<IonizationModel<Species2BCreated> >
135
- */
136
-
137
- typedef particles::shapes::CIC IonShape;
138
134
typedef bmpl::vector<
139
135
particlePusher<UsedParticlePusher>,
140
136
shape<UsedParticleShape>,
141
137
interpolation<UsedField2Particle>,
142
138
current<UsedParticleCurrentSolver>,
143
- #if(PARAM_IONIZATION == 1)
144
- ionizer<particles::ionization::BSI<PIC_Electrons> >,
145
- #endif
146
139
atomicNumbers<Hydrogen>
147
140
> ParticleFlagsIons;
148
141
149
142
/* define species: ions */
150
143
typedef Particles<ParticleDescription<
151
- bmpl::string<'i'>,
144
+ bmpl::string<'i','H' >,
152
145
SuperCellSize,
153
146
AttributeSeqIons,
154
147
ParticleFlagsIons,
155
148
typename MakeSeq<CommunicationId<PAR_IONS> >::type >
156
149
> PIC_Ions;
157
150
151
+ //##### carbon
152
+
153
+ struct Carbon
154
+ {
155
+ static const float_X numberOfProtons = 6.0;
156
+ static const float_X numberOfNeutrons = 6.0;
157
+ };
158
+ typedef bmpl::vector<
159
+ particlePusher<UsedParticlePusher>,
160
+ shape<UsedParticleShape>,
161
+ interpolation<UsedField2Particle>,
162
+ current<UsedParticleCurrentSolver>,
163
+ atomicNumbers<Carbon>
164
+ > ParticleFlagsIonsC;
165
+
166
+ /* define species: ions */
167
+ typedef Particles<ParticleDescription<
168
+ bmpl::string<'i','C'>,
169
+ SuperCellSize,
170
+ AttributeSeqIons,
171
+ ParticleFlagsIonsC,
172
+ typename MakeSeq<CommunicationId<PAR_ELECTRONS+2> >::type >
173
+ > PIC_IonsC;
174
+
175
+
158
176
/*########################### end species ####################################*/
159
177
160
178
@@ -175,7 +193,9 @@ PIC_Ions
175
193
176
194
typedef typename MakeSeq<
177
195
Species1,
178
- Species2
196
+ Species2,
197
+ PIC_IonsC,
198
+ PIC_ElectronsC
179
199
>::type VectorAllSpecies;
180
200
181
201
0 commit comments