Skip to content

Commit 0d69642

Browse files
author
Tristan Youngs
committed
We don't serialise NeutronWeights, XRayWeights, or AtomTypeMix any more.
1 parent b277825 commit 0d69642

12 files changed

Lines changed: 7 additions & 301 deletions

File tree

src/classes/atomTypeMix.cpp

Lines changed: 0 additions & 62 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@
1111
#include <algorithm>
1212
#include <utility>
1313

14-
1514
void AtomTypeMix::operator=(const AtomTypeMix &source) { types_ = source.types_; }
1615

1716
AtomTypeData &AtomTypeMix::operator[](int n) { return types_[n]; }
@@ -225,64 +224,3 @@ void AtomTypeMix::print() const
225224
Messenger::print(" -----------------------------------------------------------------\n");
226225
}
227226
}
228-
229-
/*
230-
* Serialisation
231-
*/
232-
233-
// Read data through specified LineParser
234-
bool AtomTypeMix::deserialise(LineParser &parser, const CoreData &coreData)
235-
{
236-
types_.clear();
237-
238-
if (parser.getArgsDelim(LineParser::Defaults) != LineParser::Success)
239-
return false;
240-
auto nItems = parser.argi(0);
241-
for (auto n = 0; n < nItems; ++n)
242-
{
243-
// Line Contains: AtomType name, population, fraction, boundCoherent, and nIsotopes
244-
if (parser.getArgsDelim(LineParser::Defaults) != LineParser::Success)
245-
return false;
246-
auto atomType = coreData.findAtomType(parser.argsv(0));
247-
if (!atomType)
248-
return Messenger::error("Could not find atom type {}.", parser.argsv(0));
249-
auto population = parser.argd(1);
250-
auto fraction = parser.argd(2);
251-
auto boundCoherent = parser.argd(3);
252-
auto nIsotopes = parser.argi(4);
253-
254-
// Create AtomTypeData
255-
auto &atd = types_.emplace_back(atomType.get(), population, fraction, boundCoherent);
256-
257-
// For each of the nIsotopes, read (and check) A, population, and fraction
258-
for (auto i = 0; i < nIsotopes; ++i)
259-
{
260-
if (parser.getArgsDelim(LineParser::Defaults) != LineParser::Success)
261-
return false;
262-
auto isotope = Sears91::isotope(atomType->Z(), parser.argi(0));
263-
atd.setIsotope(isotope, parser.argd(1), parser.argd(2));
264-
}
265-
}
266-
267-
return true;
268-
}
269-
270-
// Write data through specified LineParser
271-
bool AtomTypeMix::serialise(LineParser &parser) const
272-
{
273-
if (!parser.writeLineF("{} # nItems\n", types_.size()))
274-
return false;
275-
for (auto &atd : types_)
276-
{
277-
// Line Contains: AtomType name, population, fraction, boundCoherent, and nIsotopes
278-
if (!parser.writeLineF("{} {} {} {} {}\n", atd.atomTypeName(), atd.population(), atd.fraction(), atd.boundCoherent(),
279-
atd.isotopeData().size()))
280-
return false;
281-
// For each isotope write A, population, and fraction
282-
for (const auto &topeData : atd.isotopeData())
283-
if (!parser.writeLineF("{} {} {}\n", Sears91::A(topeData.isotope()), topeData.population(), topeData.fraction()))
284-
return false;
285-
}
286-
287-
return true;
288-
}

src/classes/atomTypeMix.h

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -69,13 +69,4 @@ class AtomTypeMix
6969
OptionalReferenceWrapper<const AtomTypeData> atomTypeData(const AtomType *atomType) const;
7070
// Print AtomType populations
7171
void print() const;
72-
73-
/*
74-
* Serialisation
75-
*/
76-
public:
77-
// Read data through specified LineParser
78-
bool deserialise(LineParser &parser, const CoreData &coreData);
79-
// Write data through specified LineParser
80-
bool serialise(LineParser &parser) const;
8172
};

src/classes/neutronWeights.cpp

Lines changed: 0 additions & 75 deletions
Original file line numberDiff line numberDiff line change
@@ -295,78 +295,3 @@ double NeutronWeights::boundCoherentAverageOfSquares() const { return boundCoher
295295

296296
// Return whether the structure is valid (i.e. has been finalised)
297297
bool NeutronWeights::isValid() const { return valid_; }
298-
299-
/*
300-
* Serialisation
301-
*/
302-
303-
// Read data through specified LineParser
304-
bool NeutronWeights::deserialise(LineParser &parser, const CoreData &coreData)
305-
{
306-
clear();
307-
308-
// Read AtomTypeMix
309-
if (!atomTypes_.deserialise(parser, coreData))
310-
return false;
311-
312-
// Read isotopologue mixtures
313-
isotopologueMixtures_.clear();
314-
if (parser.getArgsDelim(LineParser::Defaults) != LineParser::Success)
315-
return false;
316-
auto nItems = parser.argi(0);
317-
for (auto n = 0; n < nItems; ++n)
318-
{
319-
isotopologueMixtures_.emplace_back();
320-
if (!isotopologueMixtures_.back().deserialise(parser, coreData))
321-
return false;
322-
}
323-
324-
// Read arrays using static methods in the relevant GenericItemContainer
325-
if (!GenericItemDeserialiser::deserialise<Array2D<double>>(concentrationProducts_, parser))
326-
return false;
327-
if (!GenericItemDeserialiser::deserialise<Array2D<double>>(boundCoherentProducts_, parser))
328-
return false;
329-
if (!GenericItemDeserialiser::deserialise<Array2D<double>>(weights_, parser))
330-
return false;
331-
if (!GenericItemDeserialiser::deserialise<Array2D<double>>(intramolecularWeights_, parser))
332-
return false;
333-
334-
// Read averages
335-
if (parser.getArgsDelim(LineParser::Defaults) != LineParser::Success)
336-
return false;
337-
boundCoherentAverageOfSquares_ = parser.argd(0);
338-
boundCoherentSquareOfAverage_ = parser.argd(1);
339-
340-
return true;
341-
}
342-
343-
// Write data through specified LineParser
344-
bool NeutronWeights::serialise(LineParser &parser) const
345-
{
346-
// Write AtomTypeMix
347-
if (!atomTypes_.serialise(parser))
348-
return false;
349-
350-
// Write isotopologue mixtures
351-
if (!parser.writeLineF("{} # nItems\n", isotopologueMixtures_.size()))
352-
return false;
353-
for (auto &topes : isotopologueMixtures_)
354-
if (!topes.serialise(parser))
355-
return false;
356-
357-
// Write arrays using static methods in the relevant GenericItemContainer
358-
if (!GenericItemSerialiser::serialise<Array2D<double>>(concentrationProducts_, parser))
359-
return false;
360-
if (!GenericItemSerialiser::serialise<Array2D<double>>(boundCoherentProducts_, parser))
361-
return false;
362-
if (!GenericItemSerialiser::serialise<Array2D<double>>(weights_, parser))
363-
return false;
364-
if (!GenericItemSerialiser::serialise<Array2D<double>>(intramolecularWeights_, parser))
365-
return false;
366-
367-
// Write averages
368-
if (!parser.writeLineF("{} {}\n", boundCoherentAverageOfSquares_, boundCoherentSquareOfAverage_))
369-
return false;
370-
371-
return true;
372-
}

src/classes/neutronWeights.h

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -90,13 +90,4 @@ class NeutronWeights
9090
double boundCoherentAverageOfSquares() const;
9191
// Return whether the structure is valid (i.e. has been finalised)
9292
bool isValid() const;
93-
94-
/*
95-
* Serialisation
96-
*/
97-
public:
98-
// Read data through specified LineParser
99-
bool deserialise(LineParser &parser, const CoreData &coreData);
100-
// Write data through specified LineParser
101-
bool serialise(LineParser &parser) const;
10293
};

src/classes/xRayWeights.cpp

Lines changed: 0 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -258,38 +258,3 @@ std::vector<double> XRayWeights::boundCoherentAverageOfSquares(const std::vector
258258

259259
// Return whether the structure is valid (i.e. has been finalised)
260260
bool XRayWeights::isValid() const { return valid_; }
261-
262-
/*
263-
* Serialisation
264-
*/
265-
266-
// Read data through specified LineParser
267-
bool XRayWeights::deserialise(LineParser &parser, const CoreData &coreData)
268-
{
269-
clear();
270-
271-
// Read form factor dataset to use
272-
if (parser.getArgsDelim() != LineParser::Success)
273-
return false;
274-
formFactors_ = XRayFormFactors::xRayFormFactorData().enumeration(parser.argsv(0));
275-
276-
// Read AtomTypeMix
277-
if (!atomTypeMix_.deserialise(parser, coreData))
278-
return false;
279-
280-
return finalise(formFactors_);
281-
}
282-
283-
// Write data through specified LineParser
284-
bool XRayWeights::serialise(LineParser &parser) const
285-
{
286-
// Write x-ray form factor dataset
287-
if (!parser.writeLineF("{}\n", XRayFormFactors::xRayFormFactorData().keyword(formFactors_)))
288-
return false;
289-
290-
// Write AtomTypeMix
291-
if (!atomTypeMix_.serialise(parser))
292-
return false;
293-
294-
return true;
295-
}

src/classes/xRayWeights.h

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -97,13 +97,4 @@ class XRayWeights
9797
std::vector<double> boundCoherentAverageOfSquares(const std::vector<double> &Q) const;
9898
// Return whether the structure is valid (i.e. has been finalised)
9999
bool isValid() const;
100-
101-
/*
102-
* Serialisation
103-
*/
104-
public:
105-
// Read data through specified LineParser
106-
bool deserialise(LineParser &parser, const CoreData &coreData);
107-
// Write data through specified LineParser
108-
bool serialise(LineParser &parser) const;
109100
};

src/items/deserialisers.cpp

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -174,15 +174,13 @@ GenericItemDeserialiser::GenericItemDeserialiser()
174174
}
175175
return true;
176176
});
177-
registerDeserialiser<AtomTypeMix>(simpleDeserialiseCore<AtomTypeMix>);
178177
registerDeserialiser<Data1D>(simpleDeserialise<Data1D>);
179178
registerDeserialiser<Data2D>(simpleDeserialise<Data2D>);
180179
registerDeserialiser<Data3D>(simpleDeserialise<Data3D>);
181180
registerDeserialiser<Histogram1D>(simpleDeserialise<Histogram1D>);
182181
registerDeserialiser<Histogram2D>(simpleDeserialise<Histogram2D>);
183182
registerDeserialiser<Histogram3D>(simpleDeserialise<Histogram3D>);
184183
registerDeserialiser<IntegerHistogram1D>(simpleDeserialise<IntegerHistogram1D>);
185-
registerDeserialiser<NeutronWeights>(simpleDeserialiseCore<NeutronWeights>);
186184
registerDeserialiser<PartialSet>(simpleDeserialiseCore<PartialSet>);
187185
registerDeserialiser<PartialSetAccumulator>(simpleDeserialise<PartialSetAccumulator>);
188186
registerDeserialiser<PotentialSet>(simpleDeserialiseCore<PotentialSet>);
@@ -207,7 +205,6 @@ GenericItemDeserialiser::GenericItemDeserialiser()
207205
v = parser.arg3d(0);
208206
return true;
209207
});
210-
registerDeserialiser<XRayWeights>(simpleDeserialiseCore<XRayWeights>);
211208

212209
// Containers of Custom Classes
213210
registerDeserialiser<std::vector<BraggReflection>>(vectorDeserialise<BraggReflection>);

src/items/serialisers.cpp

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -112,15 +112,13 @@ GenericItemSerialiser::GenericItemSerialiser()
112112
return false;
113113
return true;
114114
});
115-
registerSerialiser<AtomTypeMix>(simpleSerialise<AtomTypeMix>);
116115
registerSerialiser<Data1D>(simpleSerialise<Data1D>);
117116
registerSerialiser<Data2D>(simpleSerialise<Data2D>);
118117
registerSerialiser<Data3D>(simpleSerialise<Data3D>);
119118
registerSerialiser<Histogram1D>(simpleSerialise<Histogram1D>);
120119
registerSerialiser<Histogram2D>(simpleSerialise<Histogram2D>);
121120
registerSerialiser<Histogram3D>(simpleSerialise<Histogram3D>);
122121
registerSerialiser<IntegerHistogram1D>(simpleSerialise<IntegerHistogram1D>);
123-
registerSerialiser<NeutronWeights>(simpleSerialise<NeutronWeights>);
124122
registerSerialiser<PartialSet>(simpleSerialise<PartialSet>);
125123
registerSerialiser<PartialSetAccumulator>(simpleSerialise<PartialSetAccumulator>);
126124
registerSerialiser<PotentialSet>(simpleSerialise<PotentialSet>);
@@ -133,7 +131,6 @@ GenericItemSerialiser::GenericItemSerialiser()
133131
const auto &v = std::any_cast<const Vector3i &>(a);
134132
return parser.writeLineF("{} {} {}\n", v.x, v.y, v.z);
135133
});
136-
registerSerialiser<XRayWeights>(simpleSerialise<XRayWeights>);
137134

138135
// Containers of Custom Classes
139136
registerSerialiser<std::vector<BraggReflection>>(vectorSerialise<BraggReflection>);

src/modules/neutronSQ/process.cpp

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -183,9 +183,8 @@ Module::ExecutionResult NeutronSQModule::process(Dissolve &dissolve)
183183
}
184184
const auto &unweightedSQ = dissolve.processingModuleData().value<PartialSet>("UnweightedSQ", sourceSQ_->name());
185185

186-
// Calculate and store weights
187-
auto &weights =
188-
dissolve.processingModuleData().realise<NeutronWeights>("FullWeights", name_, GenericItem::InRestartFileFlag);
186+
// Calculate weights
187+
NeutronWeights weights;
189188
calculateWeights(rdfModule, weights);
190189
Messenger::print("Isotopologue and isotope composition:\n\n");
191190
weights.print();

src/nodes/neutronSQ/process.cpp

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -41,11 +41,7 @@ NodeConstants::ProcessResult NeutronSQNode::process()
4141
// Get the real species populations from the input unweightedSQ
4242
auto &realSpeciesPopulations = unweightedSQ_->realSpeciesPopulations();
4343

44-
// Calculate and store weights_
45-
/*
46-
auto& weights_ = dissolve.processingModuleData().realise<NeutronWeights>("FullWeights", name(),
47-
GenericItem::InRestartFileFlag);
48-
*/
44+
// Calculate weights
4945
calculateWeights(realSpeciesPopulations);
5046
message("Isotopologue and isotope composition:\n\n");
5147
weights_.print();

0 commit comments

Comments
 (0)