Skip to content

Commit 2c3ddde

Browse files
committed
Deprecate old particle interface for particle module (#464)
1 parent a460d94 commit 2c3ddde

10 files changed

+2
-796
lines changed

src/libcadet/model/ColumnModel1D.cpp

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -188,10 +188,7 @@ bool ColumnModel1D::configureModelDiscretization(IParameterProvider& paramProvid
188188
bool particleConfSuccess = true;
189189
for (int parType = 0; parType < _disc.nParType; parType++)
190190
{
191-
if (unitName == "COLUMN_MODEL_1D")
192-
particleConfSuccess = particleConfSuccess && _particles[parType]->configureModelDiscretization(paramProvider, helper, _disc.nComp, parType, _disc.nParType, idxr.strideColComp());
193-
else
194-
particleConfSuccess = particleConfSuccess && _particles[parType]->configureModelDiscretization_old(paramProvider, helper, _disc.nComp, parType, _disc.nParType, idxr.strideColComp());
191+
particleConfSuccess = particleConfSuccess && _particles[parType]->configureModelDiscretization(paramProvider, helper, _disc.nComp, parType, _disc.nParType, idxr.strideColComp());
195192
}
196193
paramProvider.pushScope("discretization");
197194

src/libcadet/model/particle/GeneralRateParticle.cpp

Lines changed: 0 additions & 131 deletions
Original file line numberDiff line numberDiff line change
@@ -53,137 +53,6 @@ namespace model
5353
delete _parDiffOp;
5454
}
5555

56-
bool GeneralRateParticle::configureModelDiscretization_old(IParameterProvider& paramProvider, const IConfigHelper& helper, const int nComp, const int parTypeIdx, const int nParType, const int strideBulkComp)
57-
{
58-
_parTypeIdx = parTypeIdx;
59-
_nComp = nComp;
60-
61-
// ==== Construct and configure particle transport and discretization
62-
63-
paramProvider.pushScope("discretization");
64-
65-
if (paramProvider.exists("PAR_SPATIAL_METHOD"))
66-
{
67-
const std::string parSpatialMethod = paramProvider.getString("PAR_SPATIAL_METHOD");
68-
if (parSpatialMethod != "DG")
69-
throw InvalidParameterException("Unsupported PAR_SPATIAL_METHOD '" + parSpatialMethod + "' for GeneralRateParticle. Only 'DG' is supported.");
70-
71-
_parDiffOp = new parts::ParticleDiffusionOperatorDG();
72-
}
73-
else
74-
_parDiffOp = new parts::ParticleDiffusionOperatorDG();
75-
76-
paramProvider.popScope();
77-
78-
const bool particleTransportConfigSuccess = _parDiffOp->configureModelDiscretization_old(paramProvider, helper, nComp, parTypeIdx, nParType, strideBulkComp);
79-
80-
_nBound = _parDiffOp->nBound();
81-
82-
// ==== Construct and configure binding model
83-
_binding = nullptr;
84-
std::vector<std::string> bindModelNames = { "NONE" };
85-
if (paramProvider.exists("ADSORPTION_MODEL"))
86-
bindModelNames = paramProvider.getStringArray("ADSORPTION_MODEL");
87-
88-
if (paramProvider.exists("ADSORPTION_MODEL_MULTIPLEX"))
89-
_bindingParDep = (paramProvider.getInt("ADSORPTION_MODEL_MULTIPLEX") == 1);
90-
else
91-
{
92-
// Infer multiplex mode
93-
_bindingParDep = (bindModelNames.size() == 1);
94-
}
95-
96-
if (!_bindingParDep && (bindModelNames.size() < nParType))
97-
throw InvalidParameterException("Field ADSORPTION_MODEL contains too few elements (" + std::to_string(nParType) + " required)");
98-
else if (_bindingParDep && (bindModelNames.size() != 1))
99-
throw InvalidParameterException("Field ADSORPTION_MODEL requires (only) 1 element");
100-
101-
bool bindingConfSuccess = true;
102-
103-
_binding = helper.createBindingModel(bindModelNames[_bindingParDep ? 0 : _parTypeIdx]);
104-
if (!_binding)
105-
throw InvalidParameterException("Unknown binding model " + bindModelNames[_bindingParDep ? 0 : _parTypeIdx]);
106-
107-
MultiplexedScopeSelector scopeGuard(paramProvider, "adsorption", _bindingParDep, _parTypeIdx, nParType == 1, _binding->usesParamProviderInDiscretizationConfig());
108-
bindingConfSuccess = _binding->configureModelDiscretization(paramProvider, _nComp, _nBound.get(), _parDiffOp->offsetBoundComp());
109-
110-
// ==== Construct and configure dynamic reaction model
111-
bool reactionConfSuccess = true;
112-
113-
_dynReaction = nullptr;
114-
115-
if (paramProvider.exists("REACTION_MODEL_PARTICLES"))
116-
{
117-
const std::vector<std::string> dynReactModelNames = paramProvider.getStringArray("REACTION_MODEL_PARTICLES");
118-
119-
if (paramProvider.exists("REACTION_MODEL_PARTICLES_MULTIPLEX"))
120-
_reactionParDep = (paramProvider.getInt("REACTION_MODEL_PARTICLES_MULTIPLEX") == 1);
121-
else
122-
{
123-
// Infer multiplex mode
124-
_reactionParDep = (dynReactModelNames.size() == 1);
125-
}
126-
127-
if (!_reactionParDep && (dynReactModelNames.size() < nParType))
128-
throw InvalidParameterException("Field REACTION_MODEL_PARTICLES contains too few elements (" + std::to_string(nParType) + " required)");
129-
else if (_reactionParDep && (dynReactModelNames.size() != 1))
130-
throw InvalidParameterException("Field REACTION_MODEL_PARTICLES requires (only) 1 element");
131-
132-
_dynReaction = helper.createDynamicReactionModel(dynReactModelNames[_reactionParDep ? 0 : _parTypeIdx]);
133-
134-
if (!_dynReaction)
135-
throw InvalidParameterException("Unknown dynamic reaction model " + dynReactModelNames[_reactionParDep ? 0 : _parTypeIdx]);
136-
137-
MultiplexedScopeSelector scopeGuard(paramProvider, "reaction_particle", _reactionParDep, _parTypeIdx, nParType == 1, _dynReaction->usesParamProviderInDiscretizationConfig());
138-
reactionConfSuccess = _dynReaction->configureModelDiscretization(paramProvider, _nComp, _nBound.get(), _parDiffOp->offsetBoundComp()) && reactionConfSuccess;
139-
}
140-
141-
return particleTransportConfigSuccess && bindingConfSuccess && reactionConfSuccess;
142-
}
143-
144-
bool GeneralRateParticle::configure_old(UnitOpIdx unitOpIdx, IParameterProvider& paramProvider, std::unordered_map<ParameterId, active*>& parameters, const int nParType, const unsigned int* nBoundBeforeType, const int nTotalBound)
145-
{
146-
// Reconfigure binding model
147-
bool bindingConfSuccess = true;
148-
if (_binding)
149-
{
150-
if (_binding->requiresConfiguration())
151-
{
152-
if (_bindingParDep)
153-
{
154-
MultiplexedScopeSelector scopeGuard(paramProvider, "adsorption", true);
155-
bindingConfSuccess = _binding->configure(paramProvider, unitOpIdx, ParTypeIndep);
156-
}
157-
else
158-
{
159-
MultiplexedScopeSelector scopeGuard(paramProvider, "adsorption", _parTypeIdx, nParType == 1, true);
160-
bindingConfSuccess = _binding->configure(paramProvider, unitOpIdx, _parTypeIdx);
161-
}
162-
}
163-
}
164-
165-
// Reconfigure reaction model
166-
bool dynReactionConfSuccess = true;
167-
if (_dynReaction && _dynReaction->requiresConfiguration())
168-
{
169-
if (_reactionParDep)
170-
{
171-
MultiplexedScopeSelector scopeGuard(paramProvider, "reaction_particle", true);
172-
dynReactionConfSuccess = _dynReaction->configure(paramProvider, unitOpIdx, ParTypeIndep) && dynReactionConfSuccess;
173-
}
174-
else
175-
{
176-
MultiplexedScopeSelector scopeGuard(paramProvider, "reaction_particle", _parTypeIdx, nParType == 1, true);
177-
dynReactionConfSuccess = _dynReaction->configure(paramProvider, unitOpIdx, _parTypeIdx) && dynReactionConfSuccess;
178-
}
179-
}
180-
181-
// Reconfigure particle transport and discretization
182-
const bool parTransportConfigSuccess = _parDiffOp->configure_old(unitOpIdx, paramProvider, parameters, nParType, nBoundBeforeType, nTotalBound, _binding->reactionQuasiStationarity(), _binding->hasDynamicReactions());
183-
184-
return parTransportConfigSuccess && bindingConfSuccess && dynReactionConfSuccess;
185-
}
186-
18756
bool GeneralRateParticle::configureModelDiscretization(IParameterProvider& paramProvider, const IConfigHelper& helper, const int nComp, const int parTypeIdx, const int nParType, const int strideBulkComp)
18857
{
18958
_parTypeIdx = parTypeIdx;

src/libcadet/model/particle/GeneralRateParticle.hpp

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -89,8 +89,6 @@ namespace parts
8989

9090
bool configureModelDiscretization(IParameterProvider& paramProvider, const IConfigHelper& helper, const int nComp, const int parTypeIdx, const int nParType, const int strideBulkComp) override;
9191
bool configure(UnitOpIdx unitOpIdx, IParameterProvider& paramProvider, std::unordered_map<ParameterId, active*>& parameters, const int nParType, const unsigned int* nBoundBeforeType, const int nTotalBound) override;
92-
bool configureModelDiscretization_old(IParameterProvider& paramProvider, const IConfigHelper& helper, const int nComp, const int parTypeIdx, const int nParType, const int strideBulkComp) override;
93-
bool configure_old(UnitOpIdx unitOpIdx, IParameterProvider& paramProvider, std::unordered_map<ParameterId, active*>& parameters, const int nParType, const unsigned int* nBoundBeforeType, const int nTotalBound) override;
9492

9593
void updateRadialDisc() { _parDiffOp->updateRadialDisc(); }
9694

0 commit comments

Comments
 (0)