102 GCMMA(
const GCMMA&) =
delete;
105 void operator=(
const GCMMA&) =
delete;
126 virtual ~GCMMA() =
default;
virtual bool converged()
Check whether linear search has converged.
virtual void updateStep()
Actually computes a new direction entirely, targeting the satisfaction of the GCMMA condition.
OFstream GCMMAFile_
File with rho values in each inner loop.
void writeToFiles(bool isConverged)
Write rho and objective/constraint values & approx to files.
virtual void updateCorrection(scalarField &correction)
Replace the correction with the one computed in updateStep.
TypeName("GCMMA")
Runtime type information.
MMA & mma_
Cast of the update method to MMA.
OFstream costFile_
File with CPU cost in each inner loop.
label cost_
Total cost, measured in Equivalent Flow Solutions, up to this cycle.
bool writeHeader_
Write the header of the output files.
Update design variables using the Method of Moving Assymptotes. Can handle inequality constraints.
Output to file stream as an OSstream, normally using std::ofstream for the actual output.
Class to control time during OpenFOAM simulations that is also the top-level objectRegistry.
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
Abstract base class for optimisation methods.
Field< scalar > scalarField
Specialisation of Field<T> for scalar.
tmp< fvMatrix< Type > > correction(const fvMatrix< Type > &)
Return the correction form of the given matrix by subtracting the matrix multiplied by the current fi...
#define TypeName(TypeNameString)
Declare a ClassName() with extra virtual type info.