def GetBassetForceTools(self):
     self.basset_force_tool = SDP.BassetForceTools()
Beispiel #2
0
    if DEM_parameters.meso_scale_length <= 0.0 and spheres_model_part.NumberOfElements(0) > 0:
        biggest_size = 2 * dem_physics_calculator.CalculateMaxNodalVariable(spheres_model_part, RADIUS)
        DEM_parameters.meso_scale_length  = 20 * biggest_size

    elif spheres_model_part.NumberOfElements(0) == 0:
        DEM_parameters.meso_scale_length  = 1.0

    projection_module = CFD_DEM_coupling.ProjectionModule(fluid_model_part, spheres_model_part, rigid_face_model_part, domain_size, pp)
    projection_module.UpdateDatabase(h_min)

# creating a custom functions calculator for the implementation of additional custom functions
custom_functions_tool = swim_proc.FunctionsCalculator(pp)

# creating a basset_force tool to perform the operations associated with the calculation of this force along the path of each particle
if pp.CFD_DEM.basset_force_type > 0:
    basset_force_tool = swim_proc.BassetForceTools()

# creating a stationarity assessment tool
stationarity_tool = swim_proc.StationarityAssessmentTool(DEM_parameters.max_pressure_variation_rate_tol , custom_functions_tool)

# creating a debug tool
dem_volume_tool = swim_proc.ProjectionDebugUtils(DEM_parameters.fluid_domain_volume, fluid_model_part, spheres_model_part, custom_functions_tool)

# creating a distance calculation process for the embedded technology
# (used to calculate elemental distances defining the structure embedded in the fluid mesh)
if (DEM_parameters.embedded_option):
    calculate_distance_process = CalculateSignedDistanceTo3DSkinProcess(rigid_face_model_part, fluid_model_part)
    calculate_distance_process.Execute()

# constructing a model part for the DEM inlet. it contains the DEM elements to be released during the simulation