###################Cuerpo del codigo######################### ##########Establecer parametros generales########### ####################Variables del sistema################ ########Variables especificas para la simulacion################# ############Definicion de la caja de simulacion############### ###############Definicion del modelo de contacto############### ##############Definicion de las propiedades del material################## ############Carga de la geometria desde .stl Y aplicar modelo de contacto a geometria################# #################Generacion e insercion de particulas########################## ###############################################################Establecer parametros generales###################################################################### atom_style sphere #estilo de particula puede ser sphere o combinaciones boundary f f f #limites no periodicos y arreglados, particulas que salen no pueden volver a entrar units si #unidades sistema internacional communicate single vel yes #default newton off #tercera ley de newton apagada para relacion entre procesadores dimension 3 #problema en 3 dimensiones atom_modify map array sort 0 0 #realizar busqueda en modo de matriz processors * * * ####################################################################Variables del sistema########################################################################### #Definicion de limites variable xmin equal -8.0 #cubo de 10m de lado variable xmax equal 8.0 variable ymin equal -8.0 variable ymax equal 8.0 variable zmin equal -8.0 variable zmax equal 8.0 #Definicion del paso del tiempo variable dt equal 1e-5 #paso de tiempo = 0.00001 segundos; Cada paso de iteracion 0.0001 segundos print 1 ##########################################################Variables especificas para la simulacion##################################################################### variable natoms equal 2 #1:particulas #2:tolva #cantidad de materiales en la simulacion ####Propiedades mecanicas de materiales#### ####Modulos de Young#### variable youngmodulo1 equal 2.2e8 #modulo de young1/2: particulas / tolva [N/mm²] variable youngmodulo2 equal 2.2e7 ####Coeficiente de Poisson#### variable poission1 equal 0.35 #coeficiente de possion1/2: particulas / tolva variable poission2 equal 0.3 ####Propiedades de contacto#### ####Coeficiente de restitucion#### variable cr11 equal 0.186 #coefifiente de restitucion entre particulas, particula/tolva, tolva/particula, tolva(entre geometrias) variable cr12 equal 0.199 variable cr21 equal 0.199 variable cr22 equal 0.186 print 2 ####Coeficiente de friccion#### variable cf11 equal 0.3 #coefifiente de friccion entre particulas, particula/tolva, tolva/particula, tolva(entre geometrias) variable cf12 equal 0.2 variable cf21 equal 0.2 variable cf22 equal 0.1 ####Coeficiente k modelo finnie##### #coeficiente k del modelo erosivo de finnie variable ck11 equal 1.0 #BUSCAR VALORES PARA TODOS LOS PARAMETROS variable ck12 equal 1.0 variable ck21 equal 1.0 variable ck22 equal 1.0 ####rolling friction coefficient#### variable rf11 equal 0.18 variable rf12 equal 0.18 variable rf21 equal 0.18 variable rf22 equal 0.18 print 3 ####Variables para la particula#### variable densidad equal 2500 #densidad de las particulas en [kg/m³] ####Parametros de llenado#### variable cara equal 9 variable tiempollenado equal 22.5 #tiempo de llenado de tolva con material (particulas) en [segundos] variable tiempollenadoporcara equal ${tiempollenado}/${cara} variable masallenado equal 45000 #cantidad de masa que soporta la tolva en [kg] variable flujollenado equal ${masallenado}/${tiempollenado} #flujo masico del llenado de la tolva con el material en [kg/s] variable pasosllenado equal ${tiempollenadoporcara}/${dt} #Transformar el tiempo de llenado en cantidad de pasos de llenado variable masaporcara equal ${masallenado}/${cara} variable flujollenadoporcara equal ${masaporcara}/${tiempollenadoporcara} print 4 ####Parametros de asentamiento#### variable tiempoespera equal 3 #tiempo de espera entre carga y descarga variable pasosespera equal ${tiempoespera}/${dt} #con el paso de tiempo definido se define l cantidad de pasos de asentamiento ####levantamiento de tolva#### variable tiempolevantar equal 15 #tiempo de levantamiento de tolva variable pasoslevantar equal ${tiempolevantar}/${dt} #pasos de levantamiento de tolva print 5 ####################################################Definicion de la caja de simulacion################################################################################ region domain block ${xmin} ${xmax} ${ymin} ${ymax} ${zmin} ${zmax} units box #definir limites en el plano create_box 2 domain #crear caja de simulacion con 2 tipos de materiales y con las dimensiones definidas anteriormente neighbor 0.004 bin neigh_modify delay 0 print 6 ##################################################Definicion del modelo de contacto################################################################################# pair_style gran model hertz tangential history rolling_friction cdt #modelo de contacto POR DEFINIR, SI SE DIVIDE LA SIMULACION O NO pair_coeff * * #default timestep ${dt} fix integr all multisphere fix gravi all gravity 9.81 vector 0.0 -1.0 0.0 #gravedad de 9.81 m/s² en sentido negativo de y print 7 ########################################################Definicion de las propiedades del material###################################################################### fix m1 all property/global youngsModulus peratomtype ${youngmodulo1} ${youngmodulo2} #agregar young y poisson uno por uno print 71 fix m2 all property/global poissonsRatio peratomtype ${poission1} ${poission2} #para coeficientes agregar numero de materiales primero y despues valores de coefcientes print 72 fix m3 all property/global coefficientRestitution peratomtypepair ${natoms} ${cr11} ${cr12} ${cr21} ${cr22} #ID + all property/global + variable + peratomtype/peratomtypepair+ valores print 73 fix m4 all property/global coefficientFriction peratomtypepair ${natoms} ${cf11} ${cf12} ${cf21} ${cf22} print 74 fix m5 all property/global k_finnie peratomtypepair ${natoms} ${ck11} ${ck12} ${ck21} ${ck22} print 75 fix m6 all property/global coefficientRollingFriction peratomtypepair ${natoms} ${rf11} ${rf12} ${rf21} ${rf22} print 8 ###################################Carga de la geometria desde .stl Y aplicar modelo de contacto a geometria####################################### fix cad1 all mesh/surface/stress file tolvajimbo.stl type 1 scale 0.001 wear finnie #cargar malla desde archivo stl Tipo 1 para geometria. escala para pasar de mm a m fix insercion1 all mesh/surface/planar file cara1.stl type 1 scale 0.001 fix insercion2 all mesh/surface/planar file cara2.stl type 1 scale 0.001 fix insercion3 all mesh/surface/planar file cara3.stl type 1 scale 0.001 fix insercion4 all mesh/surface/planar file cara4.stl type 1 scale 0.001 ####agregar el modelo de contacto a todas las geometrias, es necesario escribir todas las ID en las que se aplica el modelo de contacto fix insercion5 all mesh/surface/planar file cara5.stl type 1 scale 0.001 fix insercion6 all mesh/surface/planar file cara6.stl type 1 scale 0.001 fix insercion7 all mesh/surface/planar file cara7.stl type 1 scale 0.001 fix insercion8 all mesh/surface/planar file cara8.stl type 1 scale 0.001 fix insercion9 all mesh/surface/planar file cara9.stl type 1 scale 0.001 fix paredes all wall/gran model hertz tangential history rolling_friction cdt mesh n_meshes 1 meshes cad1 print 9 ##################################Generacion e insercion de particulas esfericas######################################### fix pts1 all particletemplate/multisphere 15485863 atom_type 1 density constant ${densidad} nspheres 8 ntry 1000000 spheres file data/stone2.multisphere scale 1.1 type 1 fix pts2 all particletemplate/multisphere 10487 atom_type 1 density constant ${densidad} nspheres 8 ntry 1000000 spheres file data/stone2.multisphere scale 1.22 type 2 fix pts3 all particletemplate/multisphere 10729 atom_type 1 density constant ${densidad} nspheres 8 ntry 1000000 spheres file data/stone2.multisphere scale 1.44 type 3 fix pts4 all particletemplate/multisphere 11351 atom_type 1 density constant ${densidad} nspheres 8 ntry 1000000 spheres file data/stone2.multisphere scale 2.9 type 4 fix pdd1 all particledistribution/discrete 15485867 4 pts1 0.25 pts2 0.25 pts3 0.25 pts4 0.25 print 10 ##################################################region e insercion################################################################################# run 1 dump dmp all custom/vtk 2000 postcubosmedianos/cubos_*.vtk id type mol x y z vx vy vz fx fy fz omegax omegay omegaz radius dump dumpstress all mesh/gran/VTK 2000 postcubosmedianos/tolvacubos_*.vtk stress wear cad1 fix ins1 all insert/stream seed 49979687 distributiontemplate pdd1 mass ${masaporcara} massrate ${flujollenadoporcara} insert_every 100000 overlapcheck yes all_in no vel constant 0. -1. 0. insertion_face insercion7 run ${pasosllenado} fix ins2 all insert/stream seed 38629 distributiontemplate pdd1 mass ${masaporcara} massrate ${flujollenadoporcara} insert_every 100000 overlapcheck yes all_in no vel constant 0. -1. 0. insertion_face insercion3 run ${pasosllenado} fix ins3 all insert/stream seed 37619 distributiontemplate pdd1 mass ${masaporcara} massrate ${flujollenadoporcara} insert_every 100000 overlapcheck yes all_in no vel constant 0. -1. 0. insertion_face insercion5 run ${pasosllenado} fix ins4 all insert/stream seed 36493 distributiontemplate pdd1 mass ${masaporcara} massrate ${flujollenadoporcara} insert_every 100000 overlapcheck yes all_in no vel constant 0. -1. 0. insertion_face insercion1 run ${pasosllenado} fix ins5 all insert/stream seed 49331 distributiontemplate pdd1 mass ${masaporcara} massrate ${flujollenadoporcara} insert_every 100000 overlapcheck yes all_in no vel constant 0. -1. 0. insertion_face insercion8 run ${pasosllenado} fix ins6 all insert/stream seed 49747 distributiontemplate pdd1 mass ${masaporcara} massrate ${flujollenadoporcara} insert_every 100000 overlapcheck yes all_in no vel constant 0. -1. 0. insertion_face insercion4 run ${pasosllenado} fix ins7 all insert/stream seed 49939 distributiontemplate pdd1 mass ${masaporcara} massrate ${flujollenadoporcara} insert_every 100000 overlapcheck yes all_in no vel constant 0. -1. 0. insertion_face insercion2 run ${pasosllenado} fix ins8 all insert/stream seed 49109 distributiontemplate pdd1 mass ${masaporcara} massrate ${flujollenadoporcara} insert_every 100000 overlapcheck yes all_in no vel constant 0. -1. 0. insertion_face insercion6 run ${pasosllenado} fix ins9 all insert/stream seed 48311 distributiontemplate pdd1 mass ${masaporcara} massrate ${flujollenadoporcara} insert_every 100000 overlapcheck yes all_in no vel constant 0. -1. 0. insertion_face insercion9 run ${pasosllenado} print 11 ######################################################comandos de salida: desgaste y energia termica####################################################################### compute 1 all erotate/sphere fix ts all check/timestep/gran 1000 0.1 0.1 thermo_style custom step atoms ke/multisphere c_1 vol time thermo 1000 thermo_modify lost ignore norm no print 12 ##################################correr tiempo de espera############################################################# run ${pasosespera} print 15 #################################mover tolva y correr############################################################# fix levantar all move/mesh mesh cad1 rotate origin -2.4. -0.6. 0. axis 0. 0. 1. period 104 print 16 run ${pasoslevantar} unfix levantar run 500000 print 17