updated comments for two-point control methods

This commit is contained in:
Christopher Neal 2024-04-11 20:21:04 -04:00 committed by Ray Speth
parent e044cba6c4
commit 647e337321
2 changed files with 39 additions and 41 deletions

View File

@ -195,15 +195,15 @@ public:
//! Return location of the point where temperature is fixed //! Return location of the point where temperature is fixed
double fixedTemperatureLocation(); double fixedTemperatureLocation();
//! ------ One and Two-Point flame control methods //! Two-Point flame control method
//! Set the left control point location. This is used for two //! Sets the left control point location. This is used when
//! point flame control. //! two-point flame control is active.
void setLeftControlPoint(double temperature); void setLeftControlPoint(double temperature);
//! Set the right control point location. This is used for two //! Two-Point flame control method
//! point flame control. //! Sets the right control point location. This is used when
//! two-point flame control is active.
void setRightControlPoint(double temperature); void setRightControlPoint(double temperature);
//! -------------------
/** /**
* Set grid refinement criteria. If dom >= 0, then the settings * Set grid refinement criteria. If dom >= 0, then the settings

View File

@ -255,78 +255,78 @@ public:
void fixTemperature(size_t j=npos); void fixTemperature(size_t j=npos);
//! ------- Two-Point control method /** Two-Point control method(approach)
//! In this method there are control points that are designated in a domain, and * In this method two control points are designated in the 1D domain, and
//! the value of the solution at these points is fixed. The values of the control * the value of the temperature at these points is fixed. The values of the control
//! points are dictated and thus serve as a boundary condition that affects the * points are imposed and thus serve as a boundary condition that affects the
//! solution of the governing equations in the 1D domain. The imposition of fixed * solution of the governing equations in the 1D domain. The imposition of fixed
//! points in the domain means that the original set of governing equations' boundary * points in the domain means that the original set of governing equations' boundary
//! conditions would over-specify the problem. Thus, the boundary conditions are changed * conditions would over-determine the problem. Thus, the boundary conditions are changed
//! to reflect the fact that the control points are serving as internal boundary conditions. * to reflect the fact that the control points are serving as internal boundary conditions.
//! *
//! In this method, the imposition of the two internal boundary conditions requires that two other * The imposition of the two internal boundary conditions requires that two other
//! boundary conditions be changed. The first is the boundary condition for the continuity equation * boundary conditions be changed. The first is the boundary condition for the continuity equation
//! at the left boundary, which is changed to be a value that is derived from the solution at the * at the left boundary, which is changed to be a value that is derived from the solution at the
//! left boundary. The second is the continuity boundary condition at the right boundary, which is * left boundary. The second is the continuity boundary condition at the right boundary, which is
//! also determined from the flow solution by using the oxidizer axial velocity equation variable to * also determined from the flow solution by using the oxidizer axial velocity equation variable to
//! compute the mass flux at the right boundary. * compute the mass flux at the right boundary.
//! *
//! This method is based on the work of M. Nishioka, C.K. Law, and T. Takeno (1996) titled * This method is based on the work of M. Nishioka, C.K. Law, and T. Takeno (1996) titled
//! "A Flame-Controlling Continuation Method for Generating S-Curve Responses with * "A Flame-Controlling Continuation Method for Generating S-Curve Responses with
//! Detailed Chemistry" * Detailed Chemistry"
**/
//! The current left control point temperature //! Returns the temperature at the left control point
double leftControlPointTemperature() const { double leftControlPointTemperature() const {
if (m_twoPointControl && (m_zLeft != Undef)) { if (m_twoPointControl && (m_zLeft != Undef)) {
return m_tLeft; return m_tLeft;
} }
} }
//! The current left control point spatial coordinate //! Returns the z-coordinate of the left control point
double leftControlPointCoordinate() const { double leftControlPointCoordinate() const {
if (m_twoPointControl && (m_zLeft != Undef)) { if (m_twoPointControl && (m_zLeft != Undef)) {
return m_zLeft; return m_zLeft;
} }
} }
//! Set the temperature of the left control point //! Sets the temperature of the left control point
void setLeftControlPointTemperature(double temperature) { void setLeftControlPointTemperature(double temperature) {
if (m_twoPointControl && (m_zLeft != Undef)) { if (m_twoPointControl && (m_zLeft != Undef)) {
m_tLeft = temperature; m_tLeft = temperature;
} }
} }
//! The current right control point temperature //! Returns the temperature at the right control point
double rightControlPointTemperature() const { double rightControlPointTemperature() const {
if (m_twoPointControl && (m_zRight != Undef)) { if (m_twoPointControl && (m_zRight != Undef)) {
return m_tRight; return m_tRight;
} }
} }
//! The current right control point spatial coordinate //! Returns the z-coordinate of the right control point
double rightControlPointCoordinate() const { double rightControlPointCoordinate() const {
if (m_twoPointControl && (m_zRight != Undef)) { if (m_twoPointControl && (m_zRight != Undef)) {
return m_zRight; return m_zRight;
} }
} }
//! Set the temperature of the right control point //! Sets the temperature of the right control point
void setRightControlPointTemperature(double temperature) { void setRightControlPointTemperature(double temperature) {
if (m_twoPointControl && (m_zRight != Undef)) { if (m_twoPointControl && (m_zRight != Undef)) {
m_tRight = temperature; m_tRight = temperature;
} }
} }
//! Set the status of the two-point control //! Sets the status of the two-point control
void enableTwoPointControl(bool twoPointControl) { void enableTwoPointControl(bool twoPointControl) {
m_twoPointControl = twoPointControl; m_twoPointControl = twoPointControl;
} }
//! get the status of the two-point control //! Returns the status of the two-point control
bool twoPointControlEnabled() const { bool twoPointControlEnabled() const {
return m_twoPointControl; return m_twoPointControl;
} }
//! -------------------
bool doEnergy(size_t j) { bool doEnergy(size_t j) {
return m_do_energy[j]; return m_do_energy[j];
@ -783,7 +783,7 @@ protected:
//! to `j1`, based on solution `x`. //! to `j1`, based on solution `x`.
virtual void updateTransport(double* x, size_t j0, size_t j1); virtual void updateTransport(double* x, size_t j0, size_t j1);
//! Flags for two-point flame control //! Flag for activating two-point flame control
bool m_twoPointControl = false; bool m_twoPointControl = false;
public: public:
@ -793,19 +793,17 @@ public:
//! Temperature at the point used to fix the flame location //! Temperature at the point used to fix the flame location
double m_tfixed = -1.0; double m_tfixed = -1.0;
//! --- One and two-point flame control values //! Two-point control: Location of the left control point
//! Location of the left control point
double m_zLeft = Undef; double m_zLeft = Undef;
//! Temperature of the left control point //! Two-point control: Temperature of the left control point
double m_tLeft = Undef; double m_tLeft = Undef;
//! Location of the right control point //! Two-point control: Location of the right control point
double m_zRight = Undef; double m_zRight = Undef;
//! Temperature of the right control point //! Two-point control: Temperature of the right control point
double m_tRight = Undef; double m_tRight = Undef;
//! ------------- //! -------------