def __init__(self, model, custom_settings): ## Settings string in json format contact_settings = auxiliar_methods_solvers.AuxiliarContactSettings() ## Overwrite the default settings with user-provided parameters self.settings = custom_settings self.validate_and_transfer_matching_settings(self.settings, contact_settings) self.contact_settings = contact_settings["contact_settings"] # Linear solver settings if self.settings.Has("linear_solver_settings"): self.linear_solver_settings = self.settings[ "linear_solver_settings"] else: self.linear_solver_settings = KM.Parameters("""{}""") # Construct the base solver. super(ContactStaticMechanicalSolver, self).__init__(model, self.settings) # Setting default configurations true by default auxiliar_methods_solvers.AuxiliarSetSettings(self.settings, self.contact_settings) # Setting echo level self.echo_level = self.settings["echo_level"].GetInt() # Initialize the processes list self.processes_list = None # Initialize the post process self.post_process = None KM.Logger.PrintInfo( "::[Contact Mechanical Static Solver]:: ", "Construction of ContactMechanicalSolver finished")
def GetDefaultSettings(cls): this_defaults = auxiliar_methods_solvers.AuxiliarContactSettings() this_defaults.RecursivelyAddMissingParameters( super(ContactStaticMechanicalSolver, cls).GetDefaultSettings()) return this_defaults