Introduction
Response function is used to compute the objective/constraint values and their respective gradients. It purely lives within the physical space, hence all the computed values will be in the physical space.
Notes
- It will have methods to compute gradients for variables as requested. If a variable is requested, and the gradient computation is not implemented, then it should throw an error.
- ResponseFunction should implement all the variables it depends on. If something is hard to be implemented at the moment of the
ResponseFunctiondevelopment, then put that variable and throw and error saying not yet implemented. ResponseFunctionmay or may not useExecutionPolicies. If it required to have an primal analysis, it must useExecutionPolicyto obtain the primal analysis. In this caseResponseFunction. In this case, theResponseFunction::GetEvaluatedModelPartwill be the domain on which the response is evaluated on andResponseFunction::GetAnalysisModelPartwill be the domain on which the adjoints may be computed [If no adjoints are used, this method returns None].