Skip to content

Commit

Permalink
Use override on 1D classes
Browse files Browse the repository at this point in the history
  • Loading branch information
speth committed Aug 15, 2023
1 parent a4be492 commit cef19a9
Show file tree
Hide file tree
Showing 4 changed files with 92 additions and 102 deletions.
124 changes: 58 additions & 66 deletions include/cantera/oneD/Boundary1D.h
Expand Up @@ -41,15 +41,15 @@ class Boundary1D : public Domain1D
public:
Boundary1D();

virtual void init() {
void init() override {
_init(1);
}

virtual string type() const {
string type() const override {
return "boundary";
}

virtual bool isConnector() {
bool isConnector() override {
return true;
}

Expand Down Expand Up @@ -102,9 +102,9 @@ class Boundary1D : public Domain1D
return m_mdot;
}

virtual void setupGrid(size_t n, const double* z) {}
void setupGrid(size_t n, const double* z) override {}

virtual void fromArray(SolutionArray& arr, double* soln);
void fromArray(SolutionArray& arr, double* soln) override;

protected:
void _init(size_t n);
Expand Down Expand Up @@ -142,33 +142,31 @@ class Inlet1D : public Boundary1D

Inlet1D(shared_ptr<Solution> solution, const string& id="");

virtual string type() const {
string type() const override {
return "inlet";
}

virtual void setSpreadRate(double V0);
void setSpreadRate(double V0) override;

virtual double spreadRate() {
double spreadRate() override {
return m_V0;
}

virtual void show(const double* x);
void show(const double* x) override;

virtual size_t nSpecies() {
size_t nSpecies() override {
return m_nsp;
}

virtual void setMoleFractions(const string& xin);
virtual void setMoleFractions(const double* xin);
virtual double massFraction(size_t k) {
void setMoleFractions(const string& xin) override;
void setMoleFractions(const double* xin) override;
double massFraction(size_t k) override {
return m_yin[k];
}

virtual void init();
virtual void eval(size_t jg, double* xg, double* rg,
integer* diagg, double rdt);
virtual shared_ptr<SolutionArray> asArray(const double* soln) const;
virtual void fromArray(SolutionArray& arr, double* soln);
void init() override;
void eval(size_t jg, double* xg, double* rg, integer* diagg, double rdt) override;
shared_ptr<SolutionArray> asArray(const double* soln) const override;
void fromArray(SolutionArray& arr, double* soln) override;

protected:
int m_ilr;
Expand All @@ -194,18 +192,17 @@ class Empty1D : public Boundary1D
m_id = id;
}

virtual string type() const {
string type() const override {
return "empty";
}

virtual void show(const double* x) {}
void show(const double* x) override {}

virtual void init();
void init() override;

virtual void eval(size_t jg, double* xg, double* rg,
integer* diagg, double rdt);
void eval(size_t jg, double* xg, double* rg, integer* diagg, double rdt) override;

virtual shared_ptr<SolutionArray> asArray(const double* soln) const;
shared_ptr<SolutionArray> asArray(const double* soln) const override;
};

/**
Expand All @@ -224,16 +221,15 @@ class Symm1D : public Boundary1D
m_id = id;
}

virtual string type() const {
string type() const override {
return "symmetry-plane";
}

virtual void init();
void init() override;

virtual void eval(size_t jg, double* xg, double* rg,
integer* diagg, double rdt);
void eval(size_t jg, double* xg, double* rg, integer* diagg, double rdt) override;

virtual shared_ptr<SolutionArray> asArray(const double* soln) const;
shared_ptr<SolutionArray> asArray(const double* soln) const override;
};


Expand All @@ -253,16 +249,15 @@ class Outlet1D : public Boundary1D
m_id = id;
}

virtual string type() const {
string type() const override {
return "outlet";
}

virtual void init();
void init() override;

virtual void eval(size_t jg, double* xg, double* rg,
integer* diagg, double rdt);
void eval(size_t jg, double* xg, double* rg, integer* diagg, double rdt) override;

virtual shared_ptr<SolutionArray> asArray(const double* soln) const;
shared_ptr<SolutionArray> asArray(const double* soln) const override;
};


Expand All @@ -277,27 +272,26 @@ class OutletRes1D : public Boundary1D

OutletRes1D(shared_ptr<Solution> solution, const string& id="");

virtual string type() const {
string type() const override {
return "outlet-reservoir";
}

virtual void show(const double* x) {}
void show(const double* x) override {}

virtual size_t nSpecies() {
size_t nSpecies() override {
return m_nsp;
}

virtual void setMoleFractions(const string& xin);
virtual void setMoleFractions(const double* xin);
virtual double massFraction(size_t k) {
void setMoleFractions(const string& xin) override;
void setMoleFractions(const double* xin) override;
double massFraction(size_t k) override {
return m_yres[k];
}

virtual void init();
virtual void eval(size_t jg, double* xg, double* rg,
integer* diagg, double rdt);
virtual shared_ptr<SolutionArray> asArray(const double* soln) const;
virtual void fromArray(SolutionArray& arr, double* soln);
void init() override;
void eval(size_t jg, double* xg, double* rg, integer* diagg, double rdt) override;
shared_ptr<SolutionArray> asArray(const double* soln) const override;
void fromArray(SolutionArray& arr, double* soln) override;

protected:
size_t m_nsp = 0;
Expand All @@ -323,21 +317,20 @@ class Surf1D : public Boundary1D
m_id = id;
}

virtual string type() const {
string type() const override {
return "surface";
}

virtual void init();
void init() override;

virtual void eval(size_t jg, double* xg, double* rg,
integer* diagg, double rdt);
void eval(size_t jg, double* xg, double* rg, integer* diagg, double rdt) override;

virtual shared_ptr<SolutionArray> asArray(const double* soln) const;
virtual void fromArray(SolutionArray& arr, double* soln);
shared_ptr<SolutionArray> asArray(const double* soln) const override;
void fromArray(SolutionArray& arr, double* soln) override;

virtual void show(std::ostream& s, const double* x);
void show(std::ostream& s, const double* x) override;

virtual void show(const double* x);
void show(const double* x) override;
};

/**
Expand All @@ -349,11 +342,11 @@ class ReactingSurf1D : public Boundary1D
ReactingSurf1D();
ReactingSurf1D(shared_ptr<Solution> solution, const string& id="");

virtual string type() const {
string type() const override {
return "reacting-surface";
}

virtual void setKinetics(shared_ptr<Kinetics> kin);
void setKinetics(shared_ptr<Kinetics> kin) override;

//! @deprecated To be removed after %Cantera 3.0; replaced by setKinetics()
void setKineticsMgr(InterfaceKinetics* kin);
Expand All @@ -366,26 +359,25 @@ class ReactingSurf1D : public Boundary1D
return m_enabled;
}

virtual string componentName(size_t n) const;
string componentName(size_t n) const override;

virtual void init();
virtual void resetBadValues(double* xg);
void init() override;
void resetBadValues(double* xg) override;

virtual void eval(size_t jg, double* xg, double* rg,
integer* diagg, double rdt);
void eval(size_t jg, double* xg, double* rg, integer* diagg, double rdt) override;

virtual shared_ptr<SolutionArray> asArray(const double* soln) const;
virtual void fromArray(SolutionArray& arr, double* soln);
shared_ptr<SolutionArray> asArray(const double* soln) const override;
void fromArray(SolutionArray& arr, double* soln) override;

virtual void _getInitialSoln(double* x) {
void _getInitialSoln(double* x) override {
m_sphase->getCoverages(x);
}

virtual void _finalize(const double* x) {
void _finalize(const double* x) override {
std::copy(x, x+m_nsp, m_fixed_cov.begin());
}

virtual void show(const double* x);
void show(const double* x) override;

protected:
InterfaceKinetics* m_kin = nullptr;
Expand Down
30 changes: 15 additions & 15 deletions include/cantera/oneD/IonFlow.h
Expand Up @@ -40,21 +40,21 @@ class IonFlow : public StFlow
//! @param points initial number of grid points
IonFlow(shared_ptr<Solution> sol, const string& id="", size_t points = 1);

virtual string type() const;
string type() const override;

virtual size_t getSolvingStage() const {
size_t getSolvingStage() const override {
return m_stage;
}
virtual void setSolvingStage(const size_t stage);
void setSolvingStage(const size_t stage) override;

virtual void resize(size_t components, size_t points);
virtual bool componentActive(size_t n) const;
void resize(size_t components, size_t points) override;
bool componentActive(size_t n) const override;

virtual void _finalize(const double* x);
void _finalize(const double* x) override;

virtual void solveElectricField(size_t j=npos);
virtual void fixElectricField(size_t j=npos);
virtual bool doElectricField(size_t j) const {
void solveElectricField(size_t j=npos) override;
void fixElectricField(size_t j=npos) override;
bool doElectricField(size_t j) const override {
return m_do_electric_field[j];
}

Expand All @@ -78,15 +78,15 @@ class IonFlow : public StFlow
* This function overloads the original function. The residual function
* of electric field is added.
*/
virtual void evalResidual(double* x, double* rsd, int* diag,
double rdt, size_t jmin, size_t jmax);
virtual void updateTransport(double* x, size_t j0, size_t j1);
virtual void updateDiffFluxes(const double* x, size_t j0, size_t j1);
void evalResidual(double* x, double* rsd, int* diag,
double rdt, size_t jmin, size_t jmax) override;
void updateTransport(double* x, size_t j0, size_t j1) override;
void updateDiffFluxes(const double* x, size_t j0, size_t j1) override;
//! Solving phase one: the fluxes of charged species are turned off
virtual void frozenIonMethod(const double* x, size_t j0, size_t j1);
void frozenIonMethod(const double* x, size_t j0, size_t j1);
//! Solving phase two: the electric field equation is added coupled
//! by the electrical drift
virtual void electricFieldMethod(const double* x, size_t j0, size_t j1);
void electricFieldMethod(const double* x, size_t j0, size_t j1);
//! flag for solving electric field or not
vector<bool> m_do_electric_field;

Expand Down
2 changes: 1 addition & 1 deletion include/cantera/oneD/Sim1D.h
Expand Up @@ -333,7 +333,7 @@ class Sim1D : public OneDim
*/
void solveAdjoint(const double* b, double* lambda);

virtual void resize();
void resize() override;

//! Set a function that will be called after each successful steady-state
//! solve, before regridding. Intended to be used for observing solver
Expand Down

0 comments on commit cef19a9

Please sign in to comment.