Go to the documentation of this file.
63 Info <<
"Initializing fields for DASolidDisplacementFoam" << endl;
79 Info <<
"\nCalculating displacement field\n"
87 Info <<
"Iteration = " <<
runTime.value() << nl << endl;
93 volVectorField divSigmaExp = fvc::div(sigmaD - (2 *
mu +
lambda) *
gradD,
"div(sigmaD)");
97 == fvm::laplacian(2 *
mu +
lambda,
D,
"laplacian(DD,D)")
102 SolverPerformance<vector> solverD = DEqn.solve();
label checkPrimalFailure()
check whether the primal fails based on residual and regression fail flag
label loop(Time &runTime)
return whether to loop the primal solution, similar to runTime::loop() except we don't do file IO
label printToScreen_
whether to print primal information to the screen
addToRunTimeSelectionTable(DAFunction, DAFunctionForce, dictionary)
virtual label solvePrimal()
solve the primal equations
static void primalResidualControl(const SolverPerformance< scalar > &solverP, const label printToScreen, const word varName, scalar &primalMaxRes)
control when to print the residual and also compute the maxInitRes
defineTypeNameAndDebug(DAFunction, 0)
autoPtr< Time > runTimePtr_
runTime pointer
autoPtr< fvMesh > meshPtr_
fvMesh pointer
DASolidDisplacementFoam(char *argsAll, PyObject *pyOptions)
virtual void initSolver()
initialize fields and variables
void printElapsedTime(const Time &runTime, const label printToScreen)
void calcAllFunctions(label print=0)
calculate the values of all objective functions and print them to screen
autoPtr< DAGlobalVar > daGlobalVarPtr_
DAGlobalVar pointer.