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 | Public Attributes | List of all members
response_functions.packaging_response_base.PackagingResponseBase Class Reference

A base class for packaging response functions that agglomerate the nodal violations into a single response function. More...

Inheritance diagram for response_functions.packaging_response_base.PackagingResponseBase:
Collaboration diagram for response_functions.packaging_response_base.PackagingResponseBase:

Public Member Functions

def __init__ (self, identifier, response_settings, model)
 
def GetDefaultParameters (cls)
 
def Initialize (self)
 
def InitializeSolutionStep (self)
 
def CalculateValue (self)
 
def CalculateGradient (self)
 
def GetValue (self)
 
def GetNodalGradient (self, variable)
 

Public Attributes

 identifier
 
 response_settings
 
 model
 
 model_part
 
 signed_distances
 
 directions
 
 value
 
 gradient
 
 feasible_in_normal_direction
 
 exponent
 

Detailed Description

A base class for packaging response functions that agglomerate the nodal violations into a single response function.

The agglomeration happens by summing up the square of each nodal violation. Nodes that are feasible do NOT contribute to the response value/gradient. This is why a prediction of the violation using the gradients is not possible, only correction of violations (e.g. from the last step) will happen.

Derived classes need to implement the calculation of the nodal violations

Important settings: feasible_in_normal_direction : boolean flag that indicates if the normal of bounding instance points to the feasible side. True by default

Constructor & Destructor Documentation

◆ __init__()

def response_functions.packaging_response_base.PackagingResponseBase.__init__ (   self,
  identifier,
  response_settings,
  model 
)

Member Function Documentation

◆ CalculateGradient()

def response_functions.packaging_response_base.PackagingResponseBase.CalculateGradient (   self)

◆ CalculateValue()

def response_functions.packaging_response_base.PackagingResponseBase.CalculateValue (   self)

◆ GetDefaultParameters()

def response_functions.packaging_response_base.PackagingResponseBase.GetDefaultParameters (   cls)

◆ GetNodalGradient()

def response_functions.packaging_response_base.PackagingResponseBase.GetNodalGradient (   self,
  variable 
)

◆ GetValue()

def response_functions.packaging_response_base.PackagingResponseBase.GetValue (   self)

◆ Initialize()

def response_functions.packaging_response_base.PackagingResponseBase.Initialize (   self)

◆ InitializeSolutionStep()

def response_functions.packaging_response_base.PackagingResponseBase.InitializeSolutionStep (   self)

Member Data Documentation

◆ directions

response_functions.packaging_response_base.PackagingResponseBase.directions

◆ exponent

response_functions.packaging_response_base.PackagingResponseBase.exponent

◆ feasible_in_normal_direction

response_functions.packaging_response_base.PackagingResponseBase.feasible_in_normal_direction

◆ gradient

response_functions.packaging_response_base.PackagingResponseBase.gradient

◆ identifier

response_functions.packaging_response_base.PackagingResponseBase.identifier

◆ model

response_functions.packaging_response_base.PackagingResponseBase.model

◆ model_part

response_functions.packaging_response_base.PackagingResponseBase.model_part

◆ response_settings

response_functions.packaging_response_base.PackagingResponseBase.response_settings

◆ signed_distances

response_functions.packaging_response_base.PackagingResponseBase.signed_distances

◆ value

response_functions.packaging_response_base.PackagingResponseBase.value

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