Research Article

Partitioned Strong Coupling of Discrete Elements with Large Deformation Structural Finite Elements to Model Impact on Highly Flexible Tension Structures

Algorithm 4

Problem setup.
(1)### Import Applications ####
(2)# Structural Mechanics Application is for FEM analysis, in this scope used for the cable structures.
(3)from KratosMultiphysics.StructuralMechanicsApplication import structural_mechanics_analysis as structural_analysis
(4)# DEM Application is for DEM analysis; in this scope, it holds certain expressions for walls and can also deal with clustered particles.
(5)from KratosMultiphysics.DEMApplication import KratosDEMAnalysis as dem_analysis
(6)# Mapping Application is to allow a mapping between certain spaces; it is used to handle certain interfaces to make the procedures more generic.
(7)import KratosMultiphysics.MappingApplication as KratosMapping
(8)### Define Problem Setup ####
(9)# model part for all faces/boundary walls
(10)mp_dem = dem_analysis.rigid_face_model_part
(11)# model part for all DEM particles
(12)mp_dem_particle = dem_analysis.spheres_model_part
(13)# Analysis model and model part for structural elements
(14)model = KratosMultiphysics.Model()
(15)mp_struct = model[“Structure.computing_domain”]
(16)# Create mapper and define relations. It relates the model parts of the walls in DEM to the cable structures in FEM
(17)mapper = KratosMapping.MapperFactory.CreateMapper(mp_dem, mp_struct, mapper_settings)
(18)# Create utility to optimize contact detection
(19)dem_mesh_moving_utility = DEMApplication.MoveMeshUtility()
(20)### Initialize Application Setup ####
(21)# Initialize all necessary variables within the applications
(22)structural_analysis.Initialize()
(23)dem_analysis.Initialize()