KratosMultiphysics
KRATOS Multiphysics (Kratos) is a framework for building parallel, multi-disciplinary simulation software, aiming at modularity, extensibility, and high performance. Kratos is written in C++, and counts with an extensive Python interface.
Public Member Functions | List of all members
response_functions.response_function_interface.ResponseFunctionInterface Class Reference

This response function interface provides a unique interface for all possible ways to calculate the value and gradient of a response. More...

Inheritance diagram for response_functions.response_function_interface.ResponseFunctionInterface:
Collaboration diagram for response_functions.response_function_interface.ResponseFunctionInterface:

Public Member Functions

def RunCalculation (self, calculate_gradient)
 
def Initialize (self)
 
def UpdateDesign (self, updated_model_part, variable)
 
def InitializeSolutionStep (self)
 
def CalculateValue (self)
 
def CalculateGradient (self)
 
def FinalizeSolutionStep (self)
 
def Finalize (self)
 
def GetValue (self)
 
def GetNodalGradient (self, variable)
 
def GetElementalGradient (self, variable)
 
def GetConditionalGradient (self, variable)
 
def IsEvaluatedInFolder (self)
 

Detailed Description

This response function interface provides a unique interface for all possible ways to calculate the value and gradient of a response.

The interface is designed to be used in e.g. optimization, where the value and gradient of a response is required, however the exact method of gradient calculation is of secondary importance.

This might be done using e.g. adjoint sensitivity analysis capabilities of Kratos, or even a simple finite differencing method.

(Do not confuse this class with the kratos/response_functions/adjoint_response_function.h, which is an implementation detail for the adjoint sensitivity analysis in Kratos)

Member Function Documentation

◆ CalculateGradient()

def response_functions.response_function_interface.ResponseFunctionInterface.CalculateGradient (   self)

◆ CalculateValue()

def response_functions.response_function_interface.ResponseFunctionInterface.CalculateValue (   self)

◆ Finalize()

def response_functions.response_function_interface.ResponseFunctionInterface.Finalize (   self)

◆ FinalizeSolutionStep()

def response_functions.response_function_interface.ResponseFunctionInterface.FinalizeSolutionStep (   self)

◆ GetConditionalGradient()

def response_functions.response_function_interface.ResponseFunctionInterface.GetConditionalGradient (   self,
  variable 
)

◆ GetElementalGradient()

def response_functions.response_function_interface.ResponseFunctionInterface.GetElementalGradient (   self,
  variable 
)

◆ GetNodalGradient()

def response_functions.response_function_interface.ResponseFunctionInterface.GetNodalGradient (   self,
  variable 
)

◆ GetValue()

def response_functions.response_function_interface.ResponseFunctionInterface.GetValue (   self)

◆ Initialize()

def response_functions.response_function_interface.ResponseFunctionInterface.Initialize (   self)

◆ InitializeSolutionStep()

def response_functions.response_function_interface.ResponseFunctionInterface.InitializeSolutionStep (   self)

◆ IsEvaluatedInFolder()

def response_functions.response_function_interface.ResponseFunctionInterface.IsEvaluatedInFolder (   self)

◆ RunCalculation()

def response_functions.response_function_interface.ResponseFunctionInterface.RunCalculation (   self,
  calculate_gradient 
)

◆ UpdateDesign()

def response_functions.response_function_interface.ResponseFunctionInterface.UpdateDesign (   self,
  updated_model_part,
  variable 
)

The documentation for this class was generated from the following file: