def __init__(self, Model, settings ): KratosMultiphysics.Process.__init__(self) model_part = Model[settings["model_part_name"].GetString()] params = KratosMultiphysics.Parameters("{}") params.AddValue("model_part_name",settings["model_part_name"]) params.AddValue("variable_name",settings["variable_name"]) if settings.Has("is_fixed"): params.AddValue("is_fixed",settings["is_fixed"]) if settings.Has("hydrostatic"): if settings["hydrostatic"].GetBool() == False: params.AddValue("value",settings["value"]) if settings["table"].GetInt() == 0: self.process = KratosMultiphysics.ApplyConstantScalarValueProcess(model_part, params) else: params.AddValue("table",settings["table"]) self.process = KratosPoro.ApplyDoubleTableProcess(model_part, params) else: params.AddValue("gravity_direction",settings["gravity_direction"]) params.AddValue("reference_coordinate",settings["reference_coordinate"]) params.AddValue("specific_weight",settings["specific_weight"]) if settings["table"].GetInt() == 0: self.process = KratosPoro.ApplyConstantHydrostaticPressureProcess(model_part, params) else: params.AddValue("table",settings["table"]) self.process = KratosPoro.ApplyHydrostaticPressureTableProcess(model_part, params) else: params.AddValue("value",settings["value"]) if settings["table"].GetInt() == 0: self.process = KratosMultiphysics.ApplyConstantScalarValueProcess(model_part, params) else: params.AddValue("table",settings["table"]) self.process = KratosPoro.ApplyDoubleTableProcess(model_part, params)
def __init__(self, Model, settings ): KratosMultiphysics.Process.__init__(self) model_part = Model[settings["model_part_name"].GetString()] variable_name = settings["variable_name"].GetString() # Auxiliar x-component parameters creation x_params = KratosMultiphysics.Parameters("{}") x_params.AddValue("model_part_name",settings["model_part_name"]) x_params.AddValue("mesh_id",settings["mesh_id"]) x_params.AddValue("is_fixed",settings["is_fixed_x"]) x_params.AddValue("value",settings["value"][0]) x_params.AddEmptyValue("variable_name").SetString(variable_name+"_X") self.x_component_process = KratosMultiphysics.ApplyConstantScalarValueProcess(model_part, x_params) # Auxiliar y-component parameters creation y_params = KratosMultiphysics.Parameters("{}") y_params.AddValue("model_part_name",settings["model_part_name"]) y_params.AddValue("mesh_id",settings["mesh_id"]) y_params.AddValue("is_fixed",settings["is_fixed_y"]) y_params.AddValue("value",settings["value"][1]) y_params.AddEmptyValue("variable_name").SetString(variable_name+"_Y") self.y_component_process = KratosMultiphysics.ApplyConstantScalarValueProcess(model_part, y_params) # Auxiliar x-component parameters creation z_params = KratosMultiphysics.Parameters("{}") z_params.AddValue("model_part_name",settings["model_part_name"]) z_params.AddValue("mesh_id",settings["mesh_id"]) z_params.AddValue("is_fixed",settings["is_fixed_z"]) z_params.AddValue("value",settings["value"][2]) z_params.AddEmptyValue("variable_name").SetString(variable_name+"_Z") self.z_component_process = KratosMultiphysics.ApplyConstantScalarValueProcess(model_part, z_params)
def __init__(self, Model, settings): KratosMultiphysics.Process.__init__(self) model_part = Model[settings["model_part_name"].GetString()] self.components_process_list = [] if settings["active"][0].GetBool() == True: normal_params = KratosMultiphysics.Parameters("{}") normal_params.AddValue("model_part_name", settings["model_part_name"]) normal_params.AddValue("mesh_id", settings["mesh_id"]) normal_params.AddValue("variable_name", settings["variable_name"]) if settings["hydrostatic"].GetBool() == False: normal_params.AddValue("value", settings["value"][0]) if settings["table"][0].GetInt() == 0: self.components_process_list.append( KratosMultiphysics.ApplyConstantScalarValueProcess( model_part, normal_params)) else: normal_params.AddValue("table", settings["table"][0]) self.components_process_list.append( KratosPoro.ApplyDoubleTableProcess( model_part, normal_params)) else: normal_params.AddValue("gravity_direction", settings["gravity_direction"]) normal_params.AddValue("reference_coordinate", settings["reference_coordinate"]) normal_params.AddValue("specific_weight", settings["specific_weight"]) if settings["table"][0].GetInt() == 0: self.components_process_list.append( KratosPoro.ApplyConstantHydrostaticPressureProcess( model_part, normal_params)) else: normal_params.AddValue("table", settings["table"][0]) self.components_process_list.append( KratosPoro.ApplyHydrostaticPressureTableProcess( model_part, normal_params)) if settings["active"][1].GetBool() == True: tangential_params = KratosMultiphysics.Parameters("{}") tangential_params.AddValue("model_part_name", settings["model_part_name"]) tangential_params.AddValue("mesh_id", settings["mesh_id"]) tangential_params.AddEmptyValue("variable_name").SetString( "TANGENTIAL_CONTACT_STRESS") # Note: this is not general tangential_params.AddValue("value", settings["value"][1]) if settings["table"][1].GetInt() == 0: self.components_process_list.append( KratosMultiphysics.ApplyConstantScalarValueProcess( model_part, tangential_params)) else: tangential_params.AddValue("table", settings["table"][1]) self.components_process_list.append( KratosPoro.ApplyDoubleTableProcess(model_part, tangential_params))
def __init__(self, Model, settings ): KratosMultiphysics.Process.__init__(self) model_part = Model[settings["model_part_name"].GetString()] variable_name = settings["variable_name"].GetString() self.components_process_list = [] if settings["active"][0].GetBool() == True: x_params = KratosMultiphysics.Parameters("{}") x_params.AddValue("model_part_name",settings["model_part_name"]) if settings.Has("is_fixed"): x_params.AddValue("is_fixed",settings["is_fixed"][0]) x_params.AddValue("value",settings["value"][0]) x_params.AddEmptyValue("variable_name").SetString(variable_name+"_X") if settings["table"][0].GetInt() == 0: self.components_process_list.append(KratosMultiphysics.ApplyConstantScalarValueProcess(model_part, x_params)) else: x_params.AddValue("table",settings["table"][0]) self.components_process_list.append(KratosFemDem.ApplyComponentTableProcess(model_part, x_params)) if settings["active"][1].GetBool() == True: y_params = KratosMultiphysics.Parameters("{}") y_params.AddValue("model_part_name",settings["model_part_name"]) if settings.Has("is_fixed"): y_params.AddValue("is_fixed",settings["is_fixed"][1]) y_params.AddValue("value",settings["value"][1]) y_params.AddEmptyValue("variable_name").SetString(variable_name+"_Y") if settings["table"][1].GetInt() == 0: self.components_process_list.append(KratosMultiphysics.ApplyConstantScalarValueProcess(model_part, y_params)) else: y_params.AddValue("table",settings["table"][1]) self.components_process_list.append(KratosFemDem.ApplyComponentTableProcess(model_part, y_params)) if settings["active"][2].GetBool() == True: z_params = KratosMultiphysics.Parameters("{}") z_params.AddValue("model_part_name",settings["model_part_name"]) if settings.Has("is_fixed"): z_params.AddValue("is_fixed",settings["is_fixed"][2]) z_params.AddValue("value",settings["value"][2]) z_params.AddEmptyValue("variable_name").SetString(variable_name+"_Z") if settings["table"][2].GetInt() == 0: self.components_process_list.append(KratosMultiphysics.ApplyConstantScalarValueProcess(model_part, z_params)) else: z_params.AddValue("table",settings["table"][2]) self.components_process_list.append(KratosFemDem.ApplyComponentTableProcess(model_part, z_params))
def Factory(settings, Model): if(settings["process_name"].GetString() == "ApplyConstantScalarValueProcess"): model_part = Model[settings["Parameters"]["model_part_name"].GetString()] return KM.ApplyConstantScalarValueProcess(model_part, settings["Parameters"]) elif(settings["process_name"].GetString() == "ApplyConstantVectorValueProcess"): model_part = Model[settings["Parameters"]["model_part_name"].GetString()] return KM.ApplyConstantVectorValueProcess(model_part, settings["Parameters"]) raise Exception("Process name not found ",)
def __init__(self, Model, settings ): KratosMultiphysics.Process.__init__(self) model_part = Model[settings["model_part_name"].GetString()] params = KratosMultiphysics.Parameters("{}") params.AddValue("model_part_name",settings["model_part_name"]) params.AddValue("variable_name",settings["variable_name"]) if settings.Has("is_fixed"): params.AddValue("is_fixed",settings["is_fixed"]) params.AddValue("value",settings["value"]) if settings["table"].GetInt() == 0: self.process = KratosMultiphysics.ApplyConstantScalarValueProcess(model_part, params) else: params.AddValue("table",settings["table"]) self.process = KratosFluidTransport.ApplyDoubleTableProcess(model_part, params)
def __init__(self, Model, settings): KratosMultiphysics.Process.__init__(self) self.model_part = Model[settings["model_part_name"].GetString()] self.params = KratosMultiphysics.Parameters("{}") self.params.AddValue("model_part_name", settings["model_part_name"]) self.params.AddValue("variable_name", settings["variable_name"]) if settings.Has("is_fixed"): self.params.AddValue("is_fixed", settings["is_fixed"]) if settings.Has("pressure_tension_cut_off"): self.params.AddValue("pressure_tension_cut_off", settings["pressure_tension_cut_off"]) if settings.Has("fluid_pressure_type"): # if settings["hydrostatic"].GetBool() == False: if settings["fluid_pressure_type"].GetString() == "Uniform": self.params.AddValue("value", settings["value"]) if settings["table"].GetInt() == 0: self.process = KratosMultiphysics.ApplyConstantScalarValueProcess( self.model_part, self.params) else: self.params.AddValue("table", settings["table"]) self.process = KratosGeo.ApplyDoubleTableProcess( self.model_part, self.params) elif settings["fluid_pressure_type"].GetString() == "Hydrostatic": self.params.AddValue("gravity_direction", settings["gravity_direction"]) self.params.AddValue("reference_coordinate", settings["reference_coordinate"]) self.params.AddValue("specific_weight", settings["specific_weight"]) if settings["table"].GetInt() == 0: self.process = KratosGeo.ApplyConstantHydrostaticPressureProcess( self.model_part, self.params) else: self.params.AddValue("table", settings["table"]) self.process = KratosGeo.ApplyHydrostaticPressureTableProcess( self.model_part, self.params) elif settings["fluid_pressure_type"].GetString( ) == "Phreatic_Line": self.params.AddValue("gravity_direction", settings["gravity_direction"]) self.params.AddValue("out_of_plane_direction", settings["out_of_plane_direction"]) self.params.AddValue("first_reference_coordinate", settings["first_reference_coordinate"]) self.params.AddValue("second_reference_coordinate", settings["second_reference_coordinate"]) self.params.AddValue("specific_weight", settings["specific_weight"]) if settings["table"][0].GetInt( ) == 0 and settings["table"][1].GetInt() == 0: self.process = KratosGeo.ApplyConstantPhreaticLinePressureProcess( self.model_part, self.params) else: self.params.AddValue("table", settings["table"]) self.process = KratosGeo.ApplyPhreaticLinePressureTableProcess( self.model_part, self.params) elif settings["fluid_pressure_type"].GetString( ) == "Interpolate_Line": self.params.AddValue("gravity_direction", settings["gravity_direction"]) self.params.AddValue("out_of_plane_direction", settings["out_of_plane_direction"]) if settings["table"].GetInt() == 0: self.process = KratosGeo.ApplyConstantInterpolateLinePressureProcess( self.model_part, self.params) else: self.process = KratosGeo.ApplyTimeDependentInterpolateLinePressureProcess( self.model_part, self.params) elif settings["fluid_pressure_type"].GetString( ) == "Phreatic_Surface": self.params.AddValue("gravity_direction", settings["gravity_direction"]) self.params.AddValue("first_reference_coordinate", settings["first_reference_coordinate"]) self.params.AddValue("second_reference_coordinate", settings["second_reference_coordinate"]) self.params.AddValue("third_reference_coordinate", settings["third_reference_coordinate"]) self.params.AddValue("specific_weight", settings["specific_weight"]) if settings["table"][0].GetInt( ) == 0 and settings["table"][1].GetInt( ) == 0 and settings["table"][2].GetInt() == 0: self.process = KratosGeo.ApplyConstantPhreaticSurfacePressureProcess( self.model_part, self.params) else: self.params.AddValue("table", settings["table"]) self.process = KratosGeo.ApplyPhreaticSurfacePressureTableProcess( self.model_part, self.params) else: raise Exception("unkown fluid_pressure_type!") else: self.params.AddValue("value", settings["value"]) if settings["table"].GetInt() == 0: self.process = KratosMultiphysics.ApplyConstantScalarValueProcess( self.model_part, self.params) else: self.params.AddValue("table", settings["table"]) self.process = KratosGeo.ApplyDoubleTableProcess( self.model_part, self.params)
def __init__(self, Model, settings): KratosMultiphysics.Process.__init__(self) self.model_part = Model[settings["model_part_name"].GetString()] self.components_process_list = [] if settings["active"][0].GetBool() == True: self.normal_params = KratosMultiphysics.Parameters("{}") self.normal_params.AddValue("model_part_name", settings["model_part_name"]) self.normal_params.AddValue("variable_name", settings["variable_name"]) if settings["fluid_pressure_type"].GetString() == "Uniform": self.normal_params.AddValue("value", settings["value"][0]) if settings["table"][0].GetInt() == 0: self.components_process_list.append( KratosMultiphysics.ApplyConstantScalarValueProcess( self.model_part, self.normal_params)) else: self.normal_params.AddValue("table", settings["table"][0]) self.components_process_list.append( KratosGeo.ApplyDoubleTableProcess( self.model_part, self.normal_params)) elif settings["fluid_pressure_type"].GetString() == "Hydrostatic": self.normal_params.AddValue("gravity_direction", settings["gravity_direction"]) self.normal_params.AddValue("reference_coordinate", settings["reference_coordinate"]) self.normal_params.AddValue("specific_weight", settings["specific_weight"]) if settings["table"][0].GetInt() == 0: self.components_process_list.append( KratosGeo. ApplyConstantBoundaryHydrostaticPressureProcess( self.model_part, self.normal_params)) else: self.normal_params.AddValue("table", settings["table"][0]) self.components_process_list.append( KratosGeo.ApplyBoundaryHydrostaticPressureTableProcess( self.model_part, self.normal_params)) elif settings["fluid_pressure_type"].GetString( ) == "Phreatic_Line": self.normal_params.AddValue("gravity_direction", settings["gravity_direction"]) self.normal_params.AddValue("out_of_plane_direction", settings["out_of_plane_direction"]) self.normal_params.AddValue( "first_reference_coordinate", settings["first_reference_coordinate"]) self.normal_params.AddValue( "second_reference_coordinate", settings["second_reference_coordinate"]) self.normal_params.AddValue("specific_weight", settings["specific_weight"]) if settings["table"].GetInt() == 0: self.process = KratosGeo.ApplyConstantBoundaryPhreaticLinePressureProcess( self.model_part, self.normal_params) else: self.normal_params.AddValue("table", settings["table"]) self.process = KratosGeo.ApplyBoundaryPhreaticLinePressureTableProcess( self.model_part, self.normal_params) elif settings["fluid_pressure_type"].GetString( ) == "Phreatic_Surface": self.normal_params.AddValue("gravity_direction", settings["gravity_direction"]) self.normal_params.AddValue( "first_reference_coordinate", settings["first_reference_coordinate"]) self.normal_params.AddValue( "second_reference_coordinate", settings["second_reference_coordinate"]) self.normal_params.AddValue( "third_reference_coordinate", settings["third_reference_coordinate"]) self.normal_params.AddValue("specific_weight", settings["specific_weight"]) if settings["table"].GetInt() == 0: self.process = KratosGeo.ApplyConstantBoundaryPhreaticSurfacePressureProcess( self.model_part, self.normal_params) else: self.normal_params.AddValue("table", settings["table"]) self.process = KratosGeo.ApplyBoundaryPhreaticSurfacePressureTableProcess( self.model_part, self.normal_params) else: raise Exception("unkown fluid_pressure_type!") if settings["active"][1].GetBool() == True: tangential_params = KratosMultiphysics.Parameters("{}") tangential_params.AddValue("model_part_name", settings["model_part_name"]) tangential_params.AddEmptyValue("variable_name").SetString( "TANGENTIAL_CONTACT_STRESS") # Note: this is not general tangential_params.AddValue("value", settings["value"][1]) if settings["table"][1].GetInt() == 0: self.components_process_list.append( KratosMultiphysics.ApplyConstantScalarValueProcess( self.model_part, tangential_params)) else: tangential_params.AddValue("table", settings["table"][1]) self.components_process_list.append( KratosGeo.ApplyDoubleTableProcess(self.model_part, tangential_params))