https://kratos-wiki.cimne.upc.edu/index.php?title=Special:Contributions/Salva&feed=atom&deletedOnly=&limit=50&target=Salva&topOnly=&year=&month=KratosWiki - User contributions [en]2022-05-22T23:57:16ZFrom KratosWikiMediaWiki 1.17.0https://kratos-wiki.cimne.upc.edu/index.php/C-DEMPack2_manualC-DEMPack2 manual2018-06-25T15:28:05Z<p>Salva: </p>
<hr />
<div>==Model Section==<br />
<br />
<br />
===General Application Data===<br />
<br />
====Domain Options====<br />
This section allows the user to choose between a 2D or 3D simulation.<br />
<br />
===DEM===<br />
The DEM section is very similar to that of the non-cohesive DEMPack. Please, refer to [[G-DEMPack2 manual]] for a full description of the menus in this section. In this manual only the particular characteristics of this problem type will be explained.<br />
For a more practical review, the user is encouraged to check the C-DEMPack Tutorials included in [[DEMPack Tutorials]] page.<br />
<br />
====Cohesive Groups====<br />
This subsection allows the user to integrate one or more GiD groups into a single cohesive group with a particular collective behavior. Any GiD group with no cohesive group assigned will be treated as a discontinuum DEM mass.<br />
<br />
====Advanced Options====<br />
*'''Tangency tolerance''': Choose if you want to set manually the maximum gap between particles at the beginning of the computation (Absolute) or if you prefer an automatic gap that tries to match a certain average Coordination Number.<br />
<br />
*'''Tangency tolerance value''': Choose the maximum admissible gap between two particles to consider them cohesive at the beginning of the computation.<br />
<br />
*'''Accepted gap between neighbours''': If the gap between two spheres is bigger than this value, they are no longer neighbours and the bond between them breaks.<br />
<br />
*'''Maximum allowed amplification ratio of the search radius''': The search radius must be amplified after the first search because particles separate, but a bond still joins them. In order to keep finding all neighbours, search is amplified according the the mechanical resistance, but up to this limit.<br />
<br />
*'''Virtual mass coefficient''': For no mass reduction, set this value to 1.<br />
<br />
*'''Calculate rotations''': If activated, torques and rotations will be calculated on the Discrete Elements. Will increase computation time slightly.<br />
<br />
*'''Rolling friction''': If activated, rolling friction between particles will be considered.<br />
<br />
*'''Compute stress tensor''': If activated, the Stress Tensor will be computed. It will increase computation time and memory consumption.<br />
<br />
*'''Add Poisson Effect''': If active, the Poisson effect will be taken into account.<br />
<br />
*'''Add the effect of shear strains parallel to bonds''': When active, the shear strains parallel to bonds will be included in the computations.<br />
<br />
*'''Don't search until failure''': If activated, search for new particle neighbours will be disabled until the simulation detects the first contact failure.<br />
<br />
*'''Material Analysis''': Activate this option to show the material test (UCS, BTS) additional options.<br />
<br />
*'''Thermal Analysis''': Changes the default DEM element to Thermal-type elements and shows additional options.<br />
<br />
====Material Test====<br />
When setting the Material Analysis option to Yes, this menu will show up. It allows the user the access to a Material Test Virtual Lab where several kinds of tests are <br />
possible, they are: UCS, Triaxial, Oedometric, Hydrostatic and BTS.<br />
<br />
*'''Test type''': The user must select here any of the five different test previouly listed.<br />
<br />
*'''Load velocity''': The velocity that will be imposed to the presses that will compress the tested specimen.<br />
<br />
*'''Confinement pressure''': This field will show up only when selecting the Triaxial or Hydrostatic tests.<br />
<br />
*'''Mesh type''': The user can choose to use the current mesh in the problem or a predefined mesh that will be loaded from a file.<br />
<br />
*'''Mesh path''': Path to the file when using a Predefined Mesh.<br />
<br />
*'''Specimen length''': Length of the specimen given in meters.<br />
<br />
*'''Specimen diameter''': Diameter of the specimen in meters.<br />
<br />
*'''Top measuring group''': The top press group must be assigned here. The user has also the possibility of printing the forces and/or torques acting in this group.<br />
<br />
*'''Bottom measuring group''': The bottom press group must be assigned here. As before, forces and/or torques can be printed for the group.<br />
<br />
====Thermal results====<br />
When setting the Thermal Analysis option to Yes, this menu will show up. It allows the user to set values of the thermal parameters. This section is currently under <br />
development.<br />
<br />
====Results====<br />
This problem type has some additional results available for printing, they are:<br />
<br />
*'''Skin Spheres''': the contour spheres will be mark with a different color with respect to the rest.<br />
<br />
*'''Poisson Ratio''': the local Poisson Ratio will be printed in a sphere-to-sphere-bond fashion.<br />
<br />
*'''Print Virtual Sea Surface''': This option can be used to print a virtual sea surface as a mesh in PostProcess. When activated, four pairs of coordinates must be entered which will define the quadrilateral surface representing the virtual sea surface. A z=0 sea level is assumed. This option is related to the simulation of ice in the problem type and is still under development.<br />
<br />
When activating the Thermal Analysis, additional thermal post-processing information will be available. Nevertheless, this section is still under development.<br />
<br />
*'''Show bond elements''': When activating this option, the bonds connecting the center of every pair of spheres will be shown in the postprocess. The user has then the option of printing the following variables:<br />
<br />
*'''Contact sigma''': Normal stress between every pair of spheres.<br />
<br />
*'''Contact tau''': Tangential stress between spheres.<br />
<br />
*'''Local contact force''': Local force in the contact point of any two spheres.<br />
<br />
*'''Failure criterion state''': Shows the current failure state or how close is the considered contact to reach complete failure.<br />
<br />
*'''Failure Id''': Labels every contact with its corresponding Failure Type.<br />
<br />
*'''Mean contact area''': Displays the calculation area in every contact.<br />
<br />
==Materials Section==<br />
<br />
This section is very similar to that of the discontinuous DEM, but with additional fields accounting for several constitutive laws available trying to simulate the behaviour of different cohesive materials, as well as the thermal parameters. Two main classes of constitutive laws exist: the DEMPack and the KDEM. The former is <br />
addressed to study materials following a non-linear elastoplastic behavior including damage, while the latter is specially designed to simulate elastobrittle materials.<br />
The KDEM constitutive law has several derived laws, which are KDEM_Rankine, KDEM_Mohr_Coulomb and KDEM_Fabric. The first one, the base KDEM, is a standard linear-brittle behaviour constitutive law, the second and third simulate the same behavior of the first but by following the particularities of Rankine and Mohr-Coulomb criteria respectivelly, while the last is addressed to study specific materials like membranes or clothes, as well as cables. Both KDEM and DEMPack laws have the following fields in common:<br />
<br />
*'''Rolling Friction''': value for the rolling friction. It may increase computation time slightly.<br />
<br />
*'''Tangential Strength''': Maximum shear strength for the material.<br />
<br />
*'''Normal Tensile Strength''': Maximum tensile strength of the material.<br />
<br />
*'''Internal Friction Angle Coefficient''': value of the static friction coefficient.<br />
<br />
When activating the KDEM Mohr-Coulomb law, two specific fields show up that the user must fill: the associated M-C Cohesion and Friction angle. On the other hand, when choosing the KDEM Fabric law, a Fabric Coefficient must be given. The value of this parameter goes from 0 to 1. It refers to the moment resistance, where 0 means no resistance at all and 1 a maximum resistance, which would be equivalent to the base KDEM.<br />
<br />
Finally, when activating the DEMPack constitutive law, a list of several parameters show up, which are related to the plastic and damage branches of the stress-strain graph. They are the following:<br />
<br />
*'''LCS1''': First stiffness reduction point.<br />
<br />
*'''LCS2''': Second stiffness reduction point.<br />
<br />
*'''LCS3''': Third stiffness reduction point.<br />
<br />
*'''YRC1''': First reduction coefficient.<br />
<br />
*'''YRC2''': Second reduction coefficient.<br />
<br />
*'''YRC3''': Third reduction coefficient.<br />
<br />
*'''Plastic Young Modulus''': Material stiffness in the plastic zone.<br />
<br />
*'''Plastic Yield Stress''': Plastic yield point.<br />
<br />
*'''Damage Deformation Factor''': Energy stored after bond fracture.<br />
<br />
*'''Shear Energy Coefficient''': Energy stored due shear effects.<br />
<br />
Details on the previous parameters are shown in the picture that follows:<br />
<br />
<br />
[[File:Demdrill manual materials theory.png|650px]]<br />
<br />
<br />
This section is completed with two standard thermal parameters for the material: the Thermal Conductivity and the Specific Heat.</div>Salvahttps://kratos-wiki.cimne.upc.edu/index.php/C-DEMPack_Tutorial_1:_Cohesive_DemPack_2.0C-DEMPack Tutorial 1: Cohesive DemPack 2.02018-06-25T15:27:12Z<p>Salva: </p>
<hr />
<div>==Introduction==<br />
Before starting with this tutorial, the user is strongly encouraged to follow<br />
the [[G-DEMPack Tutorial 2: DemPack 2.0]] to get a feeling of how the problem<br />
type works, and in particular the DEM section. This tutorial will focus mainly <br />
in the parcularities of the cohesive DEM. The user should start by downloading <br />
the [[File:D DEMPack2 Tutorial 5.zip]]. This file has already both <br />
created and assgined the groups that will be used in the simulation, as well<br />
as the mesh sizes for all groups.<br />
<br />
==Geometry==<br />
The geometry of study consists of four different continuum-DEM groups as well as<br />
two DEM-FEM rigid entities. The four cohesive groups are composed of an inlet<br />
of deformable cluster elements, a highly cohesive material in the shape of<br />
a sphere, a very little cohesive material in the shape of a paralelepiped<br />
and a membrane-like material. The program is also capable of simulating<br />
cables and solving thermal problems, as will we shown in a upcoming tutorial. <br />
It is also possible to simulate the behaviour of ice, even though this aspect is <br />
still under development. See http://www.cimnemultimediachannel.com/vpage/2/0/technology/technology/Discrete-Element-Method#11 to check the capabilities of the <br />
program in that respect.<br />
<br />
[[File:Demdrill tutorial geometry.png|700px]]<br />
[[File:Demdrill tutorial groups.png|700px]]<br />
<br />
==DEM Elements==<br />
As a reference, a screenshot of the characteristics of the elements used in this <br />
simulation will be given. The user is encouraged to modify these settings to <br />
experiment a little bit and get familiar with the program. The assignation was the <br />
following:<br />
<br />
[[File:Demdrill tutorial dem elements.png|400px]]<br />
<br />
==Cohesive Groups==<br />
This section is unique and it does not exist neither in G-DEMPack nor F-DEMPack. <br />
The user must assign this attribute to any group containing cohesive entities. <br />
Only the particles tagged with this attribute will have cohesive properties and <br />
use a continuum material law. Double click on Cohesive Groups to start adding <br />
adding the different groups in this section. Note that different cohesive groups can have the same identification number, meaning that the entities belonging to those groups are cohesive among them. However, in this case there are three independent cohesive groups. The next picture shows the assignation in our sample case as a reference.<br />
<br />
[[File:Demdrill tutorial cohesive groups.png|200px]]<br />
<br />
==Boundary Conditions==<br />
This section is in practice identical to that of the G-DEMPack. The most significant <br />
difference is that the inlet cluster elements are deformable and breakable. The <br />
simulation captures at the end of this tutorial show an example of the behavior of <br />
this kind of cluster elements.<br />
<br />
[[File:Demdrill tutorial boundary conditions.png|300px]]<br />
<br />
==General Options==<br />
The structure of this section is the same as in G-DEMPack, but with a much more <br />
extense subsection of Advanced Options. The settings for this simulation are <br />
given in the picture that follows as a reference. A detailed explanation of each <br />
of the fields in this section can be found here [[C-DEMPack2 manual]].<br />
<br />
[[File:Demdrill tutorial general options.png|400px]]<br />
<br />
==Solution Strategy==<br />
This section is identical to that of G-DEMPack, so no further explanation is <br />
needed. A screenshot with the value of the parameters chosen in this example <br />
can be found in the picture that follows.<br />
<br />
[[File:Demdrill tutorial solution strategy.png|300px]]<br />
<br />
==Results==<br />
The structure of this section is the same as in G-DEMPack, but with an additional <br />
subsection on Postprocessing bond-related results and some other parameters linked <br />
to the Poisson ratio and the skin of the materials in the simulation. Check the <br />
[[C-DEMPack2 manual]] for a detailed explanation of every field in this section. The <br />
user is left free to choose the desired set of results to be printed.<br />
<br />
==Materials==<br />
<br />
For this example, the materials of all groups has been already set. The user is <br />
encouraged to play a little bit using different materials and compare the results. <br />
Check the [[C-DEMPack2 manual]] for a reference on the different options available. <br />
The materials used in this example were the following:<br />
<br />
[[File:Demdrill tutorial materials1of2.png|250px]]<br />
[[File:Demdrill tutorial materials2of2.png|250px]]<br />
<br />
==Meshing and Running==<br />
After the user has checked that everything is correctly assigned and the corresponding <br />
cohesive groups have been created, the only thing that is missing is to mesh the geometry. <br />
As said at the beginning of this tutorial, all the meshing details have been previously set <br />
for this problem, so the user must only press Ctr-G, enter a value of 0.4 and hit OK. A <br />
mesh very similar to the one that follows should be obtained:<br />
<br />
[[File:Demdrill tutorial groups and mesh.png|700px]]<br />
<br />
Once obtained a valid mesh and to run the example, press Ctrl-s to save the file and hit <br />
F5 to launch the simulation.<br />
<br />
==Results==<br />
<br />
After some minutes, the simulation should be complete. Shift to Post-Process to load the <br />
results. The next four captures show the resulting simulation at different times. The user <br />
should obtain results very similar to those.<br />
<br />
[[File:Simulation1of4.png|600px]]<br />
[[File:Simulation2of4.png|600px]]<br />
[[File:Simulation3of4.png|600px]]<br />
[[File:Simulation4of4.png|600px]]</div>Salvahttps://kratos-wiki.cimne.upc.edu/index.php/F-DEMPack2_manualF-DEMPack2 manual2018-06-25T15:25:53Z<p>Salva: </p>
<hr />
<div>==Menu Overview==<br />
<br />
The overview of the F-DEMPack2 program is the following:<br />
<br />
[[File:DEM 2 manual swimming full menu.png]]<br />
<br />
==General Application Data==<br />
<br />
These are the contents of the General Application Data menu:<br />
<br />
[[File:DEM 2 manual swimming general application data.png]]<br />
<br />
It has the following sections:<br />
===Project information===<br />
The user can fill here several fields with information related to the current simulation.<br />
====Toggle debug/release====<br />
Here the user can choose the Debug option in order to see the complete menu despite a possible loss of robustness.<br />
===Simulation Options===<br />
It consists of a few settings concerning the whole simulation, in particular the simulation duration, the output delta time and the number of threads to use in the simulation. At the moment the code runs only in OpenMP, MPI is currently under development.<br />
===Physical Options===<br />
It deals with general physical settings. At this moment it consists only of the gravity value.<br />
===Coupling Parameters===<br />
It refers to those parameters concerning the inter-component coupling.<br />
====Coupling level====<br />
It has 4 possible values: No interactions, One way, Soft two-way and full two-way, which correspond, respectively, to no-interactions, only fluid to DEM, to unmodified fluid equations or to averaged Navier-Stokes.<br />
====Time averaging mode====<br />
*''Take newest values:'' Take the present value of the hydrodynamic forces from DEM for the fluid integration.<br />
*''Take uniform average over DEM substeps:'' Average values of the hydrodynamic force over all substeps within one fluid step.<br />
====Interaction start time====<br />
The user can set here the time to start the interaction between DEM and fluid.<br />
====Hydrodynamic Force Model====<br />
*''Pick each individual force:'' Pick specific expressions for the usual terms, one at a time, even though compatibility may be not guaranteed.<br />
*''Buoyancy Force type:'' Here the desired buoyancy law for the DEM particles can be chosen.<br />
*''Maxey-Riley Equations:'' To use these equations for the simulation, even though they are addressed to small Reynolds numbers.<br />
*''Drag Modifier Type:'' The user can choose between different drag laws available.<br />
*''Include Faxen terms:'' Including them may improve the accuracy of the results. Nevertheless, they require the calculation of the local laplacian and its derivative, which involves a certain overhead.<br />
<br />
===Post-Processing variables===<br />
Those are options concerning variables that are calculated by post-processing the fluid-field solution. Here the user can choose the Gradient and the Velocity Laplacian Calculation Modes. Both are computed as a<br />
post-process from the fluid solution.<br />
===Results===<br />
This section contains the options concerning the results to be post-processed. It allows the printing of many nodal values for both DEM elements and fluid mesh nodes. Discretion is advised when printing results in postprocess, because much memory may be needed to be allocated, harming performance in many cases.<br />
<br />
==Fluid==<br />
<br />
These are the contents of the Fluid menu:<br />
<br />
[[File:DEM 2 manual swimming fluid menu.png]]<br />
<br />
It has the following sections:<br />
<br />
===Analysis Data===<br />
====Solver Type====<br />
The user can choose between Monolithic and Fractional Step. The monolithic solver is slower, but remarkably more accurate than the fraction step solver.<br />
====Turbulence Model====<br />
The user can decide to use no turbulence model or to choose between Smagorinsky-Lilly or Spalart-Allmaras. In general, Smagorinsky-Lilly gets better results for separated boundary layers but needs finer meshers.<br />
===Solution Strategy===<br />
It has many options to adjust the behaviour of the solver. The user should not bother to change those default values.<br />
===Problem Parameters===<br />
The user can enter here the delta time to use in the computations of the fluid part as well as the step for the divergence clearance.<br />
===Properties===<br />
In this section, as many Fluid Properties as desired can be created. The standard Propertry, for example, is that related to the Water Material. The user, when later creating the different Fluid Elements, will have to assign every Element to its corresponding Property.<br />
===Elements===<br />
====Fluid====<br />
You must assign here the properties of the existing fluid groups. First of all, the Element Type that will be used in the computations, in this case the Tetrahedra element being the only available for 3D, and the<br />
corresponding Property for the group. Check the [[F-DEMPack Tutorial 1: Curved pipe]] to know how this section works.<br />
===Initial Conditions===<br />
====Initial Velocity====<br />
The user can assign here an initial velocity field for a given mass of fluid.<br />
====Initial Pressure====<br />
Here an initial pressure field can be assigned to the desired fluid group.<br />
===Boundary Conditions===<br />
====Inlet Velocity====<br />
Here a fluid inlet entity can be assigned to a given group. The user must assign the group an inlet velocity field for the group as well as its fixity depending on the three axis.<br />
====Outlet pressure====<br />
The user can assign here an outlet pressure for a given group representing an outlet of fluid.<br />
====Is-Slip====<br />
When assigning this condition to a solid boundary group, the fluid will have in general a non-zero velocity relative to the boundary.<br />
====No-Slip====<br />
On the contrary, when assigning this condition to a boundary, the fluid will have a null velocity in relation to the boundary.<br />
==DEM==<br />
Please, refer to [[G-DEMPack2 manual]] for a full description of the menus in this section.</div>Salvahttps://kratos-wiki.cimne.upc.edu/index.php/F-DEMPack_Tutorial_1:_Curved_pipeF-DEMPack Tutorial 1: Curved pipe2018-06-25T15:23:50Z<p>Salva: </p>
<hr />
<div>==Introduction==<br />
Before starting with this tutorial, the user is strongly encouraged to follow<br />
the [[G-DEMPack Tutorial 1: Conveyor belt]] to get a feeling of how the problem type works, and in particular the DEM section. This tutorial will focus mainly in the Fluid section and its particularities.<br />
The user must start by downloading the [[File:D DEMPack2 Tutorial 4.gid.zip]]. This file has already created the groups that will be used in the simulation. It has also already assigned the DEM groups, as well as the mesh sizes for all groups.<br />
<br />
==Geometry==<br />
The geometry of study consists of a curved tube through which a flux of water<br />
passes. Additionally, an initial mass of DEM elements exists inside the mass<br />
of water, as well as an inlet creating DEM particles with time. This geometry<br />
can be observed in the picture that follows:<br />
<br />
[[File:DEM 2 tutorial swimming geometry.png|350px]]<br />
<br />
The geometry has five groups, as seen in the next picture. They consist of a<br />
sphere made up of DEM elements, placed at the middle of the tube, a<br />
cuadrilaterial inlet of DEM spheres near the bottom of the tube, the mass of<br />
fluid inside the tube, the inlet of fluid in the opening at the bottom of the<br />
tube and the walls of the tube. The next picture shows the assignation of<br />
group by different entities that the user is expected to find in the file<br />
available for downloading.<br />
<br />
[[File:DEM 2 tutorial swimming groups.png|350px]]<br />
<br />
==DEM Entities==<br />
The file contains several entities and conditions in relation to the DEM part<br />
of the problem. As previouly said, they are already preassigned so the user<br />
does not have to bother and can concentrate on the fluid aspects and details<br />
of the simulation. Nevertheless, figures showing the details on the DEM parts<br />
will be added here for the sake of completion and as a reference should the<br />
user lose these settings or in the case of have any problem when loading the<br />
file.<br />
===DEM group===<br />
[[File:DEM 2 tutorial swimming DEM group.png|400px]]<br />
<br />
The FEM2DEM mesher was used to obtain this initial mesh of DEM spheres. See<br />
[[G-DEMPack Tutorial 3: DEM Meshers]] for a reference on the different meshers in the program. In this case, the<br />
chosen distribution of diameters for the elements is of 2mm with no variance.<br />
<br />
===DEM-FEM wall group===<br />
[[File:DEM 2 tutorial swimming DEM FEM group.png|300px]]<br />
<br />
The parameters in this section are identical to those in the G-DEMPack problem<br />
type, so no extra information is necessary in this case.<br />
<br />
===Inlet DEM group===<br />
[[File:DEM 2 tutorial swimming DEM inlet group.png|300px]]<br />
<br />
See [[G-DEMPack Tutorial 2: DemPack 2.0]] for details. It is important to<br />
note that it is still not possible to create neither clusters nor<br />
nanoparticles from an inlet entity. This aspect of the code is still under<br />
development.<br />
<br />
===DEM Initial Conditions===<br />
[[File:DEM 2 tutorial swimming DEM Initial Conditions.png|300px]]<br />
<br />
This section is also identical to its counterpart in G-DEMPack, so no further<br />
explanations are needed.<br />
<br />
==Materials==<br />
The Materials section in F-DEMPack contains the material data for both DEM and<br />
fluid elements. See the next figure for an overview of that section:<br />
<br />
[[File:DEM 2 tutorial swimming materials section.png|300px]]<br />
<br />
The DEM part is identical to G-DEMPack, and a full explanation of every aspect<br />
in it can be found in the corresponding links given above. In this case,<br />
though, an additional section for the Fluid part exists, where the user can<br />
set the values of some fundamental fluid properties, as for example density,<br />
viscosity, bulk modulus or rheological characteristics.<br />
<br />
==DEM-Fluid Interaction Settings==<br />
Most of the interaction parameters between the DEM spheres and fluid are<br />
inside the General Application Data section, whose overview is given next:<br />
<br />
[[File:DEM 2 tutorial swimming general application data.png|450px]]<br />
<br />
Some of the parameters in this tree are very straightforward, as for example<br />
the duration time, the output delta time, the number of threads to use in<br />
the simulation or the gravity vector. Others, though, carry a higher<br />
difficulty and are mostly related to the way the two subdomains interact. A<br />
deeper explanation of those parameters can be found in [[F-DEMPack2 manual]]. The previous screenshot has been given to the user as a reference as<br />
well as a guide for choosing some default values that give good results in<br />
this particular case. This tree also includes the Results section, which is pretty straightforward.<br />
<br />
==Fluid==<br />
This section contains the information about the properties of the fluids, the<br />
different existing fluid elements and, when necessary, their assigned<br />
conditions. It also has some parameters in relation to the settings of the<br />
fluid solver. The figure that follow shows an overview of this section:<br />
<br />
[[File:DEM 2 tutorial swimming fluid menu.png|250px]]<br />
<br />
The screenshot shows the chosen parameters in this example. The user is<br />
encouraged to play a little bit to those values and see the results. In this<br />
case a monolithic solver was chosen to get more accurate results but no<br />
turbulence model was considered necessary. The linear solver parameters<br />
require a much deeper understanding of the underlying theory and the<br />
associated numerical methods and will not be discussed here, check for more<br />
information. The default parameters in the problem type gave good results in<br />
this particular case. Finally, the user can enter the desired computational<br />
time step, which does not have to be too small as long as stable simulations<br />
are obtained.<br />
===Properties===<br />
In this section, the user can create a Property related with each of the<br />
fluids in the problem. In order to do this, the corresponding fluid must have<br />
been previously created in the Materials section. The next picture shows the<br />
process:<br />
<br />
[[File:DEM 2 tutorial swimming Fluid Properties.png|250px]]<br />
<br />
In this particular case, the Water default material was assigned to the<br />
Property1, which is good enough in this sample simulation.<br />
<br />
===Elements===<br />
The user must specify the fluids that will be present in the problem, so the<br />
next step is to assign the desired groups to the Fluid Elements. The process<br />
is the same as in other tutorials. A screenshot is given next:<br />
<br />
[[File:DEM 2 tutorial swimming Elements Fluid.png|250px]]<br />
<br />
To finish the elements assignation, though, an additional step is<br />
necessary. The user must specify the FEM element type to be used in the fluid<br />
mesh and the corresponding Property. The next figure shows this:<br />
<br />
[[File:DEM 2 tutorial swimming Elements Fluid Property.png|250px]]<br />
<br />
In this case, the only available element in 3D is the tetrahedra, while the<br />
chosen property was number 1, corresponding to the Water material.<br />
<br />
===Conditions===<br />
We finish the process by assigning the necessary conditions to their<br />
corresponding groups. <br />
====Initial Conditions====<br />
The fluid solver needs some initial conditions in the fluid to solve the<br />
problem. The next figure shows the section:<br />
<br />
[[File:DEM 2 tutorial swimming Initial Conditions.png|200px]]<br />
<br />
For this simulation, an initial vertical value of 1m/s was assigned to the<br />
mass of fluid inside the tube. In this case, no initial pressure was necessary.<br />
<br />
====Boundary Conditions====<br />
*''Inlet velocity''<br />
An inlet velocity is necessary in this simulation for a flow to exist in time<br />
along the interior of the tube. See the next picture:<br />
<br />
[[File:DEM 2 tutorial swimming inlet group.png|200px]]<br />
<br />
A vertical constant flow of 1m/s entering the bottom opening of the tube was<br />
chosen. No Outlet Pressure was needed in the simulation.<br />
*''No-Slip''<br />
The user must tell the program if there exists any relative velocity between<br />
the fluid and the solid boundary. The capture that follows shows the section:<br />
<br />
[[File:DEM 2 tutorial swimming No Slip.png|200px]]<br />
<br />
For this example, a no-slip behaviour was given to the walls. If there had<br />
been additional DEM-FEM entities, an Is-Slip behaviour could have been given<br />
to them.<br />
<br />
==Meshing and Running==<br />
If the user has succesfully assigned to the corresponding groups all the<br />
previous Properties, Elements and Conditions, the only thing that is still<br />
missing is the computational mesh. As already said, all the messing<br />
characteristics has been previously set in this problem, so the user has been<br />
able to focus in the Fluid aspects of the problem type. So to mesh, hit Ctr-G<br />
and enter a value of 0.02 and press OK. A global view of the resulting mesh<br />
should be similar to this one:<br />
<br />
[[File:DEM 2 tutorial swimming mesh.png|350px]]<br />
<br />
On the other hand, the initial DEM spheres mesh should look like the<br />
following:<br />
<br />
[[File:DEM 2 tutorial swimming mesh DEM detail.png|350px]]<br />
<br />
While the inlet surface mesh should be very similar to this:<br />
<br />
[[File:DEM 2 tutorial swimming mesh DEM inlet detail.png|350px]]<br />
<br />
==Results==<br />
Once a mesh is obtained and the file saved, the simulation can be run. To<br />
start the computations, the user must only hit F5 and the simulation will begin.<br />
The next four captures show the resulting simulation at different times:<br />
<br />
[[File:DEM 2 tutorial swimming velocities1of4.png|300px]]<br />
[[File:DEM 2 tutorial swimming velocities2of4.png|300px]]<br />
[[File:DEM 2 tutorial swimming velocities3of4.png|300px]]<br />
[[File:DEM 2 tutorial swimming velocities4of4.png|300px]]<br />
<br />
The next figure shows the stationary pressure field in the fluid:<br />
<br />
[[File:DEM 2 tutorial swimming fluid pressure.png|300px]]<br />
<br />
The user can also make a cut in the mass of fluid and obtained a 2D view of<br />
the velocity field in the fluid:<br />
<br />
[[File:DEM 2 tutorial swimming fluid velocities.png|300px]]</div>Salvahttps://kratos-wiki.cimne.upc.edu/index.php/G-DEMPack2_manualG-DEMPack2 manual2018-06-25T15:22:28Z<p>Salva: </p>
<hr />
<div>This manual is aimed to give detailed explanations on all sections in the DEMPack problem type. For a more practical review, the user is encouraged to check the G-DEMPack Tutorials included in [[DEMPack Tutorials]] page.<br />
<br />
<br />
<br />
== Loading G-DEMPack ==<br />
If you did not install GiD or G-DEMPack yet, follow the installation instructions here: [[G-DEMPack installation]]<br />
<br />
Once you have finished the installation, open GiD and load the G-DEMPack Problemtype by clicking:<br />
Data -> G-DEMPack<br />
Note that a toolbar with 7 buttons has been added to the left side of the GiD working window. This toolbar is called "Model definition toolbar".<br />
<br />
== The Model Definition Toolbar ==<br />
<br />
The buttons in the Model definition toolbar do the following actions:<br />
<br />
* Button 1 - Link to the GiD Groups Management Window<br />
<br />
* Button 2 - Model Definition Tree <br />
<br />
* Button 3 - Materials Tree<br />
<br />
* Button 4 - Running Processes Management Window<br />
<br />
* Button 5 - Run this case<br />
<br />
* Button 6 - Show information about how this case is running<br />
<br />
* Button 7 - Stop this case<br />
<br />
If you experience problems with this toolbar not appearing, deactivate and reactivate it from the GiD utilities:<br />
Utilities -> Tools -> Toolbars <br />
Scroll down to Model Definition Toolbar, hide it and show it. Make sure you choose your favourite position in the GiD Window for this toolbar (Left, Up, Right or Down).<br />
<br />
<br />
== The GiD philosophy ==<br />
<br />
GiD is a Pre and Post Processor, it is not an actual CAD tool. However, it can be used to draw geometries and mesh them. For complicated geometries, we recommend using a CAD tool and importing them into GiD for meshing (or import mesh and apply conditions directly).<br />
In case of drawing geometries with GiD, one must be aware that it uses a Hierarchical Structure: Volumes are created with a set of watertight Surfaces, Surfaces are created with a set of watertight Lines and Lines are created starting and ending in Points. If there are no Points, a Line cannot be created, and the same dependence holds for all levels.<br />
For more information about how to use GiD, visit [http://www.gidhome.com/ GiD's home page] or follow some [http://www.gidhome.com/support/tutorials tutorials]<br />
<br />
<br />
== The Kratos philosophy ==<br />
<br />
The way Kratos applies materials and conditions to the geometry or the mesh is using the Groups. A Group is a set of entities (either in Geometry or in Mesh). A Group can contain any Volume, Surface, Line, Point, Element or Node, no matter whether it is already belonging to other Groups. <br />
<br />
<br />
== The G-DEMPack philosophy ==<br />
<br />
Since DEMPack is based in Kratos and programmed for GiD, it inherits the philosophy of both. The Groups will be the essential tool for assigning materials and conditions. <br />
<br />
<br />
OPTION 1: Use the Groups Management Window to create Groups and move entities into the corresponding Groups. Go to the Model Definition Tree, fill in all the fields and assign conditions to existing Groups (the ones you just created).<br />
<br />
OPTION 2: Fill in all the fields of the Model Definition Tree and when asked for any Group to assign the condition to, use the button for automatic creation of Groups (included in the mini window for condition assignation)<br />
<br />
<br />
== Drawing a Geometry ==<br />
<br />
The first step that an analyst must do is to draw a Geometry. It will contain Volumes, Surfaces, Lines and Points.<br />
<br />
A list of important recommendations and clarifications follows:<br />
<br />
*All those walls that must not be crossed by the discrete elements must be surfaces.<br />
<br />
*Volumes are susceptible to be filled by spheres at the Meshing stage.<br />
<br />
*Inlets are usually Surfaces, but they can also be Points, Lines and Volumes.<br />
<br />
<br />
== Working with a Mesh ==<br />
<br />
If desired, GiD will mesh the Geometry and will convert Points into Nodes, Lines into Linear Elements, Surfaces into Triangles and Volumes into Spheres.<br />
The common size of the mesh must be specified when prompted (when GiD is about to mesh), or different sizes depending on the entities, which can be assigned at any time through the 'Mesh' menu in GiD.<br />
<br />
A list of important recommendations and clarifications follows:<br />
<br />
*Do not specify Quadrilateral Elements or Quadratic Elements for any entity in the meshing options. They are not supported by G-DEMPack. '''This option will be removed in the next DEMPack version.'''<br />
*For any volume that must be filled with packed spheres (Discrete Elements) make sure that you specify Element Type->Sphere in the meshing options. <br />
*All volumes meshed with spheres '''will lose their Surfaces''' unless those surfaces are part of DEMFEM wall group.<br />
<br />
== Model Definition Tree ==<br />
<br />
The Model Definition Tree contains all the options that must be filled in order to run a DEM computation.<br />
<br />
Some of the options are edited directly on the Tree, while others (like the assignation of conditions to Groups) open a '''Mini Window''' to create '''new branches of the Tree'''. No matter what options are chosen in the Mini Window when you click OK, '''the data will be still editable on the new Tree branch'''.<br />
<br />
A contextual help is available on the tree itself. Stop the mouse on any value, label or branch of the tree and some brief help will be displayed.<br />
<br />
<br />
=== Elements ===<br />
<br />
'''DEM element'''<br />
<br />
Double click on this item and a Mini Window will open at the bottom. Assign it to an existing Group (or create the Group on-the-go). This section has the following fields:<br />
<br />
*''Activate:'' Use this to activate or deactivate this group.<br />
*''Material:'' Double-click to choose the material for the group.<br />
*''Use Advanced Meshing Features:'' Set this option to Yes to have access to other meshing criteria other than the default random DEM meshers.<br />
*''Advanced Meshing Features Algorithm Type:'' Here the user can choose between FEMtoDEM and 2Dto3D. The former algorithm uses a original FEM mesh as an starting point to obtain a mesh of spheres, while the latter transforms a random mesh of circles into spheres. For a more detailed explanation of the use of both meshing methodologies, feel free to check [[G-DEMPack Tutorial 3: DEM Meshers]]. The 2Dto3D does not need any additional parameters, while when choosing the FEMtoDEM method, the following fields will show up:<br />
*''FEM to DEM criterion type:'' Here three different criteria can be chosen: Node Based, Element Centroid Based or Both. The first one takes an initial FEM mesh, puts spheres of the desired sizes in each node of the mesh and deletes the initial mesh. The second method does the same process, in this case using the centroids of the FEM mesh elements. Finally, the third criterion does both things.<br />
*''Diameter:'' Here the user can enter the desired average size of the spheres in the mesh.<br />
*''Probability Distribution:'' There are two distribution available: Normal and Logarithmic.<br />
*''Standard Deviation:'' Enter the value of the standard deviation for the desired distribution.<br />
<br />
=== Conditions ===<br />
<br />
'''DEM-FEM wall'''<br />
<br />
It marks a Surface as a Rigid Body which cannot be crossed by the DEM elements. Double click on this item and a Mini Window will open at the bottom. Choose the Group to assign this condition and press OK. The DEM-FEM condition has the following fields:<br />
<br />
*''Activate:'' Use this to activate or deactivate this group.<br />
*''Impose Motion:'' Use this to activate or deactivate an imposed motion for the group. When activated, the following two fields will show up:<br />
*''Linear velocity:'' The user can enter here the values of the velocity field, set Yes in Periodic in the field that follows if that is the case, so a new field will open to enter the Period value, and the desired values to start and finish the linear motion.<br />
*''Angular velocity:'' It follows the same philosophy as the previous section, but in this case it is also necessary to enter a center of rotation for the angular velocity vector.<br />
Finally, there exists a Settings section where the user must enter additional data related to the walls:<br />
*''Update velocity, not displacements:'' If activated, the wall will not move and will just have an imposed velocity field.<br />
*''Friction angle:'' Coulomb friction coefficient in degrees.<br />
*''Cohesive wall:'' Here the user can choose if the wall has a cohesive behavior. If Yes, an additional field will open so that value can be given.<br />
*''Compute Wear:'' When activated, wear will be computed for the wall. Also, three additional fields will open so the user can enter the sensibility of the wall to abrasion and impact as well as its hardness.<br />
*''Rigid Structure:'' An ideally rigid behavior for the wall can be given. When that response is not desired, the user can enter the corresponding Young Modulus and Poisson ratio.<br />
<br />
<br />
'''Inlet'''<br />
<br />
It allows the insertion of new DEM elements into the domain. Double click on this item and a Mini Window will open. Every Mesh Node will insert Elements. Mesh Nodes come usually from the meshing of Points, Lines, Surfaces (recommended) or Volumes. Assign this condition to a Group containing a Surface and the inner and boundary Nodes of this Surface will be generating new DEM elements with the parameters chosen. It consists of the fields that follow:<br />
<br />
*''Activate:'' Use this to activate or deactivate the inlet.<br />
*''Element Type:'' Choose between Spheres or Clusters (group of spheres).<br />
*''Velocity modulus:'' Enter the modulus of the velocity of the inlet particles. Three fields to enter the velocity field follow.<br />
*''Maximum random velocity deviation:'' The maximum value in degrees for an random component that will be added to the previous velocity field.<br />
*''Number of particles:'' Total value of particles per second created by the inlet.<br />
*''Inlet start and stop times:'' Desired times to begin and to finish the insertion of particles.<br />
*''Material:'' Choose the desired material for the inlet particles.<br />
*''Exclude boundaries:'' When set to Yes, the nodes in the boundaries of the inlet entity will not insert particles, only the nodes in the interior will.<br />
*''Diameter:'' Here the user can choose the distribution of sizes of the inserted spheres. It follows a similar structure found in the DEM Element section, refer to that section if in doubt.<br />
*''Impose Motion:'' It has the same components as in the DEM-FEM wall section. Refer to that section for more details.<br />
*''Random Orientation:'' Only active when choosing the Cluster Element Type. When set to No, four additional fields will open so the user can enter an specific orientation for the inlet clusters. Otherwise, the clusters are inserted using a stochastic orientation distribution.<br />
<br />
<br />
'''Prescribe motion on Elements'''<br />
<br />
It allows the imposition and/or restriction of both linear and angular velocities to sets of DEM elements. Double click on this item and a Mini Window will open at the bottom. It will impose or restrict the velocities during a desired interval of time of the Groups of spheres you choose. It consists of the following fields:<br />
<br />
*''Activate:'' To activate or deactivate the prescribed motion on this group. When set to Yes, the Type of Motion field will appear. This Type of Motion can be set to the following two values:<br />
*''Fixed DOFs:'' It consists of six fields to fix the degrees of freedom of the elements in the group. Set Yes on any of them to fix the value of the velocity in the corresponding direction or, in particular, to restrain it along that axis (when set to 0.0). The user can also enter the values of the initial and final times of that motion.<br />
*''Rigid Body Motion:'' Set this option to impose a movement to the group. It is composed of identical fields of those of the Imposed Motion of the previous Conditions sections. Check any of them for reference.<br />
<br />
<br />
'''Initial conditions on Elements'''<br />
<br />
It allows the imposition of initial values for both linear and angular velocities to the desired sets of DEM elements. Double click on this item and a Mini Window will open at the bottom so you will be able to assign those conditions to the Groups of spheres you choose. It structure is similar to previous sections. When Activated, six fields will open so the user can set the initial values of both linear and angular velocities for the group.<br />
<br />
=== General Options ===<br />
General options that affect the computation.<br />
<br />
==== Bounding Box ====<br />
Creates a Box for the computation and every DEM element that gets outside of this Box is '''deleted'''.<br />
<br />
*'''Bounding Box:''' Choose Active to activate it.<br />
<br />
*'''Bounding Box type:''' If 'Automatic' is chosen, the Bounding Box will be created taking into account the initial disposition of elements and walls. It will be created containing the existing entities.<br />
<br />
*'''Enlargement factor:''' only for 'Automatic' Box. Enlarges the Box by a factor.<br />
<br />
*'''Max X:''' Max corner X coordinate<br />
<br />
*'''Max Y:''' Max corner Y coordinate<br />
<br />
*'''Max Z:''' Max corner Z coordinate<br />
<br />
*'''Min X:''' Min corner X coordinate<br />
<br />
*'''Min Y:''' Min corner Y coordinate<br />
<br />
*'''Min Z:''' Min corner Z coordinate<br />
<br />
*'''Start Time:''' Time to activate the bounding box.<br />
<br />
*'''Stop Time:''' Time to stop the effect of the bounding box.<br />
<br />
*'''Print Bounding Box:''' To activate or deactivate the printing of the bounding box.<br />
<br />
==== Physical Options ====<br />
*'''Gravity value:''' Enter the value of the acceleration of Gravity (default value: 9.81 m/s2)<br />
<br />
*'''Gx:''' X component of the versor of the Gravity. The versor does not have to be necessarily unitary.<br />
<br />
*'''Gy:''' Y component of the versor of the Gravity. The versor does not have to be necessarily unitary.<br />
<br />
*'''Gz:''' Z component of the versor of the Gravity. The versor does not have to be necessarily unitary.<br />
<br />
*'''Periodic Domain:''' Set this field to yes to create a parallepipedic periodic domain defined by the bounding box.<br />
<br />
==== Advanced Options ====<br />
*'''Clean initial indentations:''' If activated, initial indentations between spheres and between spheres and walls are eliminated to avoid explosions (reducing the radius of the spheres accordingly)<br />
<br />
*'''Virtual mass coefficient:''' This coefficient will multiply the mass of the DEM elements when computing their accelerations. It is equivalent of reducing the accelerations of the DEM elements by this factor.<br />
<br />
*'''Calculate rotations:''' If activated, the DEM elements will rotate. Otherwise, they will only suffer translations. By default rotations are '''activated'''.<br />
<br />
*'''Rolling friction:''' If activated, the rolling friction parameter of the Material will be taken into account. Otherwise, it will be ignored.<br />
<br />
=== Solution Strategy ===<br />
<br />
==== Time integration scheme ====<br />
Choose the desired explicit time integration scheme for the problem. The options are Symplectic Euler, Forward Euler, Taylor Scheme, Newmark Beta Method or Verlet velocity.<br />
<br />
==== Parallel Type ====<br />
*'''Parallel type:''' locked to OpenMP (MPI will be available in the future)<br />
<br />
*'''Number of threads:''' set the number of threads you want to use for this computation. Do not choose more than the available threads on your computer or the computation will be slower.<br />
<br />
==== Time parameters ====<br />
*'''Delta time:''' Specify the time increment for the calculation. Take into account that a Delta Time too big will make the calculation unstable, and a very small Delta Time can slow down the computation a lot.<br />
<br />
*'''Total time:'''Specify total amount of seconds you want to simulate. The simulation will start at ''time = 0 seconds'' and will finish at ''time = Total time seconds''.<br />
<br />
*'''Info screen output:''' Specify the wall time increment (reality time) between updates on the Info Screen<br />
<br />
*'''Neighbour search frequency:''' choose how often the neighbours are searched. 1 means ''every time step'', 10 means ''1 out of 10 steps''. Take into account that searching at every time step can penalize a lot the computation time, but searching with low frequency can lead to inaccurate results.<br />
<br />
=== Results ===<br />
*'''Output time step:''' Specify the time increment between prints. Every print will write down the necessary files to see the results on the Post-Process of GiD.<br />
<br />
==== Print in Post-process ====<br />
From all the options, choose those that you want to see in Post-process. Keep in mind that activating some of these options can slow down the computation noticeably, by adding function calls and allocating extra memory.<br />
<br />
==== Graphs ====<br />
*'''Force evolution with time:''' Choose Yes to activate it. It will print a file with the Integral of Forces and Torques on the whole chosen Group.<br />
<br />
*'''Printing delta time:''' It shows up when activating the previous field. Here the user can set the time increment between printings<br />
<br />
*'''Force integration group:''' It also only appears when activating the Graphs. Double click on this item and a Mini Window will open. Choose what Groups where you want to integrate the Forces and Torques. A file called '<name_of_the_group>_force_graph.grf' will be printed in the Graphs folder of the GiD project you are working on.<br />
<br />
*'''Compute energy:''' If activated, this option calculates the kinetic, potential, elastic, frictional and viscodamping energies for all particles, both spheres and clusters.<br />
<br />
*'''Potential Energy Reference Point X:''' Choose the reference in the X axis.<br />
<br />
*'''Potential Energy Reference Point Y:''' Choose the reference in the Y axis.<br />
<br />
*'''Potential Energy Reference Point Z:''' Choose the reference in the Z axis.<br />
<br />
==== Velocity Trap ====<br />
Creates a Box inside which several measurements are done: average velocity, entering flux of particles and entering flux of mass.<br />
<br />
*'''Active velocity trap:''' to active or not this feature.<br />
<br />
*'''Max X:''' Maximum X corner coordinate<br />
<br />
*'''Max Y:''' Maximum Y corner coordinate<br />
<br />
*'''Max Z:''' Maximum Z corner coordinate<br />
<br />
*'''Min X:''' Minimum X corner coordinate<br />
<br />
*'''Min Y:''' Minimum Y corner coordinate<br />
<br />
*'''Min Z:''' Minimum Z corner coordinate<br />
<br />
*'''Printing time step:''' To adjust the frequency of the printing data.<br />
<br />
==== Options ====<br />
*'''Result format:''' Choose Binary or Ascii. Ascii takes more hard disk space, but is human readable.<br />
<br />
== Materials Tree ==<br />
<br />
Right click on 'DEM' to create a new material.<br />
<br />
Materials have the following fields to be filled:<br />
<br />
* '''Density:''' that of the material, not bulk density<br />
* '''Young's Modulus:''' that of the material, not bulk stiffness<br />
* '''Poisson's Ratio:''' that of the material, not bulk ratio<br />
* '''Cohesion:''' JKR parameter<br />
* '''Friction angle:''' Particle friction angle (for Coulomb's friction). The tangent of this angle will be used to evaluate the beginning of slip.<br />
* '''Coefficient of restitution:''' Desired quotient of exit velocity over incident velocity for collisions.<br />
* '''Color:''' just a color for post-process<br />
* '''Discontinuous Contact Law:''' Choose Linear or Hertz. The implementation of the contact laws is based on the models LSD and HMD, compiled and arranged in the paper: C.Thornton, S.J. Cummins, P.W. Cleary, ''An investigation of the comparative behaviour of alternative contact force models during inelastic collisions''. Powder Technology. Volume 233, Pages 30–46, January 2013<br />
* '''Cohesion Law:''' The user can choose between two different cohesion laws: JKR and DMT. The first one works better for soft, large adhesive spheres, while the second, on the contrary, is designed for hard, small non-adhesive ones.</div>Salvahttps://kratos-wiki.cimne.upc.edu/index.php/G-DEMPack_Tutorial_3:_DEM_MeshersG-DEMPack Tutorial 3: DEM Meshers2018-06-25T15:20:08Z<p>Salva: /* Introduction */</p>
<hr />
<div>===Introduction===<br />
<br />
This tutorial gives a practical view of the meshers explained in the [[G-DEMPack2 manual]]. To follow this tutorial, you must first download the GiD file [[File:D DEMPack2 Tutorial 3.zip]], which includes the geometries that will be meshed and the corresponding assignation of groups. To learn how to create geometries and how to assign them to groups please check [http://www.gidhome.com/support/tutorials here] and [[G-DEMPack Tutorial 2: DemPack 2.0]] respectively.<br />
<br />
===Point===<br />
In this simplest case, we only have to give the mesher a diameter for the sphere in point. To enter the mesher settings for the point, go to the DEM Element subtree, double-click on 'Use Advanced Meshing Features' and Choose Yes by using the inverted triangle that sits on the right of the default value of No. The fields corresponding to the different meshers will open after selecting Yes. The program now lets you choose which algorithm type you would like to use. In this case we must use the FEMtoDEM, the other one does not make any sense. About the criterion type, in this case it does not matter which one you choose because in this particular case the three methods coincide, so we just choose Node based. The mesher now asks you for a diameter and for the characteristics of the distribution. We can for example assign a diameter of size of 0.4m, a normal distribution and a standard deviation of 0.<br />
<br />
===Line===<br />
When meshing the line group, we first have to choose the size of the FEM elements (line elements in this case), which will determine the distribution of spheres in space. We can do this by going to Mesh > Unstructured > Assign sizes on lines. In the window that shows up we can enter, for example, a value of 0.25 and click Assign. We then click on the line and press Esc. The previous window will show up again in case we would like to add more line entities. In this case is not necessary, so we just press Close to finish with this assignation.<br />
To enter the mesher settings for the line, we simply go again to the DEM Element subtree, double-click on 'Use Advanced Meshing Features' and Choose Yes. In this case we also choose the FEMtoDEM but choose the Element Centroid Base criterion instead. We enter a value of 0.15m, choose for example a Log distribution and a standard deviation of 0.15.<br />
<br />
===Triangles===<br />
We can mesh a surface with spheres by using a FEM mesh as a starting point. In this case we will mesh the given surface with a mesh size of 0.5m. To assign this mesh size to the triangles group, we must assign this mesh size to the 3 types of entities in the group, that is, to every surface, line and point in it. To do so, we follow the same procedure as in the line group, we start by going to Mesh > Unstructured > Assign sizes on surfaces, we enter 0.5 in the window that pops up, click on Assign, select the surface in the triangles group and press Esc. The previous window will show up again. Press Close to close it. We must repeat the same process, in this case for lines and points, so we must go to Mesh > Unstructured > Assign sizes on lines and Mesh > Unstructured > Assign sizes on points respectively and choose again the 0.5m value for both cases. Following the same procedure as in the line group, we go to the DEM Elements section and choose the FEMtoDEM algorithm type and the Both Nodes and Centroid criterion. We can also set a diameter of 0.15m, a normal distribution and a standard deviation of 0.15.<br />
<br />
===Quadrilaterals===<br />
We will now mesh the quadrilaterals group with spheres using a background of a FEM of quadrilaterals. We will divide the surface of the group in 2 elements vertically by 3 horizontally and mesh in the nodes of the resulting FEM mesh. To do so, we go to Mesh > Structured > Surfaces > Assign number of cells, click on the quadrilaterals surface and hit Esc. In the window that opens, we enter 2, press Assign, select the line at the bottom of the surface (the line at the top will be automatically assigned) and hit Esc. The previous window will show up again. We enter 3, click Assign, select one of the vertical lines, hit Esc and close the window. We finish by going to DEM Elements and choosing FEMtoDEM, Node Based, a diameter of 0.2m, a log distribution and a standard deviation of 0.1.<br />
<br />
===Tetrahedra===<br />
We will mesh the tetrahedra group with spheres by situating them in the centroids of a mesh of tetrahedra. Following a procedure similar to the previous groups, we go to Mesh > Unstructured and assign a size of 0.5m to the volume and all surfaces, lines and points in the group. In this case, we can for example go to the DEM Element section and use a settings of Element Centroid Based, a diameter of 0.15m, a log distribution and a null standard deviation.<br />
<br />
===Hexahedra===<br />
The hexahedra group will be meshed using spheres situated in the nodes and centroids of a mesh of hexahedra. We start by assigning the group an hexahedra element type by going to Mesh > Element Type > Hexahedra, selecting the volume in the group and pressing Esc. We will then divide the volume of the group in 2 elements vertically by 2 horizontally. To do so, we go to Mesh > Structured > Volumes > Assign number of cells, click on the volume in hexahedra and hit Esc. In the window that opens, we enter 2, press Assign, select all the lines in the group and hit Esc. The previous window will show up again so we close it to finish with the size assignation. In th DEM Element section we will choose Node Based criterion type, a diameter of 0.2m, normal distribution and a 0.2 standard deviation.<br />
<br />
===Circles===<br />
Finally, we will mesh the circles group by transforming a mesh of circles into spheres. In this case we will use an aleatoric circle mesher, unlike we have done in previous group, where we used a cartesian distribution of spheres. Please take into account that in this case the Rball circle mesher must be used or there might be errors. Make sure that that mesher is set by going to Utilities >Preferences > Sphere/Circle > Selected mesher. So we start by assigning a circle element type to the group by going to Mesh > Element Type > Circle, selecting the surface in the group and hitting Esc. We then go to the DEM Element tree and choose the 2Dto3D algorithm type. We can assign a circle size of 0.2m by going to Mesh > Unstructured > Assign sizes on surfaces, inserting 0.2, clicking on Assign and selecting the surface in the group, pressing Esc and Close.<br />
<br />
===Plane (FEM)===<br />
We can mesh the FEM plane with a very coarse mesh, in this case we can use a mesh size of 9m. To tell GiD that we would like to use this mesh size, we proceed as in previous groups, by going to Mesh > Unstructured and assigning a size of 9m to points, lines and surfaces of the group in the usual fashion.<br />
<br />
To mesh, we simply press Ctrl-G and enter a size of 0.2. We can now save the file and launch the simulation. After a few seconds, we can shift to the Postprocess to load the results. The figures that follows show the expected solution.<br />
<br />
[[File:DEMPack tut3 global view.png|800px]]<br />
<br />
[[File:DEMPack tut3 groups.png]]<br />
<br />
[[File:DEMPack tut3 type of element 2.png|800px]]<br />
<br />
[[File:DEMPack tut3 type of element 4.png|800px]]<br />
<br />
[[File:DEMPack tut3 type of element 3.png|800px]]<br />
<br />
[[File:DEMPack tut3 vid 1 of 4.png|600px]][[File:DEMPack tut3 vid 2 of 4.png|600px]]<br />
[[File:DEMPack tut3 vid 3 of 4.png|600px]][[File:DEMPack tut3 vid 4 of 4.png|600px]]</div>Salvahttps://kratos-wiki.cimne.upc.edu/index.php/G-DEMPack2_manualG-DEMPack2 manual2018-06-25T15:16:47Z<p>Salva: /* Loading D-DEMPack */</p>
<hr />
<div>This manual is aimed to give detailed explanations on all sections in the D-DEMPack problem type. For a more practical review, the user is encouraged to check the D-DEMPack Tutorials included in [[DEMPack Tutorials]] page.<br />
<br />
<br />
<br />
== Loading D-DEMPack ==<br />
If you did not install GiD or D-DEMPack yet, follow the installation instructions here: [[G-DEMPack installation]]<br />
<br />
Once you have finished the installation, open GiD and load the D-DEMPack Problemtype by clicking:<br />
Data -> D-DEMPack<br />
Note that a toolbar with 7 buttons has been added to the left side of the GiD working window. This toolbar is called "Model definition toolbar".<br />
<br />
== The Model Definition Toolbar ==<br />
<br />
The buttons in the Model definition toolbar do the following actions:<br />
<br />
* Button 1 - Link to the GiD Groups Management Window<br />
<br />
* Button 2 - Model Definition Tree <br />
<br />
* Button 3 - Materials Tree<br />
<br />
* Button 4 - Running Processes Management Window<br />
<br />
* Button 5 - Run this case<br />
<br />
* Button 6 - Show information about how this case is running<br />
<br />
* Button 7 - Stop this case<br />
<br />
If you experience problems with this toolbar not appearing, deactivate and reactivate it from the GiD utilities:<br />
Utilities -> Tools -> Toolbars <br />
Scroll down to Model Definition Toolbar, hide it and show it. Make sure you choose your favourite position in the GiD Window for this toolbar (Left, Up, Right or Down).<br />
<br />
<br />
== The GiD philosophy ==<br />
<br />
GiD is a Pre and Post Processor, it is not an actual CAD tool. However, it can be used to draw geometries and mesh them. For complicated geometries, we recommend using a CAD tool and importing them into GiD for meshing (or import mesh and apply conditions directly).<br />
In case of drawing geometries with GiD, one must be aware that it uses a Hierarchical Structure: Volumes are created with a set of watertight Surfaces, Surfaces are created with a set of watertight Lines and Lines are created starting and ending in Points. If there are no Points, a Line cannot be created, and the same dependence holds for all levels.<br />
For more information about how to use GiD, visit [http://www.gidhome.com/ GiD's home page] or follow some [http://www.gidhome.com/support/tutorials tutorials]<br />
<br />
<br />
== The Kratos philosophy ==<br />
<br />
The way Kratos applies materials and conditions to the geometry or the mesh is using the Groups. A Group is a set of entities (either in Geometry or in Mesh). A Group can contain any Volume, Surface, Line, Point, Element or Node, no matter whether it is already belonging to other Groups. <br />
<br />
<br />
== The D-DEMPack philosophy ==<br />
<br />
Since DEMPack is based in Kratos and programmed for GiD, it inherits the philosophy of both. The Groups will be the essential tool for assigning materials and conditions. <br />
<br />
<br />
OPTION 1: Use the Groups Management Window to create Groups and move entities into the corresponding Groups. Go to the Model Definition Tree, fill in all the fields and assign conditions to existing Groups (the ones you just created).<br />
<br />
OPTION 2: Fill in all the fields of the Model Definition Tree and when asked for any Group to assign the condition to, use the button for automatic creation of Groups (included in the mini window for condition assignation)<br />
<br />
<br />
== Drawing a Geometry ==<br />
<br />
The first step that an analyst must do is to draw a Geometry. It will contain Volumes, Surfaces, Lines and Points.<br />
<br />
A list of important recommendations and clarifications follows:<br />
<br />
*All those walls that must not be crossed by the discrete elements must be surfaces.<br />
<br />
*Volumes are susceptible to be filled by spheres at the Meshing stage.<br />
<br />
*Inlets are usually Surfaces, but they can also be Points, Lines and Volumes.<br />
<br />
<br />
== Working with a Mesh ==<br />
<br />
If desired, GiD will mesh the Geometry and will convert Points into Nodes, Lines into Linear Elements, Surfaces into Triangles and Volumes into Spheres.<br />
The common size of the mesh must be specified when prompted (when GiD is about to mesh), or different sizes depending on the entities, which can be assigned at any time through the 'Mesh' menu in GiD.<br />
<br />
A list of important recommendations and clarifications follows:<br />
<br />
*Do not specify Quadrilateral Elements or Quadratic Elements for any entity in the meshing options. They are not supported by D-DEMPack. '''This option will be removed in the next DEMPack version.'''<br />
*For any volume that must be filled with packed spheres (Discrete Elements) make sure that you specify Element Type->Sphere in the meshing options. <br />
*All volumes meshed with spheres '''will lose their Surfaces''' unless those surfaces are part of DEMFEM wall group.<br />
<br />
== Model Definition Tree ==<br />
<br />
The Model Definition Tree contains all the options that must be filled in order to run a DEM computation.<br />
<br />
Some of the options are edited directly on the Tree, while others (like the assignation of conditions to Groups) open a '''Mini Window''' to create '''new branches of the Tree'''. No matter what options are chosen in the Mini Window when you click OK, '''the data will be still editable on the new Tree branch'''.<br />
<br />
A contextual help is available on the tree itself. Stop the mouse on any value, label or branch of the tree and some brief help will be displayed.<br />
<br />
<br />
=== Elements ===<br />
<br />
'''DEM element'''<br />
<br />
Double click on this item and a Mini Window will open at the bottom. Assign it to an existing Group (or create the Group on-the-go). This section has the following fields:<br />
<br />
*''Activate:'' Use this to activate or deactivate this group.<br />
*''Material:'' Double-click to choose the material for the group.<br />
*''Use Advanced Meshing Features:'' Set this option to Yes to have access to other meshing criteria other than the default random DEM meshers.<br />
*''Advanced Meshing Features Algorithm Type:'' Here the user can choose between FEMtoDEM and 2Dto3D. The former algorithm uses a original FEM mesh as an starting point to obtain a mesh of spheres, while the latter transforms a random mesh of circles into spheres. For a more detailed explanation of the use of both meshing methodologies, feel free to check [[G-DEMPack Tutorial 3: DEM Meshers]]. The 2Dto3D does not need any additional parameters, while when choosing the FEMtoDEM method, the following fields will show up:<br />
*''FEM to DEM criterion type:'' Here three different criteria can be chosen: Node Based, Element Centroid Based or Both. The first one takes an initial FEM mesh, puts spheres of the desired sizes in each node of the mesh and deletes the initial mesh. The second method does the same process, in this case using the centroids of the FEM mesh elements. Finally, the third criterion does both things.<br />
*''Diameter:'' Here the user can enter the desired average size of the spheres in the mesh.<br />
*''Probability Distribution:'' There are two distribution available: Normal and Logarithmic.<br />
*''Standard Deviation:'' Enter the value of the standard deviation for the desired distribution.<br />
<br />
=== Conditions ===<br />
<br />
'''DEM-FEM wall'''<br />
<br />
It marks a Surface as a Rigid Body which cannot be crossed by the DEM elements. Double click on this item and a Mini Window will open at the bottom. Choose the Group to assign this condition and press OK. The DEM-FEM condition has the following fields:<br />
<br />
*''Activate:'' Use this to activate or deactivate this group.<br />
*''Impose Motion:'' Use this to activate or deactivate an imposed motion for the group. When activated, the following two fields will show up:<br />
*''Linear velocity:'' The user can enter here the values of the velocity field, set Yes in Periodic in the field that follows if that is the case, so a new field will open to enter the Period value, and the desired values to start and finish the linear motion.<br />
*''Angular velocity:'' It follows the same philosophy as the previous section, but in this case it is also necessary to enter a center of rotation for the angular velocity vector.<br />
Finally, there exists a Settings section where the user must enter additional data related to the walls:<br />
*''Update velocity, not displacements:'' If activated, the wall will not move and will just have an imposed velocity field.<br />
*''Friction angle:'' Coulomb friction coefficient in degrees.<br />
*''Cohesive wall:'' Here the user can choose if the wall has a cohesive behavior. If Yes, an additional field will open so that value can be given.<br />
*''Compute Wear:'' When activated, wear will be computed for the wall. Also, three additional fields will open so the user can enter the sensibility of the wall to abrasion and impact as well as its hardness.<br />
*''Rigid Structure:'' An ideally rigid behavior for the wall can be given. When that response is not desired, the user can enter the corresponding Young Modulus and Poisson ratio.<br />
<br />
<br />
'''Inlet'''<br />
<br />
It allows the insertion of new DEM elements into the domain. Double click on this item and a Mini Window will open. Every Mesh Node will insert Elements. Mesh Nodes come usually from the meshing of Points, Lines, Surfaces (recommended) or Volumes. Assign this condition to a Group containing a Surface and the inner and boundary Nodes of this Surface will be generating new DEM elements with the parameters chosen. It consists of the fields that follow:<br />
<br />
*''Activate:'' Use this to activate or deactivate the inlet.<br />
*''Element Type:'' Choose between Spheres or Clusters (group of spheres).<br />
*''Velocity modulus:'' Enter the modulus of the velocity of the inlet particles. Three fields to enter the velocity field follow.<br />
*''Maximum random velocity deviation:'' The maximum value in degrees for an random component that will be added to the previous velocity field.<br />
*''Number of particles:'' Total value of particles per second created by the inlet.<br />
*''Inlet start and stop times:'' Desired times to begin and to finish the insertion of particles.<br />
*''Material:'' Choose the desired material for the inlet particles.<br />
*''Exclude boundaries:'' When set to Yes, the nodes in the boundaries of the inlet entity will not insert particles, only the nodes in the interior will.<br />
*''Diameter:'' Here the user can choose the distribution of sizes of the inserted spheres. It follows a similar structure found in the DEM Element section, refer to that section if in doubt.<br />
*''Impose Motion:'' It has the same components as in the DEM-FEM wall section. Refer to that section for more details.<br />
*''Random Orientation:'' Only active when choosing the Cluster Element Type. When set to No, four additional fields will open so the user can enter an specific orientation for the inlet clusters. Otherwise, the clusters are inserted using a stochastic orientation distribution.<br />
<br />
<br />
'''Prescribe motion on Elements'''<br />
<br />
It allows the imposition and/or restriction of both linear and angular velocities to sets of DEM elements. Double click on this item and a Mini Window will open at the bottom. It will impose or restrict the velocities during a desired interval of time of the Groups of spheres you choose. It consists of the following fields:<br />
<br />
*''Activate:'' To activate or deactivate the prescribed motion on this group. When set to Yes, the Type of Motion field will appear. This Type of Motion can be set to the following two values:<br />
*''Fixed DOFs:'' It consists of six fields to fix the degrees of freedom of the elements in the group. Set Yes on any of them to fix the value of the velocity in the corresponding direction or, in particular, to restrain it along that axis (when set to 0.0). The user can also enter the values of the initial and final times of that motion.<br />
*''Rigid Body Motion:'' Set this option to impose a movement to the group. It is composed of identical fields of those of the Imposed Motion of the previous Conditions sections. Check any of them for reference.<br />
<br />
<br />
'''Initial conditions on Elements'''<br />
<br />
It allows the imposition of initial values for both linear and angular velocities to the desired sets of DEM elements. Double click on this item and a Mini Window will open at the bottom so you will be able to assign those conditions to the Groups of spheres you choose. It structure is similar to previous sections. When Activated, six fields will open so the user can set the initial values of both linear and angular velocities for the group.<br />
<br />
=== General Options ===<br />
General options that affect the computation.<br />
<br />
==== Bounding Box ====<br />
Creates a Box for the computation and every DEM element that gets outside of this Box is '''deleted'''.<br />
<br />
*'''Bounding Box:''' Choose Active to activate it.<br />
<br />
*'''Bounding Box type:''' If 'Automatic' is chosen, the Bounding Box will be created taking into account the initial disposition of elements and walls. It will be created containing the existing entities.<br />
<br />
*'''Enlargement factor:''' only for 'Automatic' Box. Enlarges the Box by a factor.<br />
<br />
*'''Max X:''' Max corner X coordinate<br />
<br />
*'''Max Y:''' Max corner Y coordinate<br />
<br />
*'''Max Z:''' Max corner Z coordinate<br />
<br />
*'''Min X:''' Min corner X coordinate<br />
<br />
*'''Min Y:''' Min corner Y coordinate<br />
<br />
*'''Min Z:''' Min corner Z coordinate<br />
<br />
*'''Start Time:''' Time to activate the bounding box.<br />
<br />
*'''Stop Time:''' Time to stop the effect of the bounding box.<br />
<br />
*'''Print Bounding Box:''' To activate or deactivate the printing of the bounding box.<br />
<br />
==== Physical Options ====<br />
*'''Gravity value:''' Enter the value of the acceleration of Gravity (default value: 9.81 m/s2)<br />
<br />
*'''Gx:''' X component of the versor of the Gravity. The versor does not have to be necessarily unitary.<br />
<br />
*'''Gy:''' Y component of the versor of the Gravity. The versor does not have to be necessarily unitary.<br />
<br />
*'''Gz:''' Z component of the versor of the Gravity. The versor does not have to be necessarily unitary.<br />
<br />
*'''Periodic Domain:''' Set this field to yes to create a parallepipedic periodic domain defined by the bounding box.<br />
<br />
==== Advanced Options ====<br />
*'''Clean initial indentations:''' If activated, initial indentations between spheres and between spheres and walls are eliminated to avoid explosions (reducing the radius of the spheres accordingly)<br />
<br />
*'''Virtual mass coefficient:''' This coefficient will multiply the mass of the DEM elements when computing their accelerations. It is equivalent of reducing the accelerations of the DEM elements by this factor.<br />
<br />
*'''Calculate rotations:''' If activated, the DEM elements will rotate. Otherwise, they will only suffer translations. By default rotations are '''activated'''.<br />
<br />
*'''Rolling friction:''' If activated, the rolling friction parameter of the Material will be taken into account. Otherwise, it will be ignored.<br />
<br />
=== Solution Strategy ===<br />
<br />
==== Time integration scheme ====<br />
Choose the desired explicit time integration scheme for the problem. The options are Symplectic Euler, Forward Euler, Taylor Scheme, Newmark Beta Method or Verlet velocity.<br />
<br />
==== Parallel Type ====<br />
*'''Parallel type:''' locked to OpenMP (MPI will be available in the future)<br />
<br />
*'''Number of threads:''' set the number of threads you want to use for this computation. Do not choose more than the available threads on your computer or the computation will be slower.<br />
<br />
==== Time parameters ====<br />
*'''Delta time:''' Specify the time increment for the calculation. Take into account that a Delta Time too big will make the calculation unstable, and a very small Delta Time can slow down the computation a lot.<br />
<br />
*'''Total time:'''Specify total amount of seconds you want to simulate. The simulation will start at ''time = 0 seconds'' and will finish at ''time = Total time seconds''.<br />
<br />
*'''Info screen output:''' Specify the wall time increment (reality time) between updates on the Info Screen<br />
<br />
*'''Neighbour search frequency:''' choose how often the neighbours are searched. 1 means ''every time step'', 10 means ''1 out of 10 steps''. Take into account that searching at every time step can penalize a lot the computation time, but searching with low frequency can lead to inaccurate results.<br />
<br />
=== Results ===<br />
*'''Output time step:''' Specify the time increment between prints. Every print will write down the necessary files to see the results on the Post-Process of GiD.<br />
<br />
==== Print in Post-process ====<br />
From all the options, choose those that you want to see in Post-process. Keep in mind that activating some of these options can slow down the computation noticeably, by adding function calls and allocating extra memory.<br />
<br />
==== Graphs ====<br />
*'''Force evolution with time:''' Choose Yes to activate it. It will print a file with the Integral of Forces and Torques on the whole chosen Group.<br />
<br />
*'''Printing delta time:''' It shows up when activating the previous field. Here the user can set the time increment between printings<br />
<br />
*'''Force integration group:''' It also only appears when activating the Graphs. Double click on this item and a Mini Window will open. Choose what Groups where you want to integrate the Forces and Torques. A file called '<name_of_the_group>_force_graph.grf' will be printed in the Graphs folder of the GiD project you are working on.<br />
<br />
*'''Compute energy:''' If activated, this option calculates the kinetic, potential, elastic, frictional and viscodamping energies for all particles, both spheres and clusters.<br />
<br />
*'''Potential Energy Reference Point X:''' Choose the reference in the X axis.<br />
<br />
*'''Potential Energy Reference Point Y:''' Choose the reference in the Y axis.<br />
<br />
*'''Potential Energy Reference Point Z:''' Choose the reference in the Z axis.<br />
<br />
==== Velocity Trap ====<br />
Creates a Box inside which several measurements are done: average velocity, entering flux of particles and entering flux of mass.<br />
<br />
*'''Active velocity trap:''' to active or not this feature.<br />
<br />
*'''Max X:''' Maximum X corner coordinate<br />
<br />
*'''Max Y:''' Maximum Y corner coordinate<br />
<br />
*'''Max Z:''' Maximum Z corner coordinate<br />
<br />
*'''Min X:''' Minimum X corner coordinate<br />
<br />
*'''Min Y:''' Minimum Y corner coordinate<br />
<br />
*'''Min Z:''' Minimum Z corner coordinate<br />
<br />
*'''Printing time step:''' To adjust the frequency of the printing data.<br />
<br />
==== Options ====<br />
*'''Result format:''' Choose Binary or Ascii. Ascii takes more hard disk space, but is human readable.<br />
<br />
== Materials Tree ==<br />
<br />
Right click on 'DEM' to create a new material.<br />
<br />
Materials have the following fields to be filled:<br />
<br />
* '''Density:''' that of the material, not bulk density<br />
* '''Young's Modulus:''' that of the material, not bulk stiffness<br />
* '''Poisson's Ratio:''' that of the material, not bulk ratio<br />
* '''Cohesion:''' JKR parameter<br />
* '''Friction angle:''' Particle friction angle (for Coulomb's friction). The tangent of this angle will be used to evaluate the beginning of slip.<br />
* '''Coefficient of restitution:''' Desired quotient of exit velocity over incident velocity for collisions.<br />
* '''Color:''' just a color for post-process<br />
* '''Discontinuous Contact Law:''' Choose Linear or Hertz. The implementation of the contact laws is based on the models LSD and HMD, compiled and arranged in the paper: C.Thornton, S.J. Cummins, P.W. Cleary, ''An investigation of the comparative behaviour of alternative contact force models during inelastic collisions''. Powder Technology. Volume 233, Pages 30–46, January 2013<br />
* '''Cohesion Law:''' The user can choose between two different cohesion laws: JKR and DMT. The first one works better for soft, large adhesive spheres, while the second, on the contrary, is designed for hard, small non-adhesive ones.</div>Salvahttps://kratos-wiki.cimne.upc.edu/index.php/G-DEMPack2_manualG-DEMPack2 manual2018-06-25T15:15:32Z<p>Salva: /* Elements */</p>
<hr />
<div>This manual is aimed to give detailed explanations on all sections in the D-DEMPack problem type. For a more practical review, the user is encouraged to check the D-DEMPack Tutorials included in [[DEMPack Tutorials]] page.<br />
<br />
<br />
<br />
== Loading D-DEMPack ==<br />
If you did not install GiD or D-DEMPack yet, follow the installation instructions here: [[D-DEMPack installation]]<br />
<br />
Once you have finished the installation, open GiD and load the D-DEMPack Problemtype by clicking:<br />
Data -> D-DEMPack<br />
Note that a toolbar with 7 buttons has been added to the left side of the GiD working window. This toolbar is called "Model definition toolbar". <br />
<br />
<br />
== The Model Definition Toolbar ==<br />
<br />
The buttons in the Model definition toolbar do the following actions:<br />
<br />
* Button 1 - Link to the GiD Groups Management Window<br />
<br />
* Button 2 - Model Definition Tree <br />
<br />
* Button 3 - Materials Tree<br />
<br />
* Button 4 - Running Processes Management Window<br />
<br />
* Button 5 - Run this case<br />
<br />
* Button 6 - Show information about how this case is running<br />
<br />
* Button 7 - Stop this case<br />
<br />
If you experience problems with this toolbar not appearing, deactivate and reactivate it from the GiD utilities:<br />
Utilities -> Tools -> Toolbars <br />
Scroll down to Model Definition Toolbar, hide it and show it. Make sure you choose your favourite position in the GiD Window for this toolbar (Left, Up, Right or Down).<br />
<br />
<br />
== The GiD philosophy ==<br />
<br />
GiD is a Pre and Post Processor, it is not an actual CAD tool. However, it can be used to draw geometries and mesh them. For complicated geometries, we recommend using a CAD tool and importing them into GiD for meshing (or import mesh and apply conditions directly).<br />
In case of drawing geometries with GiD, one must be aware that it uses a Hierarchical Structure: Volumes are created with a set of watertight Surfaces, Surfaces are created with a set of watertight Lines and Lines are created starting and ending in Points. If there are no Points, a Line cannot be created, and the same dependence holds for all levels.<br />
For more information about how to use GiD, visit [http://www.gidhome.com/ GiD's home page] or follow some [http://www.gidhome.com/support/tutorials tutorials]<br />
<br />
<br />
== The Kratos philosophy ==<br />
<br />
The way Kratos applies materials and conditions to the geometry or the mesh is using the Groups. A Group is a set of entities (either in Geometry or in Mesh). A Group can contain any Volume, Surface, Line, Point, Element or Node, no matter whether it is already belonging to other Groups. <br />
<br />
<br />
== The D-DEMPack philosophy ==<br />
<br />
Since DEMPack is based in Kratos and programmed for GiD, it inherits the philosophy of both. The Groups will be the essential tool for assigning materials and conditions. <br />
<br />
<br />
OPTION 1: Use the Groups Management Window to create Groups and move entities into the corresponding Groups. Go to the Model Definition Tree, fill in all the fields and assign conditions to existing Groups (the ones you just created).<br />
<br />
OPTION 2: Fill in all the fields of the Model Definition Tree and when asked for any Group to assign the condition to, use the button for automatic creation of Groups (included in the mini window for condition assignation)<br />
<br />
<br />
== Drawing a Geometry ==<br />
<br />
The first step that an analyst must do is to draw a Geometry. It will contain Volumes, Surfaces, Lines and Points.<br />
<br />
A list of important recommendations and clarifications follows:<br />
<br />
*All those walls that must not be crossed by the discrete elements must be surfaces.<br />
<br />
*Volumes are susceptible to be filled by spheres at the Meshing stage.<br />
<br />
*Inlets are usually Surfaces, but they can also be Points, Lines and Volumes.<br />
<br />
<br />
== Working with a Mesh ==<br />
<br />
If desired, GiD will mesh the Geometry and will convert Points into Nodes, Lines into Linear Elements, Surfaces into Triangles and Volumes into Spheres.<br />
The common size of the mesh must be specified when prompted (when GiD is about to mesh), or different sizes depending on the entities, which can be assigned at any time through the 'Mesh' menu in GiD.<br />
<br />
A list of important recommendations and clarifications follows:<br />
<br />
*Do not specify Quadrilateral Elements or Quadratic Elements for any entity in the meshing options. They are not supported by D-DEMPack. '''This option will be removed in the next DEMPack version.'''<br />
*For any volume that must be filled with packed spheres (Discrete Elements) make sure that you specify Element Type->Sphere in the meshing options. <br />
*All volumes meshed with spheres '''will lose their Surfaces''' unless those surfaces are part of DEMFEM wall group.<br />
<br />
== Model Definition Tree ==<br />
<br />
The Model Definition Tree contains all the options that must be filled in order to run a DEM computation.<br />
<br />
Some of the options are edited directly on the Tree, while others (like the assignation of conditions to Groups) open a '''Mini Window''' to create '''new branches of the Tree'''. No matter what options are chosen in the Mini Window when you click OK, '''the data will be still editable on the new Tree branch'''.<br />
<br />
A contextual help is available on the tree itself. Stop the mouse on any value, label or branch of the tree and some brief help will be displayed.<br />
<br />
<br />
=== Elements ===<br />
<br />
'''DEM element'''<br />
<br />
Double click on this item and a Mini Window will open at the bottom. Assign it to an existing Group (or create the Group on-the-go). This section has the following fields:<br />
<br />
*''Activate:'' Use this to activate or deactivate this group.<br />
*''Material:'' Double-click to choose the material for the group.<br />
*''Use Advanced Meshing Features:'' Set this option to Yes to have access to other meshing criteria other than the default random DEM meshers.<br />
*''Advanced Meshing Features Algorithm Type:'' Here the user can choose between FEMtoDEM and 2Dto3D. The former algorithm uses a original FEM mesh as an starting point to obtain a mesh of spheres, while the latter transforms a random mesh of circles into spheres. For a more detailed explanation of the use of both meshing methodologies, feel free to check [[G-DEMPack Tutorial 3: DEM Meshers]]. The 2Dto3D does not need any additional parameters, while when choosing the FEMtoDEM method, the following fields will show up:<br />
*''FEM to DEM criterion type:'' Here three different criteria can be chosen: Node Based, Element Centroid Based or Both. The first one takes an initial FEM mesh, puts spheres of the desired sizes in each node of the mesh and deletes the initial mesh. The second method does the same process, in this case using the centroids of the FEM mesh elements. Finally, the third criterion does both things.<br />
*''Diameter:'' Here the user can enter the desired average size of the spheres in the mesh.<br />
*''Probability Distribution:'' There are two distribution available: Normal and Logarithmic.<br />
*''Standard Deviation:'' Enter the value of the standard deviation for the desired distribution.<br />
<br />
=== Conditions ===<br />
<br />
'''DEM-FEM wall'''<br />
<br />
It marks a Surface as a Rigid Body which cannot be crossed by the DEM elements. Double click on this item and a Mini Window will open at the bottom. Choose the Group to assign this condition and press OK. The DEM-FEM condition has the following fields:<br />
<br />
*''Activate:'' Use this to activate or deactivate this group.<br />
*''Impose Motion:'' Use this to activate or deactivate an imposed motion for the group. When activated, the following two fields will show up:<br />
*''Linear velocity:'' The user can enter here the values of the velocity field, set Yes in Periodic in the field that follows if that is the case, so a new field will open to enter the Period value, and the desired values to start and finish the linear motion.<br />
*''Angular velocity:'' It follows the same philosophy as the previous section, but in this case it is also necessary to enter a center of rotation for the angular velocity vector.<br />
Finally, there exists a Settings section where the user must enter additional data related to the walls:<br />
*''Update velocity, not displacements:'' If activated, the wall will not move and will just have an imposed velocity field.<br />
*''Friction angle:'' Coulomb friction coefficient in degrees.<br />
*''Cohesive wall:'' Here the user can choose if the wall has a cohesive behavior. If Yes, an additional field will open so that value can be given.<br />
*''Compute Wear:'' When activated, wear will be computed for the wall. Also, three additional fields will open so the user can enter the sensibility of the wall to abrasion and impact as well as its hardness.<br />
*''Rigid Structure:'' An ideally rigid behavior for the wall can be given. When that response is not desired, the user can enter the corresponding Young Modulus and Poisson ratio.<br />
<br />
<br />
'''Inlet'''<br />
<br />
It allows the insertion of new DEM elements into the domain. Double click on this item and a Mini Window will open. Every Mesh Node will insert Elements. Mesh Nodes come usually from the meshing of Points, Lines, Surfaces (recommended) or Volumes. Assign this condition to a Group containing a Surface and the inner and boundary Nodes of this Surface will be generating new DEM elements with the parameters chosen. It consists of the fields that follow:<br />
<br />
*''Activate:'' Use this to activate or deactivate the inlet.<br />
*''Element Type:'' Choose between Spheres or Clusters (group of spheres).<br />
*''Velocity modulus:'' Enter the modulus of the velocity of the inlet particles. Three fields to enter the velocity field follow.<br />
*''Maximum random velocity deviation:'' The maximum value in degrees for an random component that will be added to the previous velocity field.<br />
*''Number of particles:'' Total value of particles per second created by the inlet.<br />
*''Inlet start and stop times:'' Desired times to begin and to finish the insertion of particles.<br />
*''Material:'' Choose the desired material for the inlet particles.<br />
*''Exclude boundaries:'' When set to Yes, the nodes in the boundaries of the inlet entity will not insert particles, only the nodes in the interior will.<br />
*''Diameter:'' Here the user can choose the distribution of sizes of the inserted spheres. It follows a similar structure found in the DEM Element section, refer to that section if in doubt.<br />
*''Impose Motion:'' It has the same components as in the DEM-FEM wall section. Refer to that section for more details.<br />
*''Random Orientation:'' Only active when choosing the Cluster Element Type. When set to No, four additional fields will open so the user can enter an specific orientation for the inlet clusters. Otherwise, the clusters are inserted using a stochastic orientation distribution.<br />
<br />
<br />
'''Prescribe motion on Elements'''<br />
<br />
It allows the imposition and/or restriction of both linear and angular velocities to sets of DEM elements. Double click on this item and a Mini Window will open at the bottom. It will impose or restrict the velocities during a desired interval of time of the Groups of spheres you choose. It consists of the following fields:<br />
<br />
*''Activate:'' To activate or deactivate the prescribed motion on this group. When set to Yes, the Type of Motion field will appear. This Type of Motion can be set to the following two values:<br />
*''Fixed DOFs:'' It consists of six fields to fix the degrees of freedom of the elements in the group. Set Yes on any of them to fix the value of the velocity in the corresponding direction or, in particular, to restrain it along that axis (when set to 0.0). The user can also enter the values of the initial and final times of that motion.<br />
*''Rigid Body Motion:'' Set this option to impose a movement to the group. It is composed of identical fields of those of the Imposed Motion of the previous Conditions sections. Check any of them for reference.<br />
<br />
<br />
'''Initial conditions on Elements'''<br />
<br />
It allows the imposition of initial values for both linear and angular velocities to the desired sets of DEM elements. Double click on this item and a Mini Window will open at the bottom so you will be able to assign those conditions to the Groups of spheres you choose. It structure is similar to previous sections. When Activated, six fields will open so the user can set the initial values of both linear and angular velocities for the group.<br />
<br />
=== General Options ===<br />
General options that affect the computation.<br />
<br />
==== Bounding Box ====<br />
Creates a Box for the computation and every DEM element that gets outside of this Box is '''deleted'''.<br />
<br />
*'''Bounding Box:''' Choose Active to activate it.<br />
<br />
*'''Bounding Box type:''' If 'Automatic' is chosen, the Bounding Box will be created taking into account the initial disposition of elements and walls. It will be created containing the existing entities.<br />
<br />
*'''Enlargement factor:''' only for 'Automatic' Box. Enlarges the Box by a factor.<br />
<br />
*'''Max X:''' Max corner X coordinate<br />
<br />
*'''Max Y:''' Max corner Y coordinate<br />
<br />
*'''Max Z:''' Max corner Z coordinate<br />
<br />
*'''Min X:''' Min corner X coordinate<br />
<br />
*'''Min Y:''' Min corner Y coordinate<br />
<br />
*'''Min Z:''' Min corner Z coordinate<br />
<br />
*'''Start Time:''' Time to activate the bounding box.<br />
<br />
*'''Stop Time:''' Time to stop the effect of the bounding box.<br />
<br />
*'''Print Bounding Box:''' To activate or deactivate the printing of the bounding box.<br />
<br />
==== Physical Options ====<br />
*'''Gravity value:''' Enter the value of the acceleration of Gravity (default value: 9.81 m/s2)<br />
<br />
*'''Gx:''' X component of the versor of the Gravity. The versor does not have to be necessarily unitary.<br />
<br />
*'''Gy:''' Y component of the versor of the Gravity. The versor does not have to be necessarily unitary.<br />
<br />
*'''Gz:''' Z component of the versor of the Gravity. The versor does not have to be necessarily unitary.<br />
<br />
*'''Periodic Domain:''' Set this field to yes to create a parallepipedic periodic domain defined by the bounding box.<br />
<br />
==== Advanced Options ====<br />
*'''Clean initial indentations:''' If activated, initial indentations between spheres and between spheres and walls are eliminated to avoid explosions (reducing the radius of the spheres accordingly)<br />
<br />
*'''Virtual mass coefficient:''' This coefficient will multiply the mass of the DEM elements when computing their accelerations. It is equivalent of reducing the accelerations of the DEM elements by this factor.<br />
<br />
*'''Calculate rotations:''' If activated, the DEM elements will rotate. Otherwise, they will only suffer translations. By default rotations are '''activated'''.<br />
<br />
*'''Rolling friction:''' If activated, the rolling friction parameter of the Material will be taken into account. Otherwise, it will be ignored.<br />
<br />
=== Solution Strategy ===<br />
<br />
==== Time integration scheme ====<br />
Choose the desired explicit time integration scheme for the problem. The options are Symplectic Euler, Forward Euler, Taylor Scheme, Newmark Beta Method or Verlet velocity.<br />
<br />
==== Parallel Type ====<br />
*'''Parallel type:''' locked to OpenMP (MPI will be available in the future)<br />
<br />
*'''Number of threads:''' set the number of threads you want to use for this computation. Do not choose more than the available threads on your computer or the computation will be slower.<br />
<br />
==== Time parameters ====<br />
*'''Delta time:''' Specify the time increment for the calculation. Take into account that a Delta Time too big will make the calculation unstable, and a very small Delta Time can slow down the computation a lot.<br />
<br />
*'''Total time:'''Specify total amount of seconds you want to simulate. The simulation will start at ''time = 0 seconds'' and will finish at ''time = Total time seconds''.<br />
<br />
*'''Info screen output:''' Specify the wall time increment (reality time) between updates on the Info Screen<br />
<br />
*'''Neighbour search frequency:''' choose how often the neighbours are searched. 1 means ''every time step'', 10 means ''1 out of 10 steps''. Take into account that searching at every time step can penalize a lot the computation time, but searching with low frequency can lead to inaccurate results.<br />
<br />
=== Results ===<br />
*'''Output time step:''' Specify the time increment between prints. Every print will write down the necessary files to see the results on the Post-Process of GiD.<br />
<br />
==== Print in Post-process ====<br />
From all the options, choose those that you want to see in Post-process. Keep in mind that activating some of these options can slow down the computation noticeably, by adding function calls and allocating extra memory.<br />
<br />
==== Graphs ====<br />
*'''Force evolution with time:''' Choose Yes to activate it. It will print a file with the Integral of Forces and Torques on the whole chosen Group.<br />
<br />
*'''Printing delta time:''' It shows up when activating the previous field. Here the user can set the time increment between printings<br />
<br />
*'''Force integration group:''' It also only appears when activating the Graphs. Double click on this item and a Mini Window will open. Choose what Groups where you want to integrate the Forces and Torques. A file called '<name_of_the_group>_force_graph.grf' will be printed in the Graphs folder of the GiD project you are working on.<br />
<br />
*'''Compute energy:''' If activated, this option calculates the kinetic, potential, elastic, frictional and viscodamping energies for all particles, both spheres and clusters.<br />
<br />
*'''Potential Energy Reference Point X:''' Choose the reference in the X axis.<br />
<br />
*'''Potential Energy Reference Point Y:''' Choose the reference in the Y axis.<br />
<br />
*'''Potential Energy Reference Point Z:''' Choose the reference in the Z axis.<br />
<br />
==== Velocity Trap ====<br />
Creates a Box inside which several measurements are done: average velocity, entering flux of particles and entering flux of mass.<br />
<br />
*'''Active velocity trap:''' to active or not this feature.<br />
<br />
*'''Max X:''' Maximum X corner coordinate<br />
<br />
*'''Max Y:''' Maximum Y corner coordinate<br />
<br />
*'''Max Z:''' Maximum Z corner coordinate<br />
<br />
*'''Min X:''' Minimum X corner coordinate<br />
<br />
*'''Min Y:''' Minimum Y corner coordinate<br />
<br />
*'''Min Z:''' Minimum Z corner coordinate<br />
<br />
*'''Printing time step:''' To adjust the frequency of the printing data.<br />
<br />
==== Options ====<br />
*'''Result format:''' Choose Binary or Ascii. Ascii takes more hard disk space, but is human readable.<br />
<br />
== Materials Tree ==<br />
<br />
Right click on 'DEM' to create a new material.<br />
<br />
Materials have the following fields to be filled:<br />
<br />
* '''Density:''' that of the material, not bulk density<br />
* '''Young's Modulus:''' that of the material, not bulk stiffness<br />
* '''Poisson's Ratio:''' that of the material, not bulk ratio<br />
* '''Cohesion:''' JKR parameter<br />
* '''Friction angle:''' Particle friction angle (for Coulomb's friction). The tangent of this angle will be used to evaluate the beginning of slip.<br />
* '''Coefficient of restitution:''' Desired quotient of exit velocity over incident velocity for collisions.<br />
* '''Color:''' just a color for post-process<br />
* '''Discontinuous Contact Law:''' Choose Linear or Hertz. The implementation of the contact laws is based on the models LSD and HMD, compiled and arranged in the paper: C.Thornton, S.J. Cummins, P.W. Cleary, ''An investigation of the comparative behaviour of alternative contact force models during inelastic collisions''. Powder Technology. Volume 233, Pages 30–46, January 2013<br />
* '''Cohesion Law:''' The user can choose between two different cohesion laws: JKR and DMT. The first one works better for soft, large adhesive spheres, while the second, on the contrary, is designed for hard, small non-adhesive ones.</div>Salvahttps://kratos-wiki.cimne.upc.edu/index.php/F-DEMPack_Tutorial_2:_Annular_pipeF-DEMPack Tutorial 2: Annular pipe2018-06-25T15:12:15Z<p>Salva: /* Introduction */</p>
<hr />
<div>==Introduction==<br />
Before starting with this tutorial, the user is strongly encouraged to follow<br />
the [[G-DEMPack Tutorial 1: Conveyor belt]] to get a feeling of how the problem type works, and in particular the DEM section. This tutorial will focus mainly in the Fluid section and its particularities.<br />
<br />
==Geometry==<br />
The process should start by creating a new geometry from scratch, by modifying an existing one or by opening a finished one. It is assumed that the user already knows how to do this procedure so no details will be given about it.<br />
<br />
In this tutorial, a simple geometry was created for the sake of simplicity. The idea is to understand all the steps involved in the problem type. The user must start by downloading the file [[File:F_DEMPack_Tutorial_1.gid.zip]], which contains the geometry and mesh of the proposed geometry. This file has already created the groups that will be used in the simulation.<br />
<br />
[[File:F-DEM_Tutorial6_Geometry.png|300px]]<br />
<br />
The geometry of study consists of an annular tube through which a flux of an intermediate viscosity mud passes. An inlet creating DEM particles with time is located in the base of the annular pipe.<br />
<br />
==Groups==<br />
The downloaded file has already created the groups that will be used in the simulation.<br />
<br />
[[File:F-DEM_Tutorial6_Groups.jpg.png|300px]]<br />
<br />
In this sample case, the following five groups were created: ''Dem_inlet, Fluid, Inlet, No_slip'' and ''Outlet''. The lower circle (surface) would be the Inlet, the smaller one just on top of it was the DEM_Inlet, the circle at the top would represent the Outlet, the No_slip would be the walls of the cylinder and, finally, the volume named Fluid would constitute the mass of fluid.<br />
<br />
<br />
==Materials==<br />
===Fluid properties===<br />
We will continue by defining the properties of the fluid in the simulation. We just have to click on the icon showing in the next figure to open the menus and in particular the Materials tab:<br />
<br />
[[File:F-DEM_Tutorial6_MatIcon.png]]<br />
<br />
To begin inserting the fluid properties, we click on ''Fluid'' and then on the plus button at the bottom of the window to add a new Fluid material. <br />
<br />
[[File:F-DEM Tutorial6 AddMat.png]]<br />
<br />
The next figure shows the details of the fluid material parameters that have been used in this example. To fill in or modify the value of the parameters, just unfold the ''General'' and ''Fluid'' submenus and double-click on the corresponding current data. The following data corresponds to an intermediate viscosity mud.<br />
<br />
[[File:F-DEM_Tutorial6_FluidMat.PNG]]<br />
<br />
===DEM properties===<br />
The same process can be followed, in this case, for the DEM material. We unfold the DEM-Defaultmaterial submenu at the bottom of the same window and fill the fields with the appropriate data. See Figure 6.<br />
<br />
[[File:F-DEM_Tutorial6_DEMMat.PNG]]<br />
<br />
<br />
==General Application Data==<br />
We now need to tell the program the model characteristics: boundary and initial conditions, inlet options, time considerations, etc. To begin filling all this data, we just click on the ''Model'' menu located at the left of the ''Materials'' tab and the Model Properties window will show up. This menu can be accessed also by clicking on the icon showing in the next figure:<br />
<br />
[[File:F-DEM_Tutorial6_PropsIcon.png]]<br />
<br />
The first section of the menu is General Application Data. Within this section the user can specify the simulation parameters, the coupling parameters between both subdomains -fluid and DEM particles-, and some postprocess results options. A deeper explanation of those parameters can be found in [[F-DEMPack2 manual]].<br />
<br />
[[File:F-DEM Tutorial6 GeneralData.PNG]]<br />
<br />
The previous screenshot shows the reference parameters that have been used in this particular case.<br />
<br />
<br />
==DEM Entities==<br />
The entities and conditions in relation to the DEM part of the problem are already preassigned so the user does not have to bother and can concentrate on the fluid aspects and details of the simulation. Nevertheless, figures showing the details on the DEM parts will be added here for the sake of completion and as a reference should the user lose these settings or in the case of have any problem when loading the file.<br />
<br />
===DEM-FEM wall group===<br />
The outer and inner cylinders are defined as walls in this section (''No-Slip'' group). No motion is imposed on any of them. <br />
<br />
[[File:F-DEM Tutorial6 DEM-FEM wall.PNG]]<br />
<br />
===Inlet DEM group===<br />
The annular surface over the base of the annurar pipe is set as the inlet of DEM particles. A total of 1000 particles per second are generated with an initial velocity of 1.5 m/s on the longitudinal direction of the pipe. The DEM material of the particles is specified in this submenu, as well as their diameter.<br />
<br />
[[File:F-DEM Tutorial6 Inlet.PNG]]<br />
<br />
===General options===<br />
This section is devoted to set the limits of the bounding box, the gravity vector and some advanced features. The figure that follows shows the chosen parameters.<br />
<br />
[[File:F-DEM Tutorial6 DEMGeneralOpt.PNG]]<br />
<br />
===Solution strategy===<br />
Other advanced options that the user can specify are those related to the ''Solution strategy'' and ''DEM-Specific Results''. More information about these submenus can be found in [[F-DEMPack2 manual]].<br />
<br />
[[File:F-DEM Tutorial6 DEMSolStrategy.PNG]]<br />
<br />
==Fluid==<br />
This section contains the information about the properties of the fluids, the different existing fluid elements and, when necessary, their assigned conditions. It also has some parameters in relation to the settings of the fluid solver.<br />
<br />
The first two submenus are related to the solver type for the fluid part and its parameters, and the third sumbenu allows the user to enter the delta time to use in the computations of the fluid as well as the step for the divergence clearance.<br />
<br />
The default parameters on the next figure gave good results in this particular case.<br />
<br />
[[File:F-DEM Tutorial6 FluidData1.PNG]]<br />
<br />
===Properties===<br />
The user can set the fluid properties by assigning them to the Fluid material previously created. To do this, right-click on ''Properties'' and choose New. A New Property window will appear below. ''Fluid1'' can be selected on the ''Material'' drop-down menu.<br />
<br />
[[File:F-DEM Tutorial6 FluidProperties.PNG]] [[File:F-DEM Tutorial6 FluidProperties2.PNG]]<br />
<br />
===Elements===<br />
<br />
The next step is to identify the fluid elements amongst all the existing geometric entities. This can be done by going to Elements and right-click on Fluid. As before, if the user clicks on ''New'' a window will open at the bottom. The working fluid can be selected on the ''Group'' drop-down menu. The elements are properly assigned after clicking on ''Ok''.<br />
<br />
[[File:F-DEM Tutorial6 FluidElements.PNG]] [[File:F-DEM Tutorial6 FluidElements2.PNG]]<br />
<br />
===Initial conditions===<br />
The same procedure is followed to assign the initial conditions to the problem. In this case, an initial vertical velocity field of 1.5 m/s is given to the mass of fluid. The picture that follows shows the process.<br />
<br />
[[File:F-DEM Tutorial6 FluidInitialCond.PNG]]<br />
<br />
====Boundary conditions====<br />
Regarding the boundary conditions, an inlet velocity of 1.5 m/s is proposed to be set in the entrance of the annular pipe. This can be done by right-clicking on ''Boundary_conditions'' >'' Inlet_velocity'' and creating the new inlet condition over the desired group. As seen in the next picture, a velocity of 1.5 is specified in the vertical direction.<br />
<br />
A similar process is followed to impose the pressure boundary condition. In this example it is assigned a null pressure value at the top surface.<br />
<br />
To finish with the boundary conditions, slip conditions are informed in the domain. In this case, no-slip conditions have been chosen on the cylinder walls. As shown in the figure that follows, the user must assign this property to the appropriate layer, in this case the outer and inner cylinders of the annular pipe.<br />
<br />
[[File:F-DEM Tutorial6 BoundCondFluid.PNG]]<br />
<br />
<br />
==Meshing and Running==<br />
The last step before launching the calculation is to mesh the domain. All the mesh characteristics are predefined on the downloaded model, so the user can proceed to mesh by typing Ctrl+G or by unfolding the ''Mesh'' menu on the top of GiD and clicking on ''Generate Mesh...''. A size of 0.05 has been selected for the mesh.<br />
<br />
[[File:F-DEM Tutorial6 Mesh.png|300px]]<br />
<br />
==Calculate==<br />
After the geometry is successfully meshed and the case is saved, the user is now ready to launch the calculation. To do this, the user must go to ''Calculate > Calculate'' or press the ''Run the simulation'' button in the interface. The next figure shows the Process Management section of the interface. <br />
<br />
[[File:F-DEM Tutorial6 ProcessMenu.PNG]]<br />
<br />
The first button inside the red square opens the process control window, the second one runs the simulation, the third one gives information about the calculations and the last one stops the process.<br />
<br />
<br />
==Results==<br />
Once the program starts writing results, the user can shift to the Postprocess in order to analyze the obtained results. After clicking on ''Open multiple files'' and selecting the desired group of files to be opened, the user can observe the sequence of results with time by using the ''Window > Animate'' utility. Next figures show a succession of results after running the sample case.<br />
<br />
[[File:F-DEM Tutorial6 Post1.PNG|200px]] [[File:F-DEM Tutorial6 Post2.PNG|180px]] [[File:F-DEM Tutorial6 Post3.PNG|180px]] [[File:F-DEM Tutorial6 Post4.PNG|200px]] <br />
<br />
It is also possible to print several physical results as, for example, the velocity field of the particles or the fluid pressure distrubution on a determinated step of time. To do this, the user must click on ''View results > Display vectors > VELOCITY > |VELOCITY|'', and ''View results > Contour Fill > PRESSURE > |VELOCITY|''.<br />
<br />
[[File:F-DEM Tutorial6 PostVel.PNG|300px]] [[File:F-DEM_Tutorial6_PostPres.PNG|300px]]</div>Salvahttps://kratos-wiki.cimne.upc.edu/index.php/F-DEMPack_Tutorial_1:_Curved_pipeF-DEMPack Tutorial 1: Curved pipe2018-06-25T15:11:36Z<p>Salva: /* Introduction */</p>
<hr />
<div>==Introduction==<br />
Before starting with this tutorial, the user is strongly encouraged to follow<br />
the [[G-DEMPack Tutorial 1: Conveyor belt]] to get a feeling of how the problem type works, and in particular the DEM section. This tutorial will focus mainly in the Fluid section and its particularities.<br />
The user must start by downloading the [[File:D DEMPack2 Tutorial 4.gid.zip]]. This file has already created the groups that will be used in the simulation. It has also already assigned the DEM groups, as well as the mesh sizes for all groups.<br />
<br />
==Geometry==<br />
The geometry of study consists of a curved tube through which a flux of water<br />
passes. Additionally, an initial mass of DEM elements exists inside the mass<br />
of water, as well as an inlet creating DEM particles with time. This geometry<br />
can be observed in the picture that follows:<br />
<br />
[[File:DEM 2 tutorial swimming geometry.png|350px]]<br />
<br />
The geometry has five groups, as seen in the next picture. They consist of a<br />
sphere made up of DEM elements, placed at the middle of the tube, a<br />
cuadrilaterial inlet of DEM spheres near the bottom of the tube, the mass of<br />
fluid inside the tube, the inlet of fluid in the opening at the bottom of the<br />
tube and the walls of the tube. The next picture shows the assignation of<br />
group by different entities that the user is expected to find in the file<br />
available for downloading.<br />
<br />
[[File:DEM 2 tutorial swimming groups.png|350px]]<br />
<br />
==DEM Entities==<br />
The file contains several entities and conditions in relation to the DEM part<br />
of the problem. As previouly said, they are already preassigned so the user<br />
does not have to bother and can concentrate on the fluid aspects and details<br />
of the simulation. Nevertheless, figures showing the details on the DEM parts<br />
will be added here for the sake of completion and as a reference should the<br />
user lose these settings or in the case of have any problem when loading the<br />
file.<br />
===DEM group===<br />
[[File:DEM 2 tutorial swimming DEM group.png|400px]]<br />
<br />
The FEM2DEM mesher was used to obtain this initial mesh of DEM spheres. See<br />
[[D-DEMPack Tutorial 3: DEM Meshers]] for a reference on the different meshers in the program. In this case, the<br />
chosen distribution of diameters for the elements is of 2mm with no variance.<br />
<br />
===DEM-FEM wall group===<br />
[[File:DEM 2 tutorial swimming DEM FEM group.png|300px]]<br />
<br />
The parameters in this section are identical to those in the D-DEMPack problem<br />
type, so no extra information is necessary in this case.<br />
<br />
===Inlet DEM group===<br />
[[File:DEM 2 tutorial swimming DEM inlet group.png|300px]]<br />
<br />
See [[D-DEMPack Tutorial 2: DemPack 2.0]] for details. It is important to<br />
note that it is still not possible to create neither clusters nor<br />
nanoparticles from an inlet entity. This aspect of the code is still under<br />
development.<br />
<br />
===DEM Initial Conditions===<br />
[[File:DEM 2 tutorial swimming DEM Initial Conditions.png|300px]]<br />
<br />
This section is also identical to its counterpart in D-DEMPack, so no further<br />
explanations are needed.<br />
<br />
==Materials==<br />
The Materials section in F-DEMPack contains the material data for both DEM and<br />
fluid elements. See the next figure for an overview of that section:<br />
<br />
[[File:DEM 2 tutorial swimming materials section.png|300px]]<br />
<br />
The DEM part is identical to D-DEMPack, and a full explanation of every aspect<br />
in it can be found in the corresponding links given above. In this case,<br />
though, an additional section for the Fluid part exists, where the user can<br />
set the values of some fundamental fluid properties, as for example density,<br />
viscosity, bulk modulus or rheological characteristics.<br />
<br />
==DEM-Fluid Interaction Settings==<br />
Most of the interaction parameters between the DEM spheres and fluid are<br />
inside the General Application Data section, whose overview is given next:<br />
<br />
[[File:DEM 2 tutorial swimming general application data.png|450px]]<br />
<br />
Some of the parameters in this tree are very straightforward, as for example<br />
the duration time, the output delta time, the number of threads to use in<br />
the simulation or the gravity vector. Others, though, carry a higher<br />
difficulty and are mostly related to the way the two subdomains interact. A<br />
deeper explanation of those parameters can be found in [[F-DEMPack2 manual]]. The previous screenshot has been given to the user as a reference as<br />
well as a guide for choosing some default values that give good results in<br />
this particular case. This tree also includes the Results section, which is pretty straightforward.<br />
<br />
==Fluid==<br />
This section contains the information about the properties of the fluids, the<br />
different existing fluid elements and, when necessary, their assigned<br />
conditions. It also has some parameters in relation to the settings of the<br />
fluid solver. The figure that follow shows an overview of this section:<br />
<br />
[[File:DEM 2 tutorial swimming fluid menu.png|250px]]<br />
<br />
The screenshot shows the chosen parameters in this example. The user is<br />
encouraged to play a little bit to those values and see the results. In this<br />
case a monolithic solver was chosen to get more accurate results but no<br />
turbulence model was considered necessary. The linear solver parameters<br />
require a much deeper understanding of the underlying theory and the<br />
associated numerical methods and will not be discussed here, check for more<br />
information. The default parameters in the problem type gave good results in<br />
this particular case. Finally, the user can enter the desired computational<br />
time step, which does not have to be too small as long as stable simulations<br />
are obtained.<br />
===Properties===<br />
In this section, the user can create a Property related with each of the<br />
fluids in the problem. In order to do this, the corresponding fluid must have<br />
been previously created in the Materials section. The next picture shows the<br />
process:<br />
<br />
[[File:DEM 2 tutorial swimming Fluid Properties.png|250px]]<br />
<br />
In this particular case, the Water default material was assigned to the<br />
Property1, which is good enough in this sample simulation.<br />
<br />
===Elements===<br />
The user must specify the fluids that will be present in the problem, so the<br />
next step is to assign the desired groups to the Fluid Elements. The process<br />
is the same as in other tutorials. A screenshot is given next:<br />
<br />
[[File:DEM 2 tutorial swimming Elements Fluid.png|250px]]<br />
<br />
To finish the elements assignation, though, an additional step is<br />
necessary. The user must specify the FEM element type to be used in the fluid<br />
mesh and the corresponding Property. The next figure shows this:<br />
<br />
[[File:DEM 2 tutorial swimming Elements Fluid Property.png|250px]]<br />
<br />
In this case, the only available element in 3D is the tetrahedra, while the<br />
chosen property was number 1, corresponding to the Water material.<br />
<br />
===Conditions===<br />
We finish the process by assigning the necessary conditions to their<br />
corresponding groups. <br />
====Initial Conditions====<br />
The fluid solver needs some initial conditions in the fluid to solve the<br />
problem. The next figure shows the section:<br />
<br />
[[File:DEM 2 tutorial swimming Initial Conditions.png|200px]]<br />
<br />
For this simulation, an initial vertical value of 1m/s was assigned to the<br />
mass of fluid inside the tube. In this case, no initial pressure was necessary.<br />
<br />
====Boundary Conditions====<br />
*''Inlet velocity''<br />
An inlet velocity is necessary in this simulation for a flow to exist in time<br />
along the interior of the tube. See the next picture:<br />
<br />
[[File:DEM 2 tutorial swimming inlet group.png|200px]]<br />
<br />
A vertical constant flow of 1m/s entering the bottom opening of the tube was<br />
chosen. No Outlet Pressure was needed in the simulation.<br />
*''No-Slip''<br />
The user must tell the program if there exists any relative velocity between<br />
the fluid and the solid boundary. The capture that follows shows the section:<br />
<br />
[[File:DEM 2 tutorial swimming No Slip.png|200px]]<br />
<br />
For this example, a no-slip behaviour was given to the walls. If there had<br />
been additional DEM-FEM entities, an Is-Slip behaviour could have been given<br />
to them.<br />
<br />
==Meshing and Running==<br />
If the user has succesfully assigned to the corresponding groups all the<br />
previous Properties, Elements and Conditions, the only thing that is still<br />
missing is the computational mesh. As already said, all the messing<br />
characteristics has been previously set in this problem, so the user has been<br />
able to focus in the Fluid aspects of the problem type. So to mesh, hit Ctr-G<br />
and enter a value of 0.02 and press OK. A global view of the resulting mesh<br />
should be similar to this one:<br />
<br />
[[File:DEM 2 tutorial swimming mesh.png|350px]]<br />
<br />
On the other hand, the initial DEM spheres mesh should look like the<br />
following:<br />
<br />
[[File:DEM 2 tutorial swimming mesh DEM detail.png|350px]]<br />
<br />
While the inlet surface mesh should be very similar to this:<br />
<br />
[[File:DEM 2 tutorial swimming mesh DEM inlet detail.png|350px]]<br />
<br />
==Results==<br />
Once a mesh is obtained and the file saved, the simulation can be run. To<br />
start the computations, the user must only hit F5 and the simulation will begin.<br />
The next four captures show the resulting simulation at different times:<br />
<br />
[[File:DEM 2 tutorial swimming velocities1of4.png|300px]]<br />
[[File:DEM 2 tutorial swimming velocities2of4.png|300px]]<br />
[[File:DEM 2 tutorial swimming velocities3of4.png|300px]]<br />
[[File:DEM 2 tutorial swimming velocities4of4.png|300px]]<br />
<br />
The next figure shows the stationary pressure field in the fluid:<br />
<br />
[[File:DEM 2 tutorial swimming fluid pressure.png|300px]]<br />
<br />
The user can also make a cut in the mass of fluid and obtained a 2D view of<br />
the velocity field in the fluid:<br />
<br />
[[File:DEM 2 tutorial swimming fluid velocities.png|300px]]</div>Salvahttps://kratos-wiki.cimne.upc.edu/index.php/G-DEMPack_Tutorial_3:_DEM_MeshersG-DEMPack Tutorial 3: DEM Meshers2018-06-25T15:09:52Z<p>Salva: /* Introduction */</p>
<hr />
<div>===Introduction===<br />
<br />
This tutorial gives a practical view of the meshers explained in the D-DEMPack2 Manual, which you will find here: [[G-DEMPack2 manual]]. To follow this tutorial, you must first download the GiD file [[File:D DEMPack2 Tutorial 3.zip]], which includes the geometries that will be meshed and the corresponding assignation of groups. To learn how to create geometries and how to assign them to groups please check [http://www.gidhome.com/support/tutorials here] and [[G-DEMPack Tutorial 2: DemPack 2.0]] respectively.<br />
<br />
===Point===<br />
In this simplest case, we only have to give the mesher a diameter for the sphere in point. To enter the mesher settings for the point, go to the DEM Element subtree, double-click on 'Use Advanced Meshing Features' and Choose Yes by using the inverted triangle that sits on the right of the default value of No. The fields corresponding to the different meshers will open after selecting Yes. The program now lets you choose which algorithm type you would like to use. In this case we must use the FEMtoDEM, the other one does not make any sense. About the criterion type, in this case it does not matter which one you choose because in this particular case the three methods coincide, so we just choose Node based. The mesher now asks you for a diameter and for the characteristics of the distribution. We can for example assign a diameter of size of 0.4m, a normal distribution and a standard deviation of 0.<br />
<br />
===Line===<br />
When meshing the line group, we first have to choose the size of the FEM elements (line elements in this case), which will determine the distribution of spheres in space. We can do this by going to Mesh > Unstructured > Assign sizes on lines. In the window that shows up we can enter, for example, a value of 0.25 and click Assign. We then click on the line and press Esc. The previous window will show up again in case we would like to add more line entities. In this case is not necessary, so we just press Close to finish with this assignation.<br />
To enter the mesher settings for the line, we simply go again to the DEM Element subtree, double-click on 'Use Advanced Meshing Features' and Choose Yes. In this case we also choose the FEMtoDEM but choose the Element Centroid Base criterion instead. We enter a value of 0.15m, choose for example a Log distribution and a standard deviation of 0.15.<br />
<br />
===Triangles===<br />
We can mesh a surface with spheres by using a FEM mesh as a starting point. In this case we will mesh the given surface with a mesh size of 0.5m. To assign this mesh size to the triangles group, we must assign this mesh size to the 3 types of entities in the group, that is, to every surface, line and point in it. To do so, we follow the same procedure as in the line group, we start by going to Mesh > Unstructured > Assign sizes on surfaces, we enter 0.5 in the window that pops up, click on Assign, select the surface in the triangles group and press Esc. The previous window will show up again. Press Close to close it. We must repeat the same process, in this case for lines and points, so we must go to Mesh > Unstructured > Assign sizes on lines and Mesh > Unstructured > Assign sizes on points respectively and choose again the 0.5m value for both cases. Following the same procedure as in the line group, we go to the DEM Elements section and choose the FEMtoDEM algorithm type and the Both Nodes and Centroid criterion. We can also set a diameter of 0.15m, a normal distribution and a standard deviation of 0.15.<br />
<br />
===Quadrilaterals===<br />
We will now mesh the quadrilaterals group with spheres using a background of a FEM of quadrilaterals. We will divide the surface of the group in 2 elements vertically by 3 horizontally and mesh in the nodes of the resulting FEM mesh. To do so, we go to Mesh > Structured > Surfaces > Assign number of cells, click on the quadrilaterals surface and hit Esc. In the window that opens, we enter 2, press Assign, select the line at the bottom of the surface (the line at the top will be automatically assigned) and hit Esc. The previous window will show up again. We enter 3, click Assign, select one of the vertical lines, hit Esc and close the window. We finish by going to DEM Elements and choosing FEMtoDEM, Node Based, a diameter of 0.2m, a log distribution and a standard deviation of 0.1.<br />
<br />
===Tetrahedra===<br />
We will mesh the tetrahedra group with spheres by situating them in the centroids of a mesh of tetrahedra. Following a procedure similar to the previous groups, we go to Mesh > Unstructured and assign a size of 0.5m to the volume and all surfaces, lines and points in the group. In this case, we can for example go to the DEM Element section and use a settings of Element Centroid Based, a diameter of 0.15m, a log distribution and a null standard deviation.<br />
<br />
===Hexahedra===<br />
The hexahedra group will be meshed using spheres situated in the nodes and centroids of a mesh of hexahedra. We start by assigning the group an hexahedra element type by going to Mesh > Element Type > Hexahedra, selecting the volume in the group and pressing Esc. We will then divide the volume of the group in 2 elements vertically by 2 horizontally. To do so, we go to Mesh > Structured > Volumes > Assign number of cells, click on the volume in hexahedra and hit Esc. In the window that opens, we enter 2, press Assign, select all the lines in the group and hit Esc. The previous window will show up again so we close it to finish with the size assignation. In th DEM Element section we will choose Node Based criterion type, a diameter of 0.2m, normal distribution and a 0.2 standard deviation.<br />
<br />
===Circles===<br />
Finally, we will mesh the circles group by transforming a mesh of circles into spheres. In this case we will use an aleatoric circle mesher, unlike we have done in previous group, where we used a cartesian distribution of spheres. Please take into account that in this case the Rball circle mesher must be used or there might be errors. Make sure that that mesher is set by going to Utilities >Preferences > Sphere/Circle > Selected mesher. So we start by assigning a circle element type to the group by going to Mesh > Element Type > Circle, selecting the surface in the group and hitting Esc. We then go to the DEM Element tree and choose the 2Dto3D algorithm type. We can assign a circle size of 0.2m by going to Mesh > Unstructured > Assign sizes on surfaces, inserting 0.2, clicking on Assign and selecting the surface in the group, pressing Esc and Close.<br />
<br />
===Plane (FEM)===<br />
We can mesh the FEM plane with a very coarse mesh, in this case we can use a mesh size of 9m. To tell GiD that we would like to use this mesh size, we proceed as in previous groups, by going to Mesh > Unstructured and assigning a size of 9m to points, lines and surfaces of the group in the usual fashion.<br />
<br />
To mesh, we simply press Ctrl-G and enter a size of 0.2. We can now save the file and launch the simulation. After a few seconds, we can shift to the Postprocess to load the results. The figures that follows show the expected solution.<br />
<br />
[[File:DEMPack tut3 global view.png|800px]]<br />
<br />
[[File:DEMPack tut3 groups.png]]<br />
<br />
[[File:DEMPack tut3 type of element 2.png|800px]]<br />
<br />
[[File:DEMPack tut3 type of element 4.png|800px]]<br />
<br />
[[File:DEMPack tut3 type of element 3.png|800px]]<br />
<br />
[[File:DEMPack tut3 vid 1 of 4.png|600px]][[File:DEMPack tut3 vid 2 of 4.png|600px]]<br />
[[File:DEMPack tut3 vid 3 of 4.png|600px]][[File:DEMPack tut3 vid 4 of 4.png|600px]]</div>Salvahttps://kratos-wiki.cimne.upc.edu/index.php/G-DEMPack_manualG-DEMPack manual2018-06-25T15:08:10Z<p>Salva: </p>
<hr />
<div>This manual is aimed to give detailed explanations on all sections in the G-DEMPack problem type. For a more practical review, the user is encouraged to check the [[DEMPack Tutorials]] page.<br />
<br />
<br />
<br />
== Loading G-DEMPack ==<br />
If you did not install GiD or G-DEMPack yet, follow the installation instructions here: [[G-DEMPack installation]]<br />
<br />
Once you have finished the installation, open GiD and load the G-DEMPack Problemtype by clicking:<br />
Data -> G-DEMPack<br />
Note that a toolbar with 7 buttons has been added to the left side of the GiD working window. This toolbar is called "Model definition toolbar".<br />
<br />
== The Model Definition Toolbar ==<br />
<br />
The buttons in the Model definition toolbar do the following actions:<br />
<br />
* Button 1 - Link to the GiD Groups Management Window<br />
<br />
* Button 2 - Model Definition Tree <br />
<br />
* Button 3 - Materials Tree<br />
<br />
* Button 4 - Running Processes Management Window<br />
<br />
* Button 5 - Run this case<br />
<br />
* Button 6 - Show information about how this case is running<br />
<br />
* Button 7 - Stop this case<br />
<br />
If you experience problems with this toolbar not appearing, deactivate and reactivate it from the GiD utilities:<br />
Utilities -> Tools -> Toolbars <br />
Scroll down to Model Definition Toolbar, hide it and show it. Make sure you choose your favourite position in the GiD Window for this toolbar (Left, Up, Right or Down).<br />
<br />
<br />
== The GiD philosophy ==<br />
<br />
GiD is a Pre and Post Processor, it is not an actual CAD tool. However, it can be used to draw geometries and mesh them. For complicated geometries, we recommend using a CAD tool and importing them into GiD for meshing (or import mesh and apply conditions directly).<br />
In case of drawing geometries with GiD, one must be aware that it uses a Hierarchical Structure: Volumes are created with a set of watertight Surfaces, Surfaces are created with a set of watertight Lines and Lines are created starting and ending in Points. If there are no Points, a Line cannot be created, and the same dependence holds for all levels.<br />
For more information about how to use GiD, visit [http://www.gidhome.com/ GiD's home page] or follow some [http://www.gidhome.com/support/tutorials tutorials]<br />
<br />
<br />
== The Kratos philosophy ==<br />
<br />
The way Kratos applies materials and conditions to the geometry or the mesh is using the Groups. A Group is a set of entities (either in Geometry or in Mesh). A Group can contain any Volume, Surface, Line, Point, Element or Node, no matter whether it is already belonging to other Groups. <br />
<br />
<br />
== The G-DEMPack philosophy ==<br />
<br />
Since DEMPack is based in Kratos and programmed for GiD, it inherits the philosophy of both. The Groups will be the essential tool for assigning materials and conditions. <br />
<br />
<br />
OPTION 1: Use the Groups Management Window to create Groups and move entities into the corresponding Groups. Go to the Model Definition Tree, fill in all the fields and assign conditions to existing Groups (the ones you just created).<br />
<br />
OPTION 2: Fill in all the fields of the Model Definition Tree and when asked for any Group to assign the condition to, use the button for automatic creation of Groups (included in the mini window for condition assignation)<br />
<br />
<br />
== Drawing a Geometry ==<br />
<br />
The first step that an analyst must do is to draw a Geometry. It will contain Volumes, Surfaces, Lines and Points.<br />
<br />
A list of important recommendations and clarifications follows:<br />
<br />
*All those walls that must not be crossed by the discrete elements must be surfaces.<br />
<br />
*Volumes are susceptible to be filled by spheres at the Meshing stage.<br />
<br />
*Inlets are usually Surfaces, but they can also be Points, Lines and Volumes.<br />
<br />
<br />
== Working with a Mesh ==<br />
<br />
If desired, GiD will mesh the Geometry and will convert Points into Nodes, Lines into Linear Elements, Surfaces into Triangles and Volumes into Spheres.<br />
The common size of the mesh must be specified when prompted (when GiD is about to mesh), or different sizes depending on the entities, which can be assigned at any time through the 'Mesh' menu in GiD.<br />
<br />
A list of important recommendations and clarifications follows:<br />
<br />
*Do not specify Quadrilateral Elements or Quadratic Elements for any entity in the meshing options. They are not supported by G-DEMPack.<br />
*For any volume that must be filled with packed spheres (Discrete Elements) make sure that you specify Element Type->Sphere in the meshing options. <br />
*All volumes meshed with spheres '''will lose their Surfaces'''. So do not use the surfaces forming a Volume as walls or inlets.<br />
<br />
<br />
== Model Definition Tree ==<br />
<br />
The Model Definition Tree contains all the options that must be filled in order to run a DEM computation.<br />
<br />
Some of the options are edited directly on the Tree, while others (like the assignation of conditions to Groups) open a '''Mini Window''' to create '''new branches of the Tree'''. No matter what options are chosen in the Mini Window when you click OK, '''the data will be still editable on the new Tree branch'''.<br />
<br />
A contextual help is available on the tree itself. Stop the mouse on any value, label or branch of the tree and some brief help will be displayed.<br />
<br />
<br />
=== Elements ===<br />
*'''DEM element:''' double click on this item and a Mini Window will open. Choose an existing Material and assign it to an existing Group (or create the Group on-the-go)<br />
<br />
<br />
=== Boundary conditions ===<br />
<br />
<br />
*'''Inlet''' It allows the insertion of new DEM elements into the domain. Double click on this item and a Mini Window will open. Every Mesh Node will insert Elements. Mesh Nodes come usually from the meshing of Points, Lines, Surfaces(recommended) or Volumes. Assign this condition to a Group containing a Surface and the inner and boundary Nodes of this Surface will be generating new DEM elements with the parameters chosen.<br />
<br />
*'''DEM-FEM wall''' It marks a Surface as a Rigid Body which cannot be crossed by the DEM elements. Double click on this item and a Mini Window will open. Choose the options and assign it to a Group containing Surfaces (avoid Groups containing Spheres)<br />
<br />
*'''Prescribed velocities (under development)''' It allows the imposition of velocities to sets of DEM elements. Double click on this item and a Mini Window will open. It will impose initial velocities or fixed velocities for all time to the Groups of spheres you choose.<br />
<br />
<br />
<br />
=== DEM General Options ===<br />
General options that affect the computation.<br />
<br />
==== Bounding Box ====<br />
Creates a Box for the computation and every DEM element that gets outside of this Box is '''deleted'''.<br />
<br />
*'''Bounding Box:''' Choose Active to activate it.<br />
<br />
*'''Bounding Box type:''' If 'Automatic' is chosen, the Bounding Box will be created taking into account the initial disposition of elements and walls. It will be created containing the existing entities.<br />
<br />
*'''Enlargement factor:''' only for 'Automatic' Box. Enlarges the Box by a factor.<br />
<br />
*'''Max X:''' Max corner X coordinate<br />
<br />
*'''Max Y:''' Max corner Y coordinate<br />
<br />
*'''Max Z:''' Max corner Z coordinate<br />
<br />
*'''Min X:''' Min corner X coordinate<br />
<br />
*'''Min Y:''' Min corner Y coordinate<br />
<br />
*'''Min Z:''' Min corner Z coordinate<br />
<br />
==== Physical Options ====<br />
*'''Gravity value:''' Enter the value of the acceleration of Gravity (default value: 9.81 m/s2)<br />
<br />
*'''Gx:''' X component of the versor of the Gravity. The versor does not have to be necessarily unitary.<br />
<br />
*'''Gy:''' Y component of the versor of the Gravity. The versor does not have to be necessarily unitary.<br />
<br />
*'''Gz:''' Z component of the versor of the Gravity. The versor does not have to be necessarily unitary.<br />
<br />
==== Advanced Options ====<br />
*'''Clean initial indentations:''' If activated, initial indentations between spheres and between spheres and walls are eliminated to avoid explosions (reducing the radius of the spheres accordingly)<br />
<br />
*'''Virtual mass coefficient:''' This coefficient will multiply the mass of the DEM elements when computing their accelerations. It is equivalent of reducing the accelerations of the DEM elements by this factor.<br />
<br />
*'''Rolling friction:''' If activated, the rolling friction parameter of the Material will be taken into account. Otherwise, it will be ignored.<br />
<br />
*'''Rotations:''' If activated, the DEM elements will rotate. Otherwise, they will only suffer translations. By default rotations are '''activated'''.<br />
<br />
<br />
<br />
=== Solution Strategy ===<br />
<br />
<br />
==== Parallel Type ====<br />
*'''Parallel type:''' locked to OpenMP (MPI will be available in the future)<br />
<br />
*'''Number of threads:''' set the number of threads you want to use for this computation. Do not choose more than the available threads on your computer or the computation will be slower.<br />
<br />
==== Time parameters ====<br />
*'''Delta time:''' Specify the time increment for the calculation. Take into account that a Delta Time too big will make the calculation unstable, and a very small Delta Time can slow down the computation a lot.<br />
<br />
*'''Total time:'''Specify total amount of seconds you want to simulate. The simulation will start at ''time = 0 seconds'' and will finish at ''time = Total time seconds''.<br />
<br />
*'''Info screen output:''' Specify the wall time increment (reality time) between updates on the Info Screen<br />
<br />
*'''Neighbour search frequency:''' choose how often the neighbours are searched. 1 means ''every time step'', 10 means ''1 out of 10 steps''. Take into account that searching at every time step can penalize a lot the computation time, but searching with low frequency can lead to inaccurate results.<br />
<br />
<br />
<br />
=== Results ===<br />
*'''Output time step:''' Specify the time increment between prints. Every print will write down the necessary files to see the results on the Post-Process of GiD.<br />
<br />
==== Print in Post-process ====<br />
From all the options, choose those that you want to see in Post-process. Keep in mind that activating some of these options can slow down the computation noticeably, by adding function calls and allocating extra memory.<br />
<br />
==== Graphs ====<br />
*'''Force evolution with time:''' Choose Yes to activate it. It will print a file with the Integral of Forces and Torques on the whole chosen Group.<br />
<br />
*'''Printing delta time:''' Choose the time increment between prints of this type of graphs<br />
<br />
*'''Force integration group:''' Double click on this item and a Mini Window will open. Choose what Groups where you want to integrate the Forces and Torques. A file called '<name_of_the_group>_force_graph.grf' will be printed in the Graphs folder of the GiD project you are working with.<br />
<br />
==== Velocity Trap ====<br />
Creates a Box in which measurements are done: average velocity, entering flux of particles, entering flux of mass.<br />
<br />
*'''Active velocity trap:''' choose Active to activate it.<br />
<br />
*'''Max X:''' Max corner X coordinate<br />
<br />
*'''Max Y:''' Max corner Y coordinate<br />
<br />
*'''Max Z:''' Max corner Z coordinate<br />
<br />
*'''Min X:''' Min corner X coordinate<br />
<br />
*'''Min Y:''' Min corner Y coordinate<br />
<br />
*'''Min Z:''' Min corner Z coordinate<br />
<br />
==== Options ====<br />
*'''Result format:''' Choose Binary or Ascii. Ascii takes more hard disk space, but is human readable.<br />
<br />
*'''Result file:''' Choose whether you want a Single file for all time steps or Multiple files (one for each time step). If an Inlet is present, Single option will not be able to print the results for the inserted DEM elements.<br />
<br />
<br />
== Materials Tree ==<br />
<br />
Right click on 'DEM' to create a new material.<br />
<br />
Materials have the following fields to be filled:<br />
<br />
* '''Density:''' that of the material, not bulk density<br />
* '''Young's Modulus:''' that of the material, not bulk stiffness<br />
* '''Poisson's Ratio:''' that of the material, not bulk ratio<br />
* '''Cohesion:''' JKR parameter<br />
* '''Friction angle:''' Particle friction angle (for Coulomb's friction). The tangent of this angle will be used to evaluate the beginning of slip.<br />
* '''Coefficient of restitution:''' Desired quotient of exit velocity over incident velocity for collisions.<br />
* '''Rolling friction:''' Rolling friction parameter<br />
* '''Color:''' just a color for post-process<br />
* '''Discontinuum Contact Law:''' Choose Linear or Hertz. The implementation of the contact laws is based on the models LSD and HMD, compiled and arranged in the paper: C.Thornton, S.J. Cummins, P.W. Cleary, ''An investigation of the comparative behaviour of alternative contact force models during inelastic collisions''. Powder Technology. Volume 233, Pages 30–46, January 2013</div>Salvahttps://kratos-wiki.cimne.upc.edu/index.php/G-DEMPack_Tutorial_3:_DEM_MeshersG-DEMPack Tutorial 3: DEM Meshers2018-06-25T15:04:15Z<p>Salva: /* Introduction */</p>
<hr />
<div>===Introduction===<br />
<br />
This tutorial gives a practical view of the meshers explained in the D-DEMPack2 Manual, which you will find here: [[G-DEMPack2 manual]]. To follow this tutorial, you must first download the GiD file [[File:D DEMPack2 Tutorial 3.zip]], which includes the geometries that will be meshed and the corresponding assignation of groups. To learn how to create geometries and how to assign them to groups please check [http://www.gidhome.com/support/tutorials here] and [[G-DEMPack Tutorial 2: Conveyor belt]] respectively.<br />
<br />
===Point===<br />
In this simplest case, we only have to give the mesher a diameter for the sphere in point. To enter the mesher settings for the point, go to the DEM Element subtree, double-click on 'Use Advanced Meshing Features' and Choose Yes by using the inverted triangle that sits on the right of the default value of No. The fields corresponding to the different meshers will open after selecting Yes. The program now lets you choose which algorithm type you would like to use. In this case we must use the FEMtoDEM, the other one does not make any sense. About the criterion type, in this case it does not matter which one you choose because in this particular case the three methods coincide, so we just choose Node based. The mesher now asks you for a diameter and for the characteristics of the distribution. We can for example assign a diameter of size of 0.4m, a normal distribution and a standard deviation of 0.<br />
<br />
===Line===<br />
When meshing the line group, we first have to choose the size of the FEM elements (line elements in this case), which will determine the distribution of spheres in space. We can do this by going to Mesh > Unstructured > Assign sizes on lines. In the window that shows up we can enter, for example, a value of 0.25 and click Assign. We then click on the line and press Esc. The previous window will show up again in case we would like to add more line entities. In this case is not necessary, so we just press Close to finish with this assignation.<br />
To enter the mesher settings for the line, we simply go again to the DEM Element subtree, double-click on 'Use Advanced Meshing Features' and Choose Yes. In this case we also choose the FEMtoDEM but choose the Element Centroid Base criterion instead. We enter a value of 0.15m, choose for example a Log distribution and a standard deviation of 0.15.<br />
<br />
===Triangles===<br />
We can mesh a surface with spheres by using a FEM mesh as a starting point. In this case we will mesh the given surface with a mesh size of 0.5m. To assign this mesh size to the triangles group, we must assign this mesh size to the 3 types of entities in the group, that is, to every surface, line and point in it. To do so, we follow the same procedure as in the line group, we start by going to Mesh > Unstructured > Assign sizes on surfaces, we enter 0.5 in the window that pops up, click on Assign, select the surface in the triangles group and press Esc. The previous window will show up again. Press Close to close it. We must repeat the same process, in this case for lines and points, so we must go to Mesh > Unstructured > Assign sizes on lines and Mesh > Unstructured > Assign sizes on points respectively and choose again the 0.5m value for both cases. Following the same procedure as in the line group, we go to the DEM Elements section and choose the FEMtoDEM algorithm type and the Both Nodes and Centroid criterion. We can also set a diameter of 0.15m, a normal distribution and a standard deviation of 0.15.<br />
<br />
===Quadrilaterals===<br />
We will now mesh the quadrilaterals group with spheres using a background of a FEM of quadrilaterals. We will divide the surface of the group in 2 elements vertically by 3 horizontally and mesh in the nodes of the resulting FEM mesh. To do so, we go to Mesh > Structured > Surfaces > Assign number of cells, click on the quadrilaterals surface and hit Esc. In the window that opens, we enter 2, press Assign, select the line at the bottom of the surface (the line at the top will be automatically assigned) and hit Esc. The previous window will show up again. We enter 3, click Assign, select one of the vertical lines, hit Esc and close the window. We finish by going to DEM Elements and choosing FEMtoDEM, Node Based, a diameter of 0.2m, a log distribution and a standard deviation of 0.1.<br />
<br />
===Tetrahedra===<br />
We will mesh the tetrahedra group with spheres by situating them in the centroids of a mesh of tetrahedra. Following a procedure similar to the previous groups, we go to Mesh > Unstructured and assign a size of 0.5m to the volume and all surfaces, lines and points in the group. In this case, we can for example go to the DEM Element section and use a settings of Element Centroid Based, a diameter of 0.15m, a log distribution and a null standard deviation.<br />
<br />
===Hexahedra===<br />
The hexahedra group will be meshed using spheres situated in the nodes and centroids of a mesh of hexahedra. We start by assigning the group an hexahedra element type by going to Mesh > Element Type > Hexahedra, selecting the volume in the group and pressing Esc. We will then divide the volume of the group in 2 elements vertically by 2 horizontally. To do so, we go to Mesh > Structured > Volumes > Assign number of cells, click on the volume in hexahedra and hit Esc. In the window that opens, we enter 2, press Assign, select all the lines in the group and hit Esc. The previous window will show up again so we close it to finish with the size assignation. In th DEM Element section we will choose Node Based criterion type, a diameter of 0.2m, normal distribution and a 0.2 standard deviation.<br />
<br />
===Circles===<br />
Finally, we will mesh the circles group by transforming a mesh of circles into spheres. In this case we will use an aleatoric circle mesher, unlike we have done in previous group, where we used a cartesian distribution of spheres. Please take into account that in this case the Rball circle mesher must be used or there might be errors. Make sure that that mesher is set by going to Utilities >Preferences > Sphere/Circle > Selected mesher. So we start by assigning a circle element type to the group by going to Mesh > Element Type > Circle, selecting the surface in the group and hitting Esc. We then go to the DEM Element tree and choose the 2Dto3D algorithm type. We can assign a circle size of 0.2m by going to Mesh > Unstructured > Assign sizes on surfaces, inserting 0.2, clicking on Assign and selecting the surface in the group, pressing Esc and Close.<br />
<br />
===Plane (FEM)===<br />
We can mesh the FEM plane with a very coarse mesh, in this case we can use a mesh size of 9m. To tell GiD that we would like to use this mesh size, we proceed as in previous groups, by going to Mesh > Unstructured and assigning a size of 9m to points, lines and surfaces of the group in the usual fashion.<br />
<br />
To mesh, we simply press Ctrl-G and enter a size of 0.2. We can now save the file and launch the simulation. After a few seconds, we can shift to the Postprocess to load the results. The figures that follows show the expected solution.<br />
<br />
[[File:DEMPack tut3 global view.png|800px]]<br />
<br />
[[File:DEMPack tut3 groups.png]]<br />
<br />
[[File:DEMPack tut3 type of element 2.png|800px]]<br />
<br />
[[File:DEMPack tut3 type of element 4.png|800px]]<br />
<br />
[[File:DEMPack tut3 type of element 3.png|800px]]<br />
<br />
[[File:DEMPack tut3 vid 1 of 4.png|600px]][[File:DEMPack tut3 vid 2 of 4.png|600px]]<br />
[[File:DEMPack tut3 vid 3 of 4.png|600px]][[File:DEMPack tut3 vid 4 of 4.png|600px]]</div>Salvahttps://kratos-wiki.cimne.upc.edu/index.php/G-DEMPack2_manualG-DEMPack2 manual2018-06-25T15:02:34Z<p>Salva: </p>
<hr />
<div>This manual is aimed to give detailed explanations on all sections in the D-DEMPack problem type. For a more practical review, the user is encouraged to check the D-DEMPack Tutorials included in [[DEMPack Tutorials]] page.<br />
<br />
<br />
<br />
== Loading D-DEMPack ==<br />
If you did not install GiD or D-DEMPack yet, follow the installation instructions here: [[D-DEMPack installation]]<br />
<br />
Once you have finished the installation, open GiD and load the D-DEMPack Problemtype by clicking:<br />
Data -> D-DEMPack<br />
Note that a toolbar with 7 buttons has been added to the left side of the GiD working window. This toolbar is called "Model definition toolbar". <br />
<br />
<br />
== The Model Definition Toolbar ==<br />
<br />
The buttons in the Model definition toolbar do the following actions:<br />
<br />
* Button 1 - Link to the GiD Groups Management Window<br />
<br />
* Button 2 - Model Definition Tree <br />
<br />
* Button 3 - Materials Tree<br />
<br />
* Button 4 - Running Processes Management Window<br />
<br />
* Button 5 - Run this case<br />
<br />
* Button 6 - Show information about how this case is running<br />
<br />
* Button 7 - Stop this case<br />
<br />
If you experience problems with this toolbar not appearing, deactivate and reactivate it from the GiD utilities:<br />
Utilities -> Tools -> Toolbars <br />
Scroll down to Model Definition Toolbar, hide it and show it. Make sure you choose your favourite position in the GiD Window for this toolbar (Left, Up, Right or Down).<br />
<br />
<br />
== The GiD philosophy ==<br />
<br />
GiD is a Pre and Post Processor, it is not an actual CAD tool. However, it can be used to draw geometries and mesh them. For complicated geometries, we recommend using a CAD tool and importing them into GiD for meshing (or import mesh and apply conditions directly).<br />
In case of drawing geometries with GiD, one must be aware that it uses a Hierarchical Structure: Volumes are created with a set of watertight Surfaces, Surfaces are created with a set of watertight Lines and Lines are created starting and ending in Points. If there are no Points, a Line cannot be created, and the same dependence holds for all levels.<br />
For more information about how to use GiD, visit [http://www.gidhome.com/ GiD's home page] or follow some [http://www.gidhome.com/support/tutorials tutorials]<br />
<br />
<br />
== The Kratos philosophy ==<br />
<br />
The way Kratos applies materials and conditions to the geometry or the mesh is using the Groups. A Group is a set of entities (either in Geometry or in Mesh). A Group can contain any Volume, Surface, Line, Point, Element or Node, no matter whether it is already belonging to other Groups. <br />
<br />
<br />
== The D-DEMPack philosophy ==<br />
<br />
Since DEMPack is based in Kratos and programmed for GiD, it inherits the philosophy of both. The Groups will be the essential tool for assigning materials and conditions. <br />
<br />
<br />
OPTION 1: Use the Groups Management Window to create Groups and move entities into the corresponding Groups. Go to the Model Definition Tree, fill in all the fields and assign conditions to existing Groups (the ones you just created).<br />
<br />
OPTION 2: Fill in all the fields of the Model Definition Tree and when asked for any Group to assign the condition to, use the button for automatic creation of Groups (included in the mini window for condition assignation)<br />
<br />
<br />
== Drawing a Geometry ==<br />
<br />
The first step that an analyst must do is to draw a Geometry. It will contain Volumes, Surfaces, Lines and Points.<br />
<br />
A list of important recommendations and clarifications follows:<br />
<br />
*All those walls that must not be crossed by the discrete elements must be surfaces.<br />
<br />
*Volumes are susceptible to be filled by spheres at the Meshing stage.<br />
<br />
*Inlets are usually Surfaces, but they can also be Points, Lines and Volumes.<br />
<br />
<br />
== Working with a Mesh ==<br />
<br />
If desired, GiD will mesh the Geometry and will convert Points into Nodes, Lines into Linear Elements, Surfaces into Triangles and Volumes into Spheres.<br />
The common size of the mesh must be specified when prompted (when GiD is about to mesh), or different sizes depending on the entities, which can be assigned at any time through the 'Mesh' menu in GiD.<br />
<br />
A list of important recommendations and clarifications follows:<br />
<br />
*Do not specify Quadrilateral Elements or Quadratic Elements for any entity in the meshing options. They are not supported by D-DEMPack. '''This option will be removed in the next DEMPack version.'''<br />
*For any volume that must be filled with packed spheres (Discrete Elements) make sure that you specify Element Type->Sphere in the meshing options. <br />
*All volumes meshed with spheres '''will lose their Surfaces''' unless those surfaces are part of DEMFEM wall group.<br />
<br />
== Model Definition Tree ==<br />
<br />
The Model Definition Tree contains all the options that must be filled in order to run a DEM computation.<br />
<br />
Some of the options are edited directly on the Tree, while others (like the assignation of conditions to Groups) open a '''Mini Window''' to create '''new branches of the Tree'''. No matter what options are chosen in the Mini Window when you click OK, '''the data will be still editable on the new Tree branch'''.<br />
<br />
A contextual help is available on the tree itself. Stop the mouse on any value, label or branch of the tree and some brief help will be displayed.<br />
<br />
<br />
=== Elements ===<br />
<br />
'''DEM element'''<br />
<br />
Double click on this item and a Mini Window will open at the bottom. Assign it to an existing Group (or create the Group on-the-go). This section has the following fields:<br />
<br />
*''Activate:'' Use this to activate or deactivate this group.<br />
*''Material:'' Double-click to choose the material for the group.<br />
*''Use Advanced Meshing Features:'' Set this option to Yes to have access to other meshing criteria other than the default random DEM meshers.<br />
*''Advanced Meshing Features Algorithm Type:'' Here the user can choose between FEMtoDEM and 2Dto3D. The former algorithm uses a original FEM mesh as an starting point to obtain a mesh of spheres, while the latter transforms a random mesh of circles into spheres. For a more detailed explanation of the use of both meshing methodologies, feel free to check [[D-DEMPack Tutorial 3: DEM Meshers]]. The 2Dto3D does not need any additional parameters, while when choosing the FEMtoDEM method, the following fields will show up:<br />
*''FEM to DEM criterion type:'' Here three different criteria can be chosen: Node Based, Element Centroid Based or Both. The first one takes an initial FEM mesh, puts spheres of the desired sizes in each node of the mesh and deletes the initial mesh. The second method does the same process, in this case using the centroids of the FEM mesh elements. Finally, the third criterion does both things.<br />
*''Diameter:'' Here the user can enter the desired average size of the spheres in the mesh.<br />
*''Probability Distribution:'' There are two distribution available: Normal and Logarithmic.<br />
*''Standard Deviation:'' Enter the value of the standard deviation for the desired distribution.<br />
<br />
=== Conditions ===<br />
<br />
'''DEM-FEM wall'''<br />
<br />
It marks a Surface as a Rigid Body which cannot be crossed by the DEM elements. Double click on this item and a Mini Window will open at the bottom. Choose the Group to assign this condition and press OK. The DEM-FEM condition has the following fields:<br />
<br />
*''Activate:'' Use this to activate or deactivate this group.<br />
*''Impose Motion:'' Use this to activate or deactivate an imposed motion for the group. When activated, the following two fields will show up:<br />
*''Linear velocity:'' The user can enter here the values of the velocity field, set Yes in Periodic in the field that follows if that is the case, so a new field will open to enter the Period value, and the desired values to start and finish the linear motion.<br />
*''Angular velocity:'' It follows the same philosophy as the previous section, but in this case it is also necessary to enter a center of rotation for the angular velocity vector.<br />
Finally, there exists a Settings section where the user must enter additional data related to the walls:<br />
*''Update velocity, not displacements:'' If activated, the wall will not move and will just have an imposed velocity field.<br />
*''Friction angle:'' Coulomb friction coefficient in degrees.<br />
*''Cohesive wall:'' Here the user can choose if the wall has a cohesive behavior. If Yes, an additional field will open so that value can be given.<br />
*''Compute Wear:'' When activated, wear will be computed for the wall. Also, three additional fields will open so the user can enter the sensibility of the wall to abrasion and impact as well as its hardness.<br />
*''Rigid Structure:'' An ideally rigid behavior for the wall can be given. When that response is not desired, the user can enter the corresponding Young Modulus and Poisson ratio.<br />
<br />
<br />
'''Inlet'''<br />
<br />
It allows the insertion of new DEM elements into the domain. Double click on this item and a Mini Window will open. Every Mesh Node will insert Elements. Mesh Nodes come usually from the meshing of Points, Lines, Surfaces (recommended) or Volumes. Assign this condition to a Group containing a Surface and the inner and boundary Nodes of this Surface will be generating new DEM elements with the parameters chosen. It consists of the fields that follow:<br />
<br />
*''Activate:'' Use this to activate or deactivate the inlet.<br />
*''Element Type:'' Choose between Spheres or Clusters (group of spheres).<br />
*''Velocity modulus:'' Enter the modulus of the velocity of the inlet particles. Three fields to enter the velocity field follow.<br />
*''Maximum random velocity deviation:'' The maximum value in degrees for an random component that will be added to the previous velocity field.<br />
*''Number of particles:'' Total value of particles per second created by the inlet.<br />
*''Inlet start and stop times:'' Desired times to begin and to finish the insertion of particles.<br />
*''Material:'' Choose the desired material for the inlet particles.<br />
*''Exclude boundaries:'' When set to Yes, the nodes in the boundaries of the inlet entity will not insert particles, only the nodes in the interior will.<br />
*''Diameter:'' Here the user can choose the distribution of sizes of the inserted spheres. It follows a similar structure found in the DEM Element section, refer to that section if in doubt.<br />
*''Impose Motion:'' It has the same components as in the DEM-FEM wall section. Refer to that section for more details.<br />
*''Random Orientation:'' Only active when choosing the Cluster Element Type. When set to No, four additional fields will open so the user can enter an specific orientation for the inlet clusters. Otherwise, the clusters are inserted using a stochastic orientation distribution.<br />
<br />
<br />
'''Prescribe motion on Elements'''<br />
<br />
It allows the imposition and/or restriction of both linear and angular velocities to sets of DEM elements. Double click on this item and a Mini Window will open at the bottom. It will impose or restrict the velocities during a desired interval of time of the Groups of spheres you choose. It consists of the following fields:<br />
<br />
*''Activate:'' To activate or deactivate the prescribed motion on this group. When set to Yes, the Type of Motion field will appear. This Type of Motion can be set to the following two values:<br />
*''Fixed DOFs:'' It consists of six fields to fix the degrees of freedom of the elements in the group. Set Yes on any of them to fix the value of the velocity in the corresponding direction or, in particular, to restrain it along that axis (when set to 0.0). The user can also enter the values of the initial and final times of that motion.<br />
*''Rigid Body Motion:'' Set this option to impose a movement to the group. It is composed of identical fields of those of the Imposed Motion of the previous Conditions sections. Check any of them for reference.<br />
<br />
<br />
'''Initial conditions on Elements'''<br />
<br />
It allows the imposition of initial values for both linear and angular velocities to the desired sets of DEM elements. Double click on this item and a Mini Window will open at the bottom so you will be able to assign those conditions to the Groups of spheres you choose. It structure is similar to previous sections. When Activated, six fields will open so the user can set the initial values of both linear and angular velocities for the group.<br />
<br />
=== General Options ===<br />
General options that affect the computation.<br />
<br />
==== Bounding Box ====<br />
Creates a Box for the computation and every DEM element that gets outside of this Box is '''deleted'''.<br />
<br />
*'''Bounding Box:''' Choose Active to activate it.<br />
<br />
*'''Bounding Box type:''' If 'Automatic' is chosen, the Bounding Box will be created taking into account the initial disposition of elements and walls. It will be created containing the existing entities.<br />
<br />
*'''Enlargement factor:''' only for 'Automatic' Box. Enlarges the Box by a factor.<br />
<br />
*'''Max X:''' Max corner X coordinate<br />
<br />
*'''Max Y:''' Max corner Y coordinate<br />
<br />
*'''Max Z:''' Max corner Z coordinate<br />
<br />
*'''Min X:''' Min corner X coordinate<br />
<br />
*'''Min Y:''' Min corner Y coordinate<br />
<br />
*'''Min Z:''' Min corner Z coordinate<br />
<br />
*'''Start Time:''' Time to activate the bounding box.<br />
<br />
*'''Stop Time:''' Time to stop the effect of the bounding box.<br />
<br />
*'''Print Bounding Box:''' To activate or deactivate the printing of the bounding box.<br />
<br />
==== Physical Options ====<br />
*'''Gravity value:''' Enter the value of the acceleration of Gravity (default value: 9.81 m/s2)<br />
<br />
*'''Gx:''' X component of the versor of the Gravity. The versor does not have to be necessarily unitary.<br />
<br />
*'''Gy:''' Y component of the versor of the Gravity. The versor does not have to be necessarily unitary.<br />
<br />
*'''Gz:''' Z component of the versor of the Gravity. The versor does not have to be necessarily unitary.<br />
<br />
*'''Periodic Domain:''' Set this field to yes to create a parallepipedic periodic domain defined by the bounding box.<br />
<br />
==== Advanced Options ====<br />
*'''Clean initial indentations:''' If activated, initial indentations between spheres and between spheres and walls are eliminated to avoid explosions (reducing the radius of the spheres accordingly)<br />
<br />
*'''Virtual mass coefficient:''' This coefficient will multiply the mass of the DEM elements when computing their accelerations. It is equivalent of reducing the accelerations of the DEM elements by this factor.<br />
<br />
*'''Calculate rotations:''' If activated, the DEM elements will rotate. Otherwise, they will only suffer translations. By default rotations are '''activated'''.<br />
<br />
*'''Rolling friction:''' If activated, the rolling friction parameter of the Material will be taken into account. Otherwise, it will be ignored.<br />
<br />
=== Solution Strategy ===<br />
<br />
==== Time integration scheme ====<br />
Choose the desired explicit time integration scheme for the problem. The options are Symplectic Euler, Forward Euler, Taylor Scheme, Newmark Beta Method or Verlet velocity.<br />
<br />
==== Parallel Type ====<br />
*'''Parallel type:''' locked to OpenMP (MPI will be available in the future)<br />
<br />
*'''Number of threads:''' set the number of threads you want to use for this computation. Do not choose more than the available threads on your computer or the computation will be slower.<br />
<br />
==== Time parameters ====<br />
*'''Delta time:''' Specify the time increment for the calculation. Take into account that a Delta Time too big will make the calculation unstable, and a very small Delta Time can slow down the computation a lot.<br />
<br />
*'''Total time:'''Specify total amount of seconds you want to simulate. The simulation will start at ''time = 0 seconds'' and will finish at ''time = Total time seconds''.<br />
<br />
*'''Info screen output:''' Specify the wall time increment (reality time) between updates on the Info Screen<br />
<br />
*'''Neighbour search frequency:''' choose how often the neighbours are searched. 1 means ''every time step'', 10 means ''1 out of 10 steps''. Take into account that searching at every time step can penalize a lot the computation time, but searching with low frequency can lead to inaccurate results.<br />
<br />
=== Results ===<br />
*'''Output time step:''' Specify the time increment between prints. Every print will write down the necessary files to see the results on the Post-Process of GiD.<br />
<br />
==== Print in Post-process ====<br />
From all the options, choose those that you want to see in Post-process. Keep in mind that activating some of these options can slow down the computation noticeably, by adding function calls and allocating extra memory.<br />
<br />
==== Graphs ====<br />
*'''Force evolution with time:''' Choose Yes to activate it. It will print a file with the Integral of Forces and Torques on the whole chosen Group.<br />
<br />
*'''Printing delta time:''' It shows up when activating the previous field. Here the user can set the time increment between printings<br />
<br />
*'''Force integration group:''' It also only appears when activating the Graphs. Double click on this item and a Mini Window will open. Choose what Groups where you want to integrate the Forces and Torques. A file called '<name_of_the_group>_force_graph.grf' will be printed in the Graphs folder of the GiD project you are working on.<br />
<br />
*'''Compute energy:''' If activated, this option calculates the kinetic, potential, elastic, frictional and viscodamping energies for all particles, both spheres and clusters.<br />
<br />
*'''Potential Energy Reference Point X:''' Choose the reference in the X axis.<br />
<br />
*'''Potential Energy Reference Point Y:''' Choose the reference in the Y axis.<br />
<br />
*'''Potential Energy Reference Point Z:''' Choose the reference in the Z axis.<br />
<br />
==== Velocity Trap ====<br />
Creates a Box inside which several measurements are done: average velocity, entering flux of particles and entering flux of mass.<br />
<br />
*'''Active velocity trap:''' to active or not this feature.<br />
<br />
*'''Max X:''' Maximum X corner coordinate<br />
<br />
*'''Max Y:''' Maximum Y corner coordinate<br />
<br />
*'''Max Z:''' Maximum Z corner coordinate<br />
<br />
*'''Min X:''' Minimum X corner coordinate<br />
<br />
*'''Min Y:''' Minimum Y corner coordinate<br />
<br />
*'''Min Z:''' Minimum Z corner coordinate<br />
<br />
*'''Printing time step:''' To adjust the frequency of the printing data.<br />
<br />
==== Options ====<br />
*'''Result format:''' Choose Binary or Ascii. Ascii takes more hard disk space, but is human readable.<br />
<br />
== Materials Tree ==<br />
<br />
Right click on 'DEM' to create a new material.<br />
<br />
Materials have the following fields to be filled:<br />
<br />
* '''Density:''' that of the material, not bulk density<br />
* '''Young's Modulus:''' that of the material, not bulk stiffness<br />
* '''Poisson's Ratio:''' that of the material, not bulk ratio<br />
* '''Cohesion:''' JKR parameter<br />
* '''Friction angle:''' Particle friction angle (for Coulomb's friction). The tangent of this angle will be used to evaluate the beginning of slip.<br />
* '''Coefficient of restitution:''' Desired quotient of exit velocity over incident velocity for collisions.<br />
* '''Color:''' just a color for post-process<br />
* '''Discontinuous Contact Law:''' Choose Linear or Hertz. The implementation of the contact laws is based on the models LSD and HMD, compiled and arranged in the paper: C.Thornton, S.J. Cummins, P.W. Cleary, ''An investigation of the comparative behaviour of alternative contact force models during inelastic collisions''. Powder Technology. Volume 233, Pages 30–46, January 2013<br />
* '''Cohesion Law:''' The user can choose between two different cohesion laws: JKR and DMT. The first one works better for soft, large adhesive spheres, while the second, on the contrary, is designed for hard, small non-adhesive ones.</div>Salvahttps://kratos-wiki.cimne.upc.edu/index.php/C-DEMPack_Tutorial_1:_Cohesive_DemPack_2.0C-DEMPack Tutorial 1: Cohesive DemPack 2.02018-06-25T15:02:05Z<p>Salva: /* Introduction */</p>
<hr />
<div>==Introduction==<br />
Before starting with this tutorial, the user is strongly encouraged to follow<br />
the [[G-DEMPack Tutorial 2: DemPack 2.0]] to get a feeling of how the problem<br />
type works, and in particular the DEM section. This tutorial will focus mainly <br />
in the parcularities of the cohesive DEM. The user should start by downloading <br />
the [[File:D DEMPack2 Tutorial 5.zip]]. This file has already both <br />
created and assgined the groups that will be used in the simulation, as well<br />
as the mesh sizes for all groups.<br />
<br />
==Geometry==<br />
The geometry of study consists of four different continuum-DEM groups as well as<br />
two DEM-FEM rigid entities. The four cohesive groups are composed of an inlet<br />
of deformable cluster elements, a highly cohesive material in the shape of<br />
a sphere, a very little cohesive material in the shape of a paralelepiped<br />
and a membrane-like material. The program is also capable of simulating<br />
cables and solving thermal problems, as will we shown in a upcoming tutorial. <br />
It is also possible to simulate the behaviour of ice, even though this aspect is <br />
still under development. See http://www.cimnemultimediachannel.com/vpage/2/0/technology/technology/Discrete-Element-Method#11 to check the capabilities of the <br />
program in that respect.<br />
<br />
[[File:Demdrill tutorial geometry.png|700px]]<br />
[[File:Demdrill tutorial groups.png|700px]]<br />
<br />
==DEM Elements==<br />
As a reference, a screenshot of the characteristics of the elements used in this <br />
simulation will be given. The user is encouraged to modify these settings to <br />
experiment a little bit and get familiar with the program. The assignation was the <br />
following:<br />
<br />
[[File:Demdrill tutorial dem elements.png|400px]]<br />
<br />
==Cohesive Groups==<br />
This section is unique and it does not exist neither in D-DEMPack nor F-DEMPack. <br />
The user must assign this attribute to any group containing cohesive entities. <br />
Only the particles tagged with this attribute will have cohesive properties and <br />
use a continuum material law. Double click on Cohesive Groups to start adding <br />
adding the different groups in this section. Note that different cohesive groups can have the same identification number, meaning that the entities belonging to those groups are cohesive among them. However, in this case there are three independent cohesive groups. The next picture shows the assignation in our sample case as a reference.<br />
<br />
[[File:Demdrill tutorial cohesive groups.png|200px]]<br />
<br />
==Boundary Conditions==<br />
This section is in practice identical to that of the D-DEMPack. The most significant <br />
difference is that the inlet cluster elements are deformable and breakable. The <br />
simulation captures at the end of this tutorial show an example of the behavior of <br />
this kind of cluster elements.<br />
<br />
[[File:Demdrill tutorial boundary conditions.png|300px]]<br />
<br />
==General Options==<br />
The structure of this section is the same as in D-DEMPack, but with a much more <br />
extense subsection of Advanced Options. The settings for this simulation are <br />
given in the picture that follows as a reference. A detailed explanation of each <br />
of the fields in this section can be found here [[C-DEMPack2 manual]].<br />
<br />
[[File:Demdrill tutorial general options.png|400px]]<br />
<br />
==Solution Strategy==<br />
This section is identical to that of D-DEMPack, so no further explanation is <br />
needed. A screenshot with the value of the parameters chosen in this example <br />
can be found in the picture that follows.<br />
<br />
[[File:Demdrill tutorial solution strategy.png|300px]]<br />
<br />
==Results==<br />
The structure of this section is the same as in D-DEMPack, but with an additional <br />
subsection on Postprocessing bond-related results and some other parameters linked <br />
to the Poisson ratio and the skin of the materials in the simulation. Check the <br />
[[C-DEMPack2 manual]] for a detailed explanation of every field in this section. The <br />
user is left free to choose the desired set of results to be printed.<br />
<br />
==Materials==<br />
<br />
For this example, the materials of all groups has been already set. The user is <br />
encouraged to play a little bit using different materials and compare the results. <br />
Check the [[C-DEMPack2 manual]] for a reference on the different options available. <br />
The materials used in this example were the following:<br />
<br />
[[File:Demdrill tutorial materials1of2.png|250px]]<br />
[[File:Demdrill tutorial materials2of2.png|250px]]<br />
<br />
==Meshing and Running==<br />
After the user has checked that everything is correctly assigned and the corresponding <br />
cohesive groups have been created, the only thing that is missing is to mesh the geometry. <br />
As said at the beginning of this tutorial, all the meshing details have been previously set <br />
for this problem, so the user must only press Ctr-G, enter a value of 0.4 and hit OK. A <br />
mesh very similar to the one that follows should be obtained:<br />
<br />
[[File:Demdrill tutorial groups and mesh.png|700px]]<br />
<br />
Once obtained a valid mesh and to run the example, press Ctrl-s to save the file and hit <br />
F5 to launch the simulation.<br />
<br />
==Results==<br />
<br />
After some minutes, the simulation should be complete. Shift to Post-Process to load the <br />
results. The next four captures show the resulting simulation at different times. The user <br />
should obtain results very similar to those.<br />
<br />
[[File:Simulation1of4.png|600px]]<br />
[[File:Simulation2of4.png|600px]]<br />
[[File:Simulation3of4.png|600px]]<br />
[[File:Simulation4of4.png|600px]]</div>Salvahttps://kratos-wiki.cimne.upc.edu/index.php/G-DEMPack_manualG-DEMPack manual2018-06-25T14:50:36Z<p>Salva: </p>
<hr />
<div>This manual is aimed to give detailed explanations on all sections in the G-DEMPack problem type. For a more practical review, the user is encouraged to check the [[DEMPack Tutorials]] page.<br />
<br />
<br />
<br />
== Loading D-DEMPack ==<br />
If you did not install GiD or D-DEMPack yet, follow the installation instructions here: [[G-DEMPack installation]]<br />
<br />
Once you have finished the installation, open GiD and load the D-DEMPack Problemtype by clicking:<br />
Data -> D-DEMPack<br />
Note that a toolbar with 7 buttons has been added to the left side of the GiD working window. This toolbar is called "Model definition toolbar".<br />
<br />
== The Model Definition Toolbar ==<br />
<br />
The buttons in the Model definition toolbar do the following actions:<br />
<br />
* Button 1 - Link to the GiD Groups Management Window<br />
<br />
* Button 2 - Model Definition Tree <br />
<br />
* Button 3 - Materials Tree<br />
<br />
* Button 4 - Running Processes Management Window<br />
<br />
* Button 5 - Run this case<br />
<br />
* Button 6 - Show information about how this case is running<br />
<br />
* Button 7 - Stop this case<br />
<br />
If you experience problems with this toolbar not appearing, deactivate and reactivate it from the GiD utilities:<br />
Utilities -> Tools -> Toolbars <br />
Scroll down to Model Definition Toolbar, hide it and show it. Make sure you choose your favourite position in the GiD Window for this toolbar (Left, Up, Right or Down).<br />
<br />
<br />
== The GiD philosophy ==<br />
<br />
GiD is a Pre and Post Processor, it is not an actual CAD tool. However, it can be used to draw geometries and mesh them. For complicated geometries, we recommend using a CAD tool and importing them into GiD for meshing (or import mesh and apply conditions directly).<br />
In case of drawing geometries with GiD, one must be aware that it uses a Hierarchical Structure: Volumes are created with a set of watertight Surfaces, Surfaces are created with a set of watertight Lines and Lines are created starting and ending in Points. If there are no Points, a Line cannot be created, and the same dependence holds for all levels.<br />
For more information about how to use GiD, visit [http://www.gidhome.com/ GiD's home page] or follow some [http://www.gidhome.com/support/tutorials tutorials]<br />
<br />
<br />
== The Kratos philosophy ==<br />
<br />
The way Kratos applies materials and conditions to the geometry or the mesh is using the Groups. A Group is a set of entities (either in Geometry or in Mesh). A Group can contain any Volume, Surface, Line, Point, Element or Node, no matter whether it is already belonging to other Groups. <br />
<br />
<br />
== The D-DEMPack philosophy ==<br />
<br />
Since DEMPack is based in Kratos and programmed for GiD, it inherits the philosophy of both. The Groups will be the essential tool for assigning materials and conditions. <br />
<br />
<br />
OPTION 1: Use the Groups Management Window to create Groups and move entities into the corresponding Groups. Go to the Model Definition Tree, fill in all the fields and assign conditions to existing Groups (the ones you just created).<br />
<br />
OPTION 2: Fill in all the fields of the Model Definition Tree and when asked for any Group to assign the condition to, use the button for automatic creation of Groups (included in the mini window for condition assignation)<br />
<br />
<br />
== Drawing a Geometry ==<br />
<br />
The first step that an analyst must do is to draw a Geometry. It will contain Volumes, Surfaces, Lines and Points.<br />
<br />
A list of important recommendations and clarifications follows:<br />
<br />
*All those walls that must not be crossed by the discrete elements must be surfaces.<br />
<br />
*Volumes are susceptible to be filled by spheres at the Meshing stage.<br />
<br />
*Inlets are usually Surfaces, but they can also be Points, Lines and Volumes.<br />
<br />
<br />
== Working with a Mesh ==<br />
<br />
If desired, GiD will mesh the Geometry and will convert Points into Nodes, Lines into Linear Elements, Surfaces into Triangles and Volumes into Spheres.<br />
The common size of the mesh must be specified when prompted (when GiD is about to mesh), or different sizes depending on the entities, which can be assigned at any time through the 'Mesh' menu in GiD.<br />
<br />
A list of important recommendations and clarifications follows:<br />
<br />
*Do not specify Quadrilateral Elements or Quadratic Elements for any entity in the meshing options. They are not supported by D-DEMPack.<br />
*For any volume that must be filled with packed spheres (Discrete Elements) make sure that you specify Element Type->Sphere in the meshing options. <br />
*All volumes meshed with spheres '''will lose their Surfaces'''. So do not use the surfaces forming a Volume as walls or inlets.<br />
<br />
<br />
== Model Definition Tree ==<br />
<br />
The Model Definition Tree contains all the options that must be filled in order to run a DEM computation.<br />
<br />
Some of the options are edited directly on the Tree, while others (like the assignation of conditions to Groups) open a '''Mini Window''' to create '''new branches of the Tree'''. No matter what options are chosen in the Mini Window when you click OK, '''the data will be still editable on the new Tree branch'''.<br />
<br />
A contextual help is available on the tree itself. Stop the mouse on any value, label or branch of the tree and some brief help will be displayed.<br />
<br />
<br />
=== Elements ===<br />
*'''DEM element:''' double click on this item and a Mini Window will open. Choose an existing Material and assign it to an existing Group (or create the Group on-the-go)<br />
<br />
<br />
=== Boundary conditions ===<br />
<br />
<br />
*'''Inlet''' It allows the insertion of new DEM elements into the domain. Double click on this item and a Mini Window will open. Every Mesh Node will insert Elements. Mesh Nodes come usually from the meshing of Points, Lines, Surfaces(recommended) or Volumes. Assign this condition to a Group containing a Surface and the inner and boundary Nodes of this Surface will be generating new DEM elements with the parameters chosen.<br />
<br />
*'''DEM-FEM wall''' It marks a Surface as a Rigid Body which cannot be crossed by the DEM elements. Double click on this item and a Mini Window will open. Choose the options and assign it to a Group containing Surfaces (avoid Groups containing Spheres)<br />
<br />
*'''Prescribed velocities (under development)''' It allows the imposition of velocities to sets of DEM elements. Double click on this item and a Mini Window will open. It will impose initial velocities or fixed velocities for all time to the Groups of spheres you choose.<br />
<br />
<br />
<br />
=== DEM General Options ===<br />
General options that affect the computation.<br />
<br />
==== Bounding Box ====<br />
Creates a Box for the computation and every DEM element that gets outside of this Box is '''deleted'''.<br />
<br />
*'''Bounding Box:''' Choose Active to activate it.<br />
<br />
*'''Bounding Box type:''' If 'Automatic' is chosen, the Bounding Box will be created taking into account the initial disposition of elements and walls. It will be created containing the existing entities.<br />
<br />
*'''Enlargement factor:''' only for 'Automatic' Box. Enlarges the Box by a factor.<br />
<br />
*'''Max X:''' Max corner X coordinate<br />
<br />
*'''Max Y:''' Max corner Y coordinate<br />
<br />
*'''Max Z:''' Max corner Z coordinate<br />
<br />
*'''Min X:''' Min corner X coordinate<br />
<br />
*'''Min Y:''' Min corner Y coordinate<br />
<br />
*'''Min Z:''' Min corner Z coordinate<br />
<br />
==== Physical Options ====<br />
*'''Gravity value:''' Enter the value of the acceleration of Gravity (default value: 9.81 m/s2)<br />
<br />
*'''Gx:''' X component of the versor of the Gravity. The versor does not have to be necessarily unitary.<br />
<br />
*'''Gy:''' Y component of the versor of the Gravity. The versor does not have to be necessarily unitary.<br />
<br />
*'''Gz:''' Z component of the versor of the Gravity. The versor does not have to be necessarily unitary.<br />
<br />
==== Advanced Options ====<br />
*'''Clean initial indentations:''' If activated, initial indentations between spheres and between spheres and walls are eliminated to avoid explosions (reducing the radius of the spheres accordingly)<br />
<br />
*'''Virtual mass coefficient:''' This coefficient will multiply the mass of the DEM elements when computing their accelerations. It is equivalent of reducing the accelerations of the DEM elements by this factor.<br />
<br />
*'''Rolling friction:''' If activated, the rolling friction parameter of the Material will be taken into account. Otherwise, it will be ignored.<br />
<br />
*'''Rotations:''' If activated, the DEM elements will rotate. Otherwise, they will only suffer translations. By default rotations are '''activated'''.<br />
<br />
<br />
<br />
=== Solution Strategy ===<br />
<br />
<br />
==== Parallel Type ====<br />
*'''Parallel type:''' locked to OpenMP (MPI will be available in the future)<br />
<br />
*'''Number of threads:''' set the number of threads you want to use for this computation. Do not choose more than the available threads on your computer or the computation will be slower.<br />
<br />
==== Time parameters ====<br />
*'''Delta time:''' Specify the time increment for the calculation. Take into account that a Delta Time too big will make the calculation unstable, and a very small Delta Time can slow down the computation a lot.<br />
<br />
*'''Total time:'''Specify total amount of seconds you want to simulate. The simulation will start at ''time = 0 seconds'' and will finish at ''time = Total time seconds''.<br />
<br />
*'''Info screen output:''' Specify the wall time increment (reality time) between updates on the Info Screen<br />
<br />
*'''Neighbour search frequency:''' choose how often the neighbours are searched. 1 means ''every time step'', 10 means ''1 out of 10 steps''. Take into account that searching at every time step can penalize a lot the computation time, but searching with low frequency can lead to inaccurate results.<br />
<br />
<br />
<br />
=== Results ===<br />
*'''Output time step:''' Specify the time increment between prints. Every print will write down the necessary files to see the results on the Post-Process of GiD.<br />
<br />
==== Print in Post-process ====<br />
From all the options, choose those that you want to see in Post-process. Keep in mind that activating some of these options can slow down the computation noticeably, by adding function calls and allocating extra memory.<br />
<br />
==== Graphs ====<br />
*'''Force evolution with time:''' Choose Yes to activate it. It will print a file with the Integral of Forces and Torques on the whole chosen Group.<br />
<br />
*'''Printing delta time:''' Choose the time increment between prints of this type of graphs<br />
<br />
*'''Force integration group:''' Double click on this item and a Mini Window will open. Choose what Groups where you want to integrate the Forces and Torques. A file called '<name_of_the_group>_force_graph.grf' will be printed in the Graphs folder of the GiD project you are working with.<br />
<br />
==== Velocity Trap ====<br />
Creates a Box in which measurements are done: average velocity, entering flux of particles, entering flux of mass.<br />
<br />
*'''Active velocity trap:''' choose Active to activate it.<br />
<br />
*'''Max X:''' Max corner X coordinate<br />
<br />
*'''Max Y:''' Max corner Y coordinate<br />
<br />
*'''Max Z:''' Max corner Z coordinate<br />
<br />
*'''Min X:''' Min corner X coordinate<br />
<br />
*'''Min Y:''' Min corner Y coordinate<br />
<br />
*'''Min Z:''' Min corner Z coordinate<br />
<br />
==== Options ====<br />
*'''Result format:''' Choose Binary or Ascii. Ascii takes more hard disk space, but is human readable.<br />
<br />
*'''Result file:''' Choose whether you want a Single file for all time steps or Multiple files (one for each time step). If an Inlet is present, Single option will not be able to print the results for the inserted DEM elements.<br />
<br />
<br />
== Materials Tree ==<br />
<br />
Right click on 'DEM' to create a new material.<br />
<br />
Materials have the following fields to be filled:<br />
<br />
* '''Density:''' that of the material, not bulk density<br />
* '''Young's Modulus:''' that of the material, not bulk stiffness<br />
* '''Poisson's Ratio:''' that of the material, not bulk ratio<br />
* '''Cohesion:''' JKR parameter<br />
* '''Friction angle:''' Particle friction angle (for Coulomb's friction). The tangent of this angle will be used to evaluate the beginning of slip.<br />
* '''Coefficient of restitution:''' Desired quotient of exit velocity over incident velocity for collisions.<br />
* '''Rolling friction:''' Rolling friction parameter<br />
* '''Color:''' just a color for post-process<br />
* '''Discontinuum Contact Law:''' Choose Linear or Hertz. The implementation of the contact laws is based on the models LSD and HMD, compiled and arranged in the paper: C.Thornton, S.J. Cummins, P.W. Cleary, ''An investigation of the comparative behaviour of alternative contact force models during inelastic collisions''. Powder Technology. Volume 233, Pages 30–46, January 2013</div>Salvahttps://kratos-wiki.cimne.upc.edu/index.php/F-DEMPack_Tutorial_5:_Curved_pipeF-DEMPack Tutorial 5: Curved pipe2018-06-25T14:44:34Z<p>Salva: moved F-DEMPack Tutorial 5: Curved pipe to F-DEMPack Tutorial 1: Curved pipe</p>
<hr />
<div>#REDIRECT [[F-DEMPack Tutorial 1: Curved pipe]]</div>Salvahttps://kratos-wiki.cimne.upc.edu/index.php/F-DEMPack_Tutorial_1:_Curved_pipeF-DEMPack Tutorial 1: Curved pipe2018-06-25T14:44:34Z<p>Salva: moved F-DEMPack Tutorial 5: Curved pipe to F-DEMPack Tutorial 1: Curved pipe</p>
<hr />
<div>==Introduction==<br />
Before starting with this tutorial, the user is strongly encouraged to follow<br />
the [[D-DEMPack Tutorial 2: Conveyor belt]] to get a feeling of how the problem type works, and in particular the DEM section. This tutorial will focus mainly in the Fluid section and its particularities.<br />
The user must start by downloading the [[File:D DEMPack2 Tutorial 4.gid.zip]]. This file has already created the groups that will be used in the simulation. It has also already assigned the DEM groups, as well as the mesh sizes for all groups.<br />
<br />
==Geometry==<br />
The geometry of study consists of a curved tube through which a flux of water<br />
passes. Additionally, an initial mass of DEM elements exists inside the mass<br />
of water, as well as an inlet creating DEM particles with time. This geometry<br />
can be observed in the picture that follows:<br />
<br />
[[File:DEM 2 tutorial swimming geometry.png|350px]]<br />
<br />
The geometry has five groups, as seen in the next picture. They consist of a<br />
sphere made up of DEM elements, placed at the middle of the tube, a<br />
cuadrilaterial inlet of DEM spheres near the bottom of the tube, the mass of<br />
fluid inside the tube, the inlet of fluid in the opening at the bottom of the<br />
tube and the walls of the tube. The next picture shows the assignation of<br />
group by different entities that the user is expected to find in the file<br />
available for downloading.<br />
<br />
[[File:DEM 2 tutorial swimming groups.png|350px]]<br />
<br />
==DEM Entities==<br />
The file contains several entities and conditions in relation to the DEM part<br />
of the problem. As previouly said, they are already preassigned so the user<br />
does not have to bother and can concentrate on the fluid aspects and details<br />
of the simulation. Nevertheless, figures showing the details on the DEM parts<br />
will be added here for the sake of completion and as a reference should the<br />
user lose these settings or in the case of have any problem when loading the<br />
file.<br />
===DEM group===<br />
[[File:DEM 2 tutorial swimming DEM group.png|400px]]<br />
<br />
The FEM2DEM mesher was used to obtain this initial mesh of DEM spheres. See<br />
[[D-DEMPack Tutorial 3: DEM Meshers]] for a reference on the different meshers in the program. In this case, the<br />
chosen distribution of diameters for the elements is of 2mm with no variance.<br />
<br />
===DEM-FEM wall group===<br />
[[File:DEM 2 tutorial swimming DEM FEM group.png|300px]]<br />
<br />
The parameters in this section are identical to those in the D-DEMPack problem<br />
type, so no extra information is necessary in this case.<br />
<br />
===Inlet DEM group===<br />
[[File:DEM 2 tutorial swimming DEM inlet group.png|300px]]<br />
<br />
See [[D-DEMPack Tutorial 2: DemPack 2.0]] for details. It is important to<br />
note that it is still not possible to create neither clusters nor<br />
nanoparticles from an inlet entity. This aspect of the code is still under<br />
development.<br />
<br />
===DEM Initial Conditions===<br />
[[File:DEM 2 tutorial swimming DEM Initial Conditions.png|300px]]<br />
<br />
This section is also identical to its counterpart in D-DEMPack, so no further<br />
explanations are needed.<br />
<br />
==Materials==<br />
The Materials section in F-DEMPack contains the material data for both DEM and<br />
fluid elements. See the next figure for an overview of that section:<br />
<br />
[[File:DEM 2 tutorial swimming materials section.png|300px]]<br />
<br />
The DEM part is identical to D-DEMPack, and a full explanation of every aspect<br />
in it can be found in the corresponding links given above. In this case,<br />
though, an additional section for the Fluid part exists, where the user can<br />
set the values of some fundamental fluid properties, as for example density,<br />
viscosity, bulk modulus or rheological characteristics.<br />
<br />
==DEM-Fluid Interaction Settings==<br />
Most of the interaction parameters between the DEM spheres and fluid are<br />
inside the General Application Data section, whose overview is given next:<br />
<br />
[[File:DEM 2 tutorial swimming general application data.png|450px]]<br />
<br />
Some of the parameters in this tree are very straightforward, as for example<br />
the duration time, the output delta time, the number of threads to use in<br />
the simulation or the gravity vector. Others, though, carry a higher<br />
difficulty and are mostly related to the way the two subdomains interact. A<br />
deeper explanation of those parameters can be found in [[F-DEMPack2 manual]]. The previous screenshot has been given to the user as a reference as<br />
well as a guide for choosing some default values that give good results in<br />
this particular case. This tree also includes the Results section, which is pretty straightforward.<br />
<br />
==Fluid==<br />
This section contains the information about the properties of the fluids, the<br />
different existing fluid elements and, when necessary, their assigned<br />
conditions. It also has some parameters in relation to the settings of the<br />
fluid solver. The figure that follow shows an overview of this section:<br />
<br />
[[File:DEM 2 tutorial swimming fluid menu.png|250px]]<br />
<br />
The screenshot shows the chosen parameters in this example. The user is<br />
encouraged to play a little bit to those values and see the results. In this<br />
case a monolithic solver was chosen to get more accurate results but no<br />
turbulence model was considered necessary. The linear solver parameters<br />
require a much deeper understanding of the underlying theory and the<br />
associated numerical methods and will not be discussed here, check for more<br />
information. The default parameters in the problem type gave good results in<br />
this particular case. Finally, the user can enter the desired computational<br />
time step, which does not have to be too small as long as stable simulations<br />
are obtained.<br />
===Properties===<br />
In this section, the user can create a Property related with each of the<br />
fluids in the problem. In order to do this, the corresponding fluid must have<br />
been previously created in the Materials section. The next picture shows the<br />
process:<br />
<br />
[[File:DEM 2 tutorial swimming Fluid Properties.png|250px]]<br />
<br />
In this particular case, the Water default material was assigned to the<br />
Property1, which is good enough in this sample simulation.<br />
<br />
===Elements===<br />
The user must specify the fluids that will be present in the problem, so the<br />
next step is to assign the desired groups to the Fluid Elements. The process<br />
is the same as in other tutorials. A screenshot is given next:<br />
<br />
[[File:DEM 2 tutorial swimming Elements Fluid.png|250px]]<br />
<br />
To finish the elements assignation, though, an additional step is<br />
necessary. The user must specify the FEM element type to be used in the fluid<br />
mesh and the corresponding Property. The next figure shows this:<br />
<br />
[[File:DEM 2 tutorial swimming Elements Fluid Property.png|250px]]<br />
<br />
In this case, the only available element in 3D is the tetrahedra, while the<br />
chosen property was number 1, corresponding to the Water material.<br />
<br />
===Conditions===<br />
We finish the process by assigning the necessary conditions to their<br />
corresponding groups. <br />
====Initial Conditions====<br />
The fluid solver needs some initial conditions in the fluid to solve the<br />
problem. The next figure shows the section:<br />
<br />
[[File:DEM 2 tutorial swimming Initial Conditions.png|200px]]<br />
<br />
For this simulation, an initial vertical value of 1m/s was assigned to the<br />
mass of fluid inside the tube. In this case, no initial pressure was necessary.<br />
<br />
====Boundary Conditions====<br />
*''Inlet velocity''<br />
An inlet velocity is necessary in this simulation for a flow to exist in time<br />
along the interior of the tube. See the next picture:<br />
<br />
[[File:DEM 2 tutorial swimming inlet group.png|200px]]<br />
<br />
A vertical constant flow of 1m/s entering the bottom opening of the tube was<br />
chosen. No Outlet Pressure was needed in the simulation.<br />
*''No-Slip''<br />
The user must tell the program if there exists any relative velocity between<br />
the fluid and the solid boundary. The capture that follows shows the section:<br />
<br />
[[File:DEM 2 tutorial swimming No Slip.png|200px]]<br />
<br />
For this example, a no-slip behaviour was given to the walls. If there had<br />
been additional DEM-FEM entities, an Is-Slip behaviour could have been given<br />
to them.<br />
<br />
==Meshing and Running==<br />
If the user has succesfully assigned to the corresponding groups all the<br />
previous Properties, Elements and Conditions, the only thing that is still<br />
missing is the computational mesh. As already said, all the messing<br />
characteristics has been previously set in this problem, so the user has been<br />
able to focus in the Fluid aspects of the problem type. So to mesh, hit Ctr-G<br />
and enter a value of 0.02 and press OK. A global view of the resulting mesh<br />
should be similar to this one:<br />
<br />
[[File:DEM 2 tutorial swimming mesh.png|350px]]<br />
<br />
On the other hand, the initial DEM spheres mesh should look like the<br />
following:<br />
<br />
[[File:DEM 2 tutorial swimming mesh DEM detail.png|350px]]<br />
<br />
While the inlet surface mesh should be very similar to this:<br />
<br />
[[File:DEM 2 tutorial swimming mesh DEM inlet detail.png|350px]]<br />
<br />
==Results==<br />
Once a mesh is obtained and the file saved, the simulation can be run. To<br />
start the computations, the user must only hit F5 and the simulation will begin.<br />
The next four captures show the resulting simulation at different times:<br />
<br />
[[File:DEM 2 tutorial swimming velocities1of4.png|300px]]<br />
[[File:DEM 2 tutorial swimming velocities2of4.png|300px]]<br />
[[File:DEM 2 tutorial swimming velocities3of4.png|300px]]<br />
[[File:DEM 2 tutorial swimming velocities4of4.png|300px]]<br />
<br />
The next figure shows the stationary pressure field in the fluid:<br />
<br />
[[File:DEM 2 tutorial swimming fluid pressure.png|300px]]<br />
<br />
The user can also make a cut in the mass of fluid and obtained a 2D view of<br />
the velocity field in the fluid:<br />
<br />
[[File:DEM 2 tutorial swimming fluid velocities.png|300px]]</div>Salvahttps://kratos-wiki.cimne.upc.edu/index.php/DEMPack_TutorialsDEMPack Tutorials2018-06-25T14:44:01Z<p>Salva: /* F-DEMPack Tutorials */</p>
<hr />
<div>== G-DEMPack Tutorials ==<br />
<br />
[[G-DEMPack Tutorial 1: Conveyor belt]]<br />
<br />
[[G-DEMPack Tutorial 2: DemPack 2.0]]<br />
<br />
[[G-DEMPack Tutorial 3: DEM Meshers]]<br />
<br />
== F-DEMPack Tutorials ==<br />
<br />
[[F-DEMPack Tutorial 1: Curved pipe]]<br />
<br />
[[F-DEMPack Tutorial 2: Annular pipe]]<br />
<br />
== C-DEMPack Tutorials ==<br />
<br />
[[C-DEMPack Tutorial 1: Cohesive DemPack 2.0]]</div>Salvahttps://kratos-wiki.cimne.upc.edu/index.php/DEMPack_TutorialsDEMPack Tutorials2018-06-25T14:43:48Z<p>Salva: /* F-DEMPack Tutorials */</p>
<hr />
<div>== G-DEMPack Tutorials ==<br />
<br />
[[G-DEMPack Tutorial 1: Conveyor belt]]<br />
<br />
[[G-DEMPack Tutorial 2: DemPack 2.0]]<br />
<br />
[[G-DEMPack Tutorial 3: DEM Meshers]]<br />
<br />
== F-DEMPack Tutorials ==<br />
<br />
[[F-DEMPack Tutorial 5: Curved pipe]]<br />
<br />
[[F-DEMPack Tutorial 2: Annular pipe]]<br />
<br />
== C-DEMPack Tutorials ==<br />
<br />
[[C-DEMPack Tutorial 1: Cohesive DemPack 2.0]]</div>Salvahttps://kratos-wiki.cimne.upc.edu/index.php/DEMPack_TutorialsDEMPack Tutorials2018-06-25T14:42:40Z<p>Salva: /* F-DEMPack Tutorials */</p>
<hr />
<div>== G-DEMPack Tutorials ==<br />
<br />
[[G-DEMPack Tutorial 1: Conveyor belt]]<br />
<br />
[[G-DEMPack Tutorial 2: DemPack 2.0]]<br />
<br />
[[G-DEMPack Tutorial 3: DEM Meshers]]<br />
<br />
== F-DEMPack Tutorials ==<br />
<br />
[[G-DEMPack Tutorial 4: Swimming DEM]]<br />
<br />
[[F-DEMPack Tutorial 2: Annular pipe]]<br />
<br />
== C-DEMPack Tutorials ==<br />
<br />
[[C-DEMPack Tutorial 1: Cohesive DemPack 2.0]]</div>Salvahttps://kratos-wiki.cimne.upc.edu/index.php/F-DEMPack_Tutorial_6:_Annular_pipeF-DEMPack Tutorial 6: Annular pipe2018-06-25T14:42:15Z<p>Salva: moved F-DEMPack Tutorial 6: Annular pipe to F-DEMPack Tutorial 2: Annular pipe</p>
<hr />
<div>#REDIRECT [[F-DEMPack Tutorial 2: Annular pipe]]</div>Salvahttps://kratos-wiki.cimne.upc.edu/index.php/F-DEMPack_Tutorial_2:_Annular_pipeF-DEMPack Tutorial 2: Annular pipe2018-06-25T14:42:15Z<p>Salva: moved F-DEMPack Tutorial 6: Annular pipe to F-DEMPack Tutorial 2: Annular pipe</p>
<hr />
<div>==Introduction==<br />
Before starting with this tutorial, the user is strongly encouraged to follow<br />
the [[D-DEMPack Tutorial 2: Conveyor belt]] to get a feeling of how the problem type works, and in particular the DEM section. This tutorial will focus mainly in the Fluid section and its particularities.<br />
<br />
<br />
==Geometry==<br />
The process should start by creating a new geometry from scratch, by modifying an existing one or by opening a finished one. It is assumed that the user already knows how to do this procedure so no details will be given about it.<br />
<br />
In this tutorial, a simple geometry was created for the sake of simplicity. The idea is to understand all the steps involved in the problem type. The user must start by downloading the file [[File:F_DEMPack_Tutorial_1.gid.zip]], which contains the geometry and mesh of the proposed geometry. This file has already created the groups that will be used in the simulation.<br />
<br />
[[File:F-DEM_Tutorial6_Geometry.png|300px]]<br />
<br />
The geometry of study consists of an annular tube through which a flux of an intermediate viscosity mud passes. An inlet creating DEM particles with time is located in the base of the annular pipe.<br />
<br />
==Groups==<br />
The downloaded file has already created the groups that will be used in the simulation.<br />
<br />
[[File:F-DEM_Tutorial6_Groups.jpg.png|300px]]<br />
<br />
In this sample case, the following five groups were created: ''Dem_inlet, Fluid, Inlet, No_slip'' and ''Outlet''. The lower circle (surface) would be the Inlet, the smaller one just on top of it was the DEM_Inlet, the circle at the top would represent the Outlet, the No_slip would be the walls of the cylinder and, finally, the volume named Fluid would constitute the mass of fluid.<br />
<br />
<br />
==Materials==<br />
===Fluid properties===<br />
We will continue by defining the properties of the fluid in the simulation. We just have to click on the icon showing in the next figure to open the menus and in particular the Materials tab:<br />
<br />
[[File:F-DEM_Tutorial6_MatIcon.png]]<br />
<br />
To begin inserting the fluid properties, we click on ''Fluid'' and then on the plus button at the bottom of the window to add a new Fluid material. <br />
<br />
[[File:F-DEM Tutorial6 AddMat.png]]<br />
<br />
The next figure shows the details of the fluid material parameters that have been used in this example. To fill in or modify the value of the parameters, just unfold the ''General'' and ''Fluid'' submenus and double-click on the corresponding current data. The following data corresponds to an intermediate viscosity mud.<br />
<br />
[[File:F-DEM_Tutorial6_FluidMat.PNG]]<br />
<br />
===DEM properties===<br />
The same process can be followed, in this case, for the DEM material. We unfold the DEM-Defaultmaterial submenu at the bottom of the same window and fill the fields with the appropriate data. See Figure 6.<br />
<br />
[[File:F-DEM_Tutorial6_DEMMat.PNG]]<br />
<br />
<br />
==General Application Data==<br />
We now need to tell the program the model characteristics: boundary and initial conditions, inlet options, time considerations, etc. To begin filling all this data, we just click on the ''Model'' menu located at the left of the ''Materials'' tab and the Model Properties window will show up. This menu can be accessed also by clicking on the icon showing in the next figure:<br />
<br />
[[File:F-DEM_Tutorial6_PropsIcon.png]]<br />
<br />
The first section of the menu is General Application Data. Within this section the user can specify the simulation parameters, the coupling parameters between both subdomains -fluid and DEM particles-, and some postprocess results options. A deeper explanation of those parameters can be found in [[F-DEMPack2 manual]].<br />
<br />
[[File:F-DEM Tutorial6 GeneralData.PNG]]<br />
<br />
The previous screenshot shows the reference parameters that have been used in this particular case.<br />
<br />
<br />
==DEM Entities==<br />
The entities and conditions in relation to the DEM part of the problem are already preassigned so the user does not have to bother and can concentrate on the fluid aspects and details of the simulation. Nevertheless, figures showing the details on the DEM parts will be added here for the sake of completion and as a reference should the user lose these settings or in the case of have any problem when loading the file.<br />
<br />
===DEM-FEM wall group===<br />
The outer and inner cylinders are defined as walls in this section (''No-Slip'' group). No motion is imposed on any of them. <br />
<br />
[[File:F-DEM Tutorial6 DEM-FEM wall.PNG]]<br />
<br />
===Inlet DEM group===<br />
The annular surface over the base of the annurar pipe is set as the inlet of DEM particles. A total of 1000 particles per second are generated with an initial velocity of 1.5 m/s on the longitudinal direction of the pipe. The DEM material of the particles is specified in this submenu, as well as their diameter.<br />
<br />
[[File:F-DEM Tutorial6 Inlet.PNG]]<br />
<br />
===General options===<br />
This section is devoted to set the limits of the bounding box, the gravity vector and some advanced features. The figure that follows shows the chosen parameters.<br />
<br />
[[File:F-DEM Tutorial6 DEMGeneralOpt.PNG]]<br />
<br />
===Solution strategy===<br />
Other advanced options that the user can specify are those related to the ''Solution strategy'' and ''DEM-Specific Results''. More information about these submenus can be found in [[F-DEMPack2 manual]].<br />
<br />
[[File:F-DEM Tutorial6 DEMSolStrategy.PNG]]<br />
<br />
==Fluid==<br />
This section contains the information about the properties of the fluids, the different existing fluid elements and, when necessary, their assigned conditions. It also has some parameters in relation to the settings of the fluid solver.<br />
<br />
The first two submenus are related to the solver type for the fluid part and its parameters, and the third sumbenu allows the user to enter the delta time to use in the computations of the fluid as well as the step for the divergence clearance.<br />
<br />
The default parameters on the next figure gave good results in this particular case.<br />
<br />
[[File:F-DEM Tutorial6 FluidData1.PNG]]<br />
<br />
===Properties===<br />
The user can set the fluid properties by assigning them to the Fluid material previously created. To do this, right-click on ''Properties'' and choose New. A New Property window will appear below. ''Fluid1'' can be selected on the ''Material'' drop-down menu.<br />
<br />
[[File:F-DEM Tutorial6 FluidProperties.PNG]] [[File:F-DEM Tutorial6 FluidProperties2.PNG]]<br />
<br />
===Elements===<br />
<br />
The next step is to identify the fluid elements amongst all the existing geometric entities. This can be done by going to Elements and right-click on Fluid. As before, if the user clicks on ''New'' a window will open at the bottom. The working fluid can be selected on the ''Group'' drop-down menu. The elements are properly assigned after clicking on ''Ok''.<br />
<br />
[[File:F-DEM Tutorial6 FluidElements.PNG]] [[File:F-DEM Tutorial6 FluidElements2.PNG]]<br />
<br />
===Initial conditions===<br />
The same procedure is followed to assign the initial conditions to the problem. In this case, an initial vertical velocity field of 1.5 m/s is given to the mass of fluid. The picture that follows shows the process.<br />
<br />
[[File:F-DEM Tutorial6 FluidInitialCond.PNG]]<br />
<br />
====Boundary conditions====<br />
Regarding the boundary conditions, an inlet velocity of 1.5 m/s is proposed to be set in the entrance of the annular pipe. This can be done by right-clicking on ''Boundary_conditions'' >'' Inlet_velocity'' and creating the new inlet condition over the desired group. As seen in the next picture, a velocity of 1.5 is specified in the vertical direction.<br />
<br />
A similar process is followed to impose the pressure boundary condition. In this example it is assigned a null pressure value at the top surface.<br />
<br />
To finish with the boundary conditions, slip conditions are informed in the domain. In this case, no-slip conditions have been chosen on the cylinder walls. As shown in the figure that follows, the user must assign this property to the appropriate layer, in this case the outer and inner cylinders of the annular pipe.<br />
<br />
[[File:F-DEM Tutorial6 BoundCondFluid.PNG]]<br />
<br />
<br />
==Meshing and Running==<br />
The last step before launching the calculation is to mesh the domain. All the mesh characteristics are predefined on the downloaded model, so the user can proceed to mesh by typing Ctrl+G or by unfolding the ''Mesh'' menu on the top of GiD and clicking on ''Generate Mesh...''. A size of 0.05 has been selected for the mesh.<br />
<br />
[[File:F-DEM Tutorial6 Mesh.png|300px]]<br />
<br />
==Calculate==<br />
After the geometry is successfully meshed and the case is saved, the user is now ready to launch the calculation. To do this, the user must go to ''Calculate > Calculate'' or press the ''Run the simulation'' button in the interface. The next figure shows the Process Management section of the interface. <br />
<br />
[[File:F-DEM Tutorial6 ProcessMenu.PNG]]<br />
<br />
The first button inside the red square opens the process control window, the second one runs the simulation, the third one gives information about the calculations and the last one stops the process.<br />
<br />
<br />
==Results==<br />
Once the program starts writing results, the user can shift to the Postprocess in order to analyze the obtained results. After clicking on ''Open multiple files'' and selecting the desired group of files to be opened, the user can observe the sequence of results with time by using the ''Window > Animate'' utility. Next figures show a succession of results after running the sample case.<br />
<br />
[[File:F-DEM Tutorial6 Post1.PNG|200px]] [[File:F-DEM Tutorial6 Post2.PNG|180px]] [[File:F-DEM Tutorial6 Post3.PNG|180px]] [[File:F-DEM Tutorial6 Post4.PNG|200px]] <br />
<br />
It is also possible to print several physical results as, for example, the velocity field of the particles or the fluid pressure distrubution on a determinated step of time. To do this, the user must click on ''View results > Display vectors > VELOCITY > |VELOCITY|'', and ''View results > Contour Fill > PRESSURE > |VELOCITY|''.<br />
<br />
[[File:F-DEM Tutorial6 PostVel.PNG|300px]] [[File:F-DEM_Tutorial6_PostPres.PNG|300px]]</div>Salvahttps://kratos-wiki.cimne.upc.edu/index.php/DEMPack_TutorialsDEMPack Tutorials2018-06-25T14:41:28Z<p>Salva: /* C-DEMPack Tutorials */</p>
<hr />
<div>== G-DEMPack Tutorials ==<br />
<br />
[[G-DEMPack Tutorial 1: Conveyor belt]]<br />
<br />
[[G-DEMPack Tutorial 2: DemPack 2.0]]<br />
<br />
[[G-DEMPack Tutorial 3: DEM Meshers]]<br />
<br />
== F-DEMPack Tutorials ==<br />
<br />
[[G-DEMPack Tutorial 4: Swimming DEM]]<br />
<br />
[[F-DEMPack Tutorial 6: Annular pipe]]<br />
<br />
== C-DEMPack Tutorials ==<br />
<br />
[[C-DEMPack Tutorial 1: Cohesive DemPack 2.0]]</div>Salvahttps://kratos-wiki.cimne.upc.edu/index.php/G-DEMPack_Tutorial_5:_Cohesive_DemPack_2.0G-DEMPack Tutorial 5: Cohesive DemPack 2.02018-06-25T14:40:26Z<p>Salva: moved G-DEMPack Tutorial 5: Cohesive DemPack 2.0 to C-DEMPack Tutorial 1: Cohesive DemPack 2.0</p>
<hr />
<div>#REDIRECT [[C-DEMPack Tutorial 1: Cohesive DemPack 2.0]]</div>Salvahttps://kratos-wiki.cimne.upc.edu/index.php/C-DEMPack_Tutorial_1:_Cohesive_DemPack_2.0C-DEMPack Tutorial 1: Cohesive DemPack 2.02018-06-25T14:40:26Z<p>Salva: moved G-DEMPack Tutorial 5: Cohesive DemPack 2.0 to C-DEMPack Tutorial 1: Cohesive DemPack 2.0</p>
<hr />
<div>==Introduction==<br />
Before starting with this tutorial, the user is strongly encouraged to follow<br />
the [[D-DEMPack Tutorial 2: DemPack 2.0]] to get a feeling of how the problem<br />
type works, and in particular the DEM section. This tutorial will focus mainly <br />
in the parcularities of the cohesive DEM. The user should start by downloading <br />
the [[File:D DEMPack2 Tutorial 5.zip]]. This file has already both <br />
created and assgined the groups that will be used in the simulation, as well<br />
as the mesh sizes for all groups.<br />
<br />
==Geometry==<br />
The geometry of study consists of four different continuum-DEM groups as well as<br />
two DEM-FEM rigid entities. The four cohesive groups are composed of an inlet<br />
of deformable cluster elements, a highly cohesive material in the shape of<br />
a sphere, a very little cohesive material in the shape of a paralelepiped<br />
and a membrane-like material. The program is also capable of simulating<br />
cables and solving thermal problems, as will we shown in a upcoming tutorial. <br />
It is also possible to simulate the behaviour of ice, even though this aspect is <br />
still under development. See http://www.cimnemultimediachannel.com/vpage/2/0/technology/technology/Discrete-Element-Method#11 to check the capabilities of the <br />
program in that respect.<br />
<br />
[[File:Demdrill tutorial geometry.png|700px]]<br />
[[File:Demdrill tutorial groups.png|700px]]<br />
<br />
==DEM Elements==<br />
As a reference, a screenshot of the characteristics of the elements used in this <br />
simulation will be given. The user is encouraged to modify these settings to <br />
experiment a little bit and get familiar with the program. The assignation was the <br />
following:<br />
<br />
[[File:Demdrill tutorial dem elements.png|400px]]<br />
<br />
==Cohesive Groups==<br />
This section is unique and it does not exist neither in D-DEMPack nor F-DEMPack. <br />
The user must assign this attribute to any group containing cohesive entities. <br />
Only the particles tagged with this attribute will have cohesive properties and <br />
use a continuum material law. Double click on Cohesive Groups to start adding <br />
adding the different groups in this section. Note that different cohesive groups can have the same identification number, meaning that the entities belonging to those groups are cohesive among them. However, in this case there are three independent cohesive groups. The next picture shows the assignation in our sample case as a reference.<br />
<br />
[[File:Demdrill tutorial cohesive groups.png|200px]]<br />
<br />
==Boundary Conditions==<br />
This section is in practice identical to that of the D-DEMPack. The most significant <br />
difference is that the inlet cluster elements are deformable and breakable. The <br />
simulation captures at the end of this tutorial show an example of the behavior of <br />
this kind of cluster elements.<br />
<br />
[[File:Demdrill tutorial boundary conditions.png|300px]]<br />
<br />
==General Options==<br />
The structure of this section is the same as in D-DEMPack, but with a much more <br />
extense subsection of Advanced Options. The settings for this simulation are <br />
given in the picture that follows as a reference. A detailed explanation of each <br />
of the fields in this section can be found here [[C-DEMPack2 manual]].<br />
<br />
[[File:Demdrill tutorial general options.png|400px]]<br />
<br />
==Solution Strategy==<br />
This section is identical to that of D-DEMPack, so no further explanation is <br />
needed. A screenshot with the value of the parameters chosen in this example <br />
can be found in the picture that follows.<br />
<br />
[[File:Demdrill tutorial solution strategy.png|300px]]<br />
<br />
==Results==<br />
The structure of this section is the same as in D-DEMPack, but with an additional <br />
subsection on Postprocessing bond-related results and some other parameters linked <br />
to the Poisson ratio and the skin of the materials in the simulation. Check the <br />
[[C-DEMPack2 manual]] for a detailed explanation of every field in this section. The <br />
user is left free to choose the desired set of results to be printed.<br />
<br />
==Materials==<br />
<br />
For this example, the materials of all groups has been already set. The user is <br />
encouraged to play a little bit using different materials and compare the results. <br />
Check the [[C-DEMPack2 manual]] for a reference on the different options available. <br />
The materials used in this example were the following:<br />
<br />
[[File:Demdrill tutorial materials1of2.png|250px]]<br />
[[File:Demdrill tutorial materials2of2.png|250px]]<br />
<br />
==Meshing and Running==<br />
After the user has checked that everything is correctly assigned and the corresponding <br />
cohesive groups have been created, the only thing that is missing is to mesh the geometry. <br />
As said at the beginning of this tutorial, all the meshing details have been previously set <br />
for this problem, so the user must only press Ctr-G, enter a value of 0.4 and hit OK. A <br />
mesh very similar to the one that follows should be obtained:<br />
<br />
[[File:Demdrill tutorial groups and mesh.png|700px]]<br />
<br />
Once obtained a valid mesh and to run the example, press Ctrl-s to save the file and hit <br />
F5 to launch the simulation.<br />
<br />
==Results==<br />
<br />
After some minutes, the simulation should be complete. Shift to Post-Process to load the <br />
results. The next four captures show the resulting simulation at different times. The user <br />
should obtain results very similar to those.<br />
<br />
[[File:Simulation1of4.png|600px]]<br />
[[File:Simulation2of4.png|600px]]<br />
[[File:Simulation3of4.png|600px]]<br />
[[File:Simulation4of4.png|600px]]</div>Salvahttps://kratos-wiki.cimne.upc.edu/index.php/G-DEMPack2_manualG-DEMPack2 manual2018-06-25T13:23:24Z<p>Salva: </p>
<hr />
<div>This manual is aimed to give detailed explanations on all sections in the D-DEMPack problem type. For a more practical review, the user is encouraged to check the D-DEMPack Tutorials included in [[D-DEMPack Tutorials]] page.<br />
<br />
<br />
<br />
== Loading D-DEMPack ==<br />
If you did not install GiD or D-DEMPack yet, follow the installation instructions here: [[D-DEMPack installation]]<br />
<br />
Once you have finished the installation, open GiD and load the D-DEMPack Problemtype by clicking:<br />
Data -> D-DEMPack<br />
Note that a toolbar with 7 buttons has been added to the left side of the GiD working window. This toolbar is called "Model definition toolbar". <br />
<br />
<br />
== The Model Definition Toolbar ==<br />
<br />
The buttons in the Model definition toolbar do the following actions:<br />
<br />
* Button 1 - Link to the GiD Groups Management Window<br />
<br />
* Button 2 - Model Definition Tree <br />
<br />
* Button 3 - Materials Tree<br />
<br />
* Button 4 - Running Processes Management Window<br />
<br />
* Button 5 - Run this case<br />
<br />
* Button 6 - Show information about how this case is running<br />
<br />
* Button 7 - Stop this case<br />
<br />
If you experience problems with this toolbar not appearing, deactivate and reactivate it from the GiD utilities:<br />
Utilities -> Tools -> Toolbars <br />
Scroll down to Model Definition Toolbar, hide it and show it. Make sure you choose your favourite position in the GiD Window for this toolbar (Left, Up, Right or Down).<br />
<br />
<br />
== The GiD philosophy ==<br />
<br />
GiD is a Pre and Post Processor, it is not an actual CAD tool. However, it can be used to draw geometries and mesh them. For complicated geometries, we recommend using a CAD tool and importing them into GiD for meshing (or import mesh and apply conditions directly).<br />
In case of drawing geometries with GiD, one must be aware that it uses a Hierarchical Structure: Volumes are created with a set of watertight Surfaces, Surfaces are created with a set of watertight Lines and Lines are created starting and ending in Points. If there are no Points, a Line cannot be created, and the same dependence holds for all levels.<br />
For more information about how to use GiD, visit [http://www.gidhome.com/ GiD's home page] or follow some [http://www.gidhome.com/support/tutorials tutorials]<br />
<br />
<br />
== The Kratos philosophy ==<br />
<br />
The way Kratos applies materials and conditions to the geometry or the mesh is using the Groups. A Group is a set of entities (either in Geometry or in Mesh). A Group can contain any Volume, Surface, Line, Point, Element or Node, no matter whether it is already belonging to other Groups. <br />
<br />
<br />
== The D-DEMPack philosophy ==<br />
<br />
Since DEMPack is based in Kratos and programmed for GiD, it inherits the philosophy of both. The Groups will be the essential tool for assigning materials and conditions. <br />
<br />
<br />
OPTION 1: Use the Groups Management Window to create Groups and move entities into the corresponding Groups. Go to the Model Definition Tree, fill in all the fields and assign conditions to existing Groups (the ones you just created).<br />
<br />
OPTION 2: Fill in all the fields of the Model Definition Tree and when asked for any Group to assign the condition to, use the button for automatic creation of Groups (included in the mini window for condition assignation)<br />
<br />
<br />
== Drawing a Geometry ==<br />
<br />
The first step that an analyst must do is to draw a Geometry. It will contain Volumes, Surfaces, Lines and Points.<br />
<br />
A list of important recommendations and clarifications follows:<br />
<br />
*All those walls that must not be crossed by the discrete elements must be surfaces.<br />
<br />
*Volumes are susceptible to be filled by spheres at the Meshing stage.<br />
<br />
*Inlets are usually Surfaces, but they can also be Points, Lines and Volumes.<br />
<br />
<br />
== Working with a Mesh ==<br />
<br />
If desired, GiD will mesh the Geometry and will convert Points into Nodes, Lines into Linear Elements, Surfaces into Triangles and Volumes into Spheres.<br />
The common size of the mesh must be specified when prompted (when GiD is about to mesh), or different sizes depending on the entities, which can be assigned at any time through the 'Mesh' menu in GiD.<br />
<br />
A list of important recommendations and clarifications follows:<br />
<br />
*Do not specify Quadrilateral Elements or Quadratic Elements for any entity in the meshing options. They are not supported by D-DEMPack. '''This option will be removed in the next DEMPack version.'''<br />
*For any volume that must be filled with packed spheres (Discrete Elements) make sure that you specify Element Type->Sphere in the meshing options. <br />
*All volumes meshed with spheres '''will lose their Surfaces''' unless those surfaces are part of DEMFEM wall group.<br />
<br />
== Model Definition Tree ==<br />
<br />
The Model Definition Tree contains all the options that must be filled in order to run a DEM computation.<br />
<br />
Some of the options are edited directly on the Tree, while others (like the assignation of conditions to Groups) open a '''Mini Window''' to create '''new branches of the Tree'''. No matter what options are chosen in the Mini Window when you click OK, '''the data will be still editable on the new Tree branch'''.<br />
<br />
A contextual help is available on the tree itself. Stop the mouse on any value, label or branch of the tree and some brief help will be displayed.<br />
<br />
<br />
=== Elements ===<br />
<br />
'''DEM element'''<br />
<br />
Double click on this item and a Mini Window will open at the bottom. Assign it to an existing Group (or create the Group on-the-go). This section has the following fields:<br />
<br />
*''Activate:'' Use this to activate or deactivate this group.<br />
*''Material:'' Double-click to choose the material for the group.<br />
*''Use Advanced Meshing Features:'' Set this option to Yes to have access to other meshing criteria other than the default random DEM meshers.<br />
*''Advanced Meshing Features Algorithm Type:'' Here the user can choose between FEMtoDEM and 2Dto3D. The former algorithm uses a original FEM mesh as an starting point to obtain a mesh of spheres, while the latter transforms a random mesh of circles into spheres. For a more detailed explanation of the use of both meshing methodologies, feel free to check [[D-DEMPack Tutorial 3: DEM Meshers]]. The 2Dto3D does not need any additional parameters, while when choosing the FEMtoDEM method, the following fields will show up:<br />
*''FEM to DEM criterion type:'' Here three different criteria can be chosen: Node Based, Element Centroid Based or Both. The first one takes an initial FEM mesh, puts spheres of the desired sizes in each node of the mesh and deletes the initial mesh. The second method does the same process, in this case using the centroids of the FEM mesh elements. Finally, the third criterion does both things.<br />
*''Diameter:'' Here the user can enter the desired average size of the spheres in the mesh.<br />
*''Probability Distribution:'' There are two distribution available: Normal and Logarithmic.<br />
*''Standard Deviation:'' Enter the value of the standard deviation for the desired distribution.<br />
<br />
=== Conditions ===<br />
<br />
'''DEM-FEM wall'''<br />
<br />
It marks a Surface as a Rigid Body which cannot be crossed by the DEM elements. Double click on this item and a Mini Window will open at the bottom. Choose the Group to assign this condition and press OK. The DEM-FEM condition has the following fields:<br />
<br />
*''Activate:'' Use this to activate or deactivate this group.<br />
*''Impose Motion:'' Use this to activate or deactivate an imposed motion for the group. When activated, the following two fields will show up:<br />
*''Linear velocity:'' The user can enter here the values of the velocity field, set Yes in Periodic in the field that follows if that is the case, so a new field will open to enter the Period value, and the desired values to start and finish the linear motion.<br />
*''Angular velocity:'' It follows the same philosophy as the previous section, but in this case it is also necessary to enter a center of rotation for the angular velocity vector.<br />
Finally, there exists a Settings section where the user must enter additional data related to the walls:<br />
*''Update velocity, not displacements:'' If activated, the wall will not move and will just have an imposed velocity field.<br />
*''Friction angle:'' Coulomb friction coefficient in degrees.<br />
*''Cohesive wall:'' Here the user can choose if the wall has a cohesive behavior. If Yes, an additional field will open so that value can be given.<br />
*''Compute Wear:'' When activated, wear will be computed for the wall. Also, three additional fields will open so the user can enter the sensibility of the wall to abrasion and impact as well as its hardness.<br />
*''Rigid Structure:'' An ideally rigid behavior for the wall can be given. When that response is not desired, the user can enter the corresponding Young Modulus and Poisson ratio.<br />
<br />
<br />
'''Inlet'''<br />
<br />
It allows the insertion of new DEM elements into the domain. Double click on this item and a Mini Window will open. Every Mesh Node will insert Elements. Mesh Nodes come usually from the meshing of Points, Lines, Surfaces (recommended) or Volumes. Assign this condition to a Group containing a Surface and the inner and boundary Nodes of this Surface will be generating new DEM elements with the parameters chosen. It consists of the fields that follow:<br />
<br />
*''Activate:'' Use this to activate or deactivate the inlet.<br />
*''Element Type:'' Choose between Spheres or Clusters (group of spheres).<br />
*''Velocity modulus:'' Enter the modulus of the velocity of the inlet particles. Three fields to enter the velocity field follow.<br />
*''Maximum random velocity deviation:'' The maximum value in degrees for an random component that will be added to the previous velocity field.<br />
*''Number of particles:'' Total value of particles per second created by the inlet.<br />
*''Inlet start and stop times:'' Desired times to begin and to finish the insertion of particles.<br />
*''Material:'' Choose the desired material for the inlet particles.<br />
*''Exclude boundaries:'' When set to Yes, the nodes in the boundaries of the inlet entity will not insert particles, only the nodes in the interior will.<br />
*''Diameter:'' Here the user can choose the distribution of sizes of the inserted spheres. It follows a similar structure found in the DEM Element section, refer to that section if in doubt.<br />
*''Impose Motion:'' It has the same components as in the DEM-FEM wall section. Refer to that section for more details.<br />
*''Random Orientation:'' Only active when choosing the Cluster Element Type. When set to No, four additional fields will open so the user can enter an specific orientation for the inlet clusters. Otherwise, the clusters are inserted using a stochastic orientation distribution.<br />
<br />
<br />
'''Prescribe motion on Elements'''<br />
<br />
It allows the imposition and/or restriction of both linear and angular velocities to sets of DEM elements. Double click on this item and a Mini Window will open at the bottom. It will impose or restrict the velocities during a desired interval of time of the Groups of spheres you choose. It consists of the following fields:<br />
<br />
*''Activate:'' To activate or deactivate the prescribed motion on this group. When set to Yes, the Type of Motion field will appear. This Type of Motion can be set to the following two values:<br />
*''Fixed DOFs:'' It consists of six fields to fix the degrees of freedom of the elements in the group. Set Yes on any of them to fix the value of the velocity in the corresponding direction or, in particular, to restrain it along that axis (when set to 0.0). The user can also enter the values of the initial and final times of that motion.<br />
*''Rigid Body Motion:'' Set this option to impose a movement to the group. It is composed of identical fields of those of the Imposed Motion of the previous Conditions sections. Check any of them for reference.<br />
<br />
<br />
'''Initial conditions on Elements'''<br />
<br />
It allows the imposition of initial values for both linear and angular velocities to the desired sets of DEM elements. Double click on this item and a Mini Window will open at the bottom so you will be able to assign those conditions to the Groups of spheres you choose. It structure is similar to previous sections. When Activated, six fields will open so the user can set the initial values of both linear and angular velocities for the group.<br />
<br />
=== General Options ===<br />
General options that affect the computation.<br />
<br />
==== Bounding Box ====<br />
Creates a Box for the computation and every DEM element that gets outside of this Box is '''deleted'''.<br />
<br />
*'''Bounding Box:''' Choose Active to activate it.<br />
<br />
*'''Bounding Box type:''' If 'Automatic' is chosen, the Bounding Box will be created taking into account the initial disposition of elements and walls. It will be created containing the existing entities.<br />
<br />
*'''Enlargement factor:''' only for 'Automatic' Box. Enlarges the Box by a factor.<br />
<br />
*'''Max X:''' Max corner X coordinate<br />
<br />
*'''Max Y:''' Max corner Y coordinate<br />
<br />
*'''Max Z:''' Max corner Z coordinate<br />
<br />
*'''Min X:''' Min corner X coordinate<br />
<br />
*'''Min Y:''' Min corner Y coordinate<br />
<br />
*'''Min Z:''' Min corner Z coordinate<br />
<br />
*'''Start Time:''' Time to activate the bounding box.<br />
<br />
*'''Stop Time:''' Time to stop the effect of the bounding box.<br />
<br />
*'''Print Bounding Box:''' To activate or deactivate the printing of the bounding box.<br />
<br />
==== Physical Options ====<br />
*'''Gravity value:''' Enter the value of the acceleration of Gravity (default value: 9.81 m/s2)<br />
<br />
*'''Gx:''' X component of the versor of the Gravity. The versor does not have to be necessarily unitary.<br />
<br />
*'''Gy:''' Y component of the versor of the Gravity. The versor does not have to be necessarily unitary.<br />
<br />
*'''Gz:''' Z component of the versor of the Gravity. The versor does not have to be necessarily unitary.<br />
<br />
*'''Periodic Domain:''' Set this field to yes to create a parallepipedic periodic domain defined by the bounding box.<br />
<br />
==== Advanced Options ====<br />
*'''Clean initial indentations:''' If activated, initial indentations between spheres and between spheres and walls are eliminated to avoid explosions (reducing the radius of the spheres accordingly)<br />
<br />
*'''Virtual mass coefficient:''' This coefficient will multiply the mass of the DEM elements when computing their accelerations. It is equivalent of reducing the accelerations of the DEM elements by this factor.<br />
<br />
*'''Calculate rotations:''' If activated, the DEM elements will rotate. Otherwise, they will only suffer translations. By default rotations are '''activated'''.<br />
<br />
*'''Rolling friction:''' If activated, the rolling friction parameter of the Material will be taken into account. Otherwise, it will be ignored.<br />
<br />
=== Solution Strategy ===<br />
<br />
==== Time integration scheme ====<br />
Choose the desired explicit time integration scheme for the problem. The options are Symplectic Euler, Forward Euler, Taylor Scheme, Newmark Beta Method or Verlet velocity.<br />
<br />
==== Parallel Type ====<br />
*'''Parallel type:''' locked to OpenMP (MPI will be available in the future)<br />
<br />
*'''Number of threads:''' set the number of threads you want to use for this computation. Do not choose more than the available threads on your computer or the computation will be slower.<br />
<br />
==== Time parameters ====<br />
*'''Delta time:''' Specify the time increment for the calculation. Take into account that a Delta Time too big will make the calculation unstable, and a very small Delta Time can slow down the computation a lot.<br />
<br />
*'''Total time:'''Specify total amount of seconds you want to simulate. The simulation will start at ''time = 0 seconds'' and will finish at ''time = Total time seconds''.<br />
<br />
*'''Info screen output:''' Specify the wall time increment (reality time) between updates on the Info Screen<br />
<br />
*'''Neighbour search frequency:''' choose how often the neighbours are searched. 1 means ''every time step'', 10 means ''1 out of 10 steps''. Take into account that searching at every time step can penalize a lot the computation time, but searching with low frequency can lead to inaccurate results.<br />
<br />
=== Results ===<br />
*'''Output time step:''' Specify the time increment between prints. Every print will write down the necessary files to see the results on the Post-Process of GiD.<br />
<br />
==== Print in Post-process ====<br />
From all the options, choose those that you want to see in Post-process. Keep in mind that activating some of these options can slow down the computation noticeably, by adding function calls and allocating extra memory.<br />
<br />
==== Graphs ====<br />
*'''Force evolution with time:''' Choose Yes to activate it. It will print a file with the Integral of Forces and Torques on the whole chosen Group.<br />
<br />
*'''Printing delta time:''' It shows up when activating the previous field. Here the user can set the time increment between printings<br />
<br />
*'''Force integration group:''' It also only appears when activating the Graphs. Double click on this item and a Mini Window will open. Choose what Groups where you want to integrate the Forces and Torques. A file called '<name_of_the_group>_force_graph.grf' will be printed in the Graphs folder of the GiD project you are working on.<br />
<br />
*'''Compute energy:''' If activated, this option calculates the kinetic, potential, elastic, frictional and viscodamping energies for all particles, both spheres and clusters.<br />
<br />
*'''Potential Energy Reference Point X:''' Choose the reference in the X axis.<br />
<br />
*'''Potential Energy Reference Point Y:''' Choose the reference in the Y axis.<br />
<br />
*'''Potential Energy Reference Point Z:''' Choose the reference in the Z axis.<br />
<br />
==== Velocity Trap ====<br />
Creates a Box inside which several measurements are done: average velocity, entering flux of particles and entering flux of mass.<br />
<br />
*'''Active velocity trap:''' to active or not this feature.<br />
<br />
*'''Max X:''' Maximum X corner coordinate<br />
<br />
*'''Max Y:''' Maximum Y corner coordinate<br />
<br />
*'''Max Z:''' Maximum Z corner coordinate<br />
<br />
*'''Min X:''' Minimum X corner coordinate<br />
<br />
*'''Min Y:''' Minimum Y corner coordinate<br />
<br />
*'''Min Z:''' Minimum Z corner coordinate<br />
<br />
*'''Printing time step:''' To adjust the frequency of the printing data.<br />
<br />
==== Options ====<br />
*'''Result format:''' Choose Binary or Ascii. Ascii takes more hard disk space, but is human readable.<br />
<br />
== Materials Tree ==<br />
<br />
Right click on 'DEM' to create a new material.<br />
<br />
Materials have the following fields to be filled:<br />
<br />
* '''Density:''' that of the material, not bulk density<br />
* '''Young's Modulus:''' that of the material, not bulk stiffness<br />
* '''Poisson's Ratio:''' that of the material, not bulk ratio<br />
* '''Cohesion:''' JKR parameter<br />
* '''Friction angle:''' Particle friction angle (for Coulomb's friction). The tangent of this angle will be used to evaluate the beginning of slip.<br />
* '''Coefficient of restitution:''' Desired quotient of exit velocity over incident velocity for collisions.<br />
* '''Color:''' just a color for post-process<br />
* '''Discontinuous Contact Law:''' Choose Linear or Hertz. The implementation of the contact laws is based on the models LSD and HMD, compiled and arranged in the paper: C.Thornton, S.J. Cummins, P.W. Cleary, ''An investigation of the comparative behaviour of alternative contact force models during inelastic collisions''. Powder Technology. Volume 233, Pages 30–46, January 2013<br />
* '''Cohesion Law:''' The user can choose between two different cohesion laws: JKR and DMT. The first one works better for soft, large adhesive spheres, while the second, on the contrary, is designed for hard, small non-adhesive ones.</div>Salvahttps://kratos-wiki.cimne.upc.edu/index.php/DEM_ApplicationDEM Application2018-06-25T13:20:20Z<p>Salva: /* How to analyse using the current application */</p>
<hr />
<div>WARNING: This page is still under construction.<br />
<br />
The DEM Kratos Team<br />
<br />
<br />
== Theory ==<br />
<br />
The fundamental theoretical background corresponding to the discontinuous (granular matter) part of the code can be found Casas et al. (2015). The following sections are destined to contain this information though are curently still under construction.<br />
<br />
Nothing numerical<br />
<br />
=== Integration Schemes ===<br />
<br />
*Symplectic Euler Scheme<br />
<br />
*Forward Euler Scheme<br />
<br />
*Taylor scheme<br />
<br />
*Verlet Velocity Scheme<br />
<br />
*Newmark Beta Method Scheme<br />
<br />
=== Contact Laws ===<br />
Concept of indentation<br />
HMD, LSD<br />
===== Normal Force Laws =====<br />
<br />
====== Linear Repulsive Force ======<br />
<br />
The most simple representation of a repulsive contact force between a sphere and a wall is given by a linear law, where the force acting on the sphere when contacting a plane is a linear function of the indentation, which in turn would bring a quadratic dependence with the contact radius. The next figure shows this simple law:<br />
<br />
[[File:Jkr cohesion linear force.png]]<br />
<br />
<br />
====== Hertzian Repulsive Force ======<br />
<br />
On the other hand, Hertz solved in 1882 the non-cohesive normal contact between a sphere and a plane. In 1971 Johnson, Kendall and Roberts presented the solution (JKR-Theory) for the same problem in this case adding cohesive behaviour. Not much later, Derjaguin, Müller and Toporov published similar results (DMT-Theory).<br />
<br />
Both theories are very close and correct, the main difference being that the JKR theory is oriented to the study of flexible, large spheres, while the DMT theory is specially suited to represent the behaviour of rigid, small ones.<br />
<br />
[[File:Jkr cohesion hertz.jpeg]]<br />
<br />
The previous figure shows the standard representation of a Linear or Hertzian contact between a sphere and a wall. The distribution of contact pressures between both bodies follow a parabolic law.<br />
<br />
====== JKR Cohesive Force ======<br />
<br />
[[File:Jkr cohesion jkr.jpeg]]<br />
<br />
The preceding capture shows the a representation of a JKR contact between a sphere and a wall. In this case, the distribution of pressures between both bodies is more complex due to the formation of a neck at the boundaries of the contact. A later figure shows a detailed view of the pressures involved.<br />
<br />
[[Image:Jkr cohesion forces.png]]<br />
<br />
In the previous graphic, it is very interesting to note the existence of two singular values of contact radius: one for which the total forces acting on the contacting sphere is zero, and another for which the maximum value of adhesion is achieved.<br />
<br />
<br />
[[File:Jkr cohesion pressures.png]]<br />
<br />
In the previous figure, the blue area represents the distribution of pressures acting on the sphere when contacting a wall if a Hertzian Law is followed. On the other hand, the sum of both green and blue areas represents the JKR distribution. Note the larger values and the existence of adhesive behaviour at both sides of the pressures distribution. <br />
<br />
<br />
An example of granular simulation without cohesive forces:<br />
<br />
[[File:JKR no cohesion 1 33.png]]<br />
[[File:JKR no cohesion 2 33.png]]<br />
[[File:JKR no cohesion 3 33.png]]<br />
[[File:JKR no cohesion 4 33.png]]<br />
<br />
The same simulation as before, this time with cohesive forces in both sphere-sphere and sphere-plane contacts.<br />
<br />
[[File:JKR cohesion 1 33.png]]<br />
[[File:JKR cohesion 2 33.png]]<br />
[[File:JKR cohesion 3 33.png]]<br />
[[File:JKR cohesion 4 33.png]]<br />
<br />
<br />
References:<br />
<br />
V. L. Popov. "Contact Mechanics and Friction" (2010). <br><br />
G. Casas et al. "A modular, partitioned, discrete element framework for industrial grain distribution systems with rotating machinery." Computational Particle Mechanics (2015): 1-18.<br />
<br />
===== Tangential Force Laws =====<br />
<br />
===== Damping Force Laws =====<br />
<br />
(restit. coef)<br />
<br />
== Numerical approach ==<br />
<br />
This section is dedicated to describe the numerical methods used to solve.<br />
<br />
<br />
[[File:Dem manual main scheme 66 discontinuum.png]]<br />
<br />
<br />
=== DEM elements ===<br />
<br />
===== Spheric Particle =====<br />
===== Spheric Continuum Particle =====<br />
===== Spheric Swimming Particle =====<br />
<br />
=== DEM walls (Kratos Conditions) ===<br />
<br />
=== DEM Inlets ===<br />
<br />
A DEM Inlet is a source of new DEM Elements. It is a cloud of Nodes, where each Node is the center of a ''Generator Sphere''. In a random order, the Nodes are chosen to create a new DEM Element (both spherical elements or clusters) whose center coincides with the Node and the whole element is fully included in the ''Generator Sphere''. The newly generated DEM Element has a non-zero imposed velocity which eventually makes the DEM Element get outside the ''Generator Sphere''. Until this moment, the ''Generator Sphere'' is not allowed to generate another DEM-Element. From this moment on, the newly created DEM Element no longer has the velocity imposed, it moves freely and cannot penetrate its ''Generator Sphere'' or any other. Actually, the ''Generator Sphere'' is seen as any other Sphere of the domain by the DEM Element, and the contact between them is calculated as usual. In other words, '''the Generator Spheres reserve the necessary space to create a new DEM Element'''.<br />
<br />
=== DEM strategies ===<br />
<br />
===== Non-cohesive materials Strategy =====<br />
<br />
====== Evaluation of Forces ======<br />
<br />
Once contact between two spheres has been detected (see next figure), the forces occurring at the<br />
contact point are computed. The interaction between the two contacting spheres can be represented<br />
by forces Fij and Fji, which have the same module but opposite directions.<br />
<br />
<br />
[[File:Dem application interaction forces.png]]<br />
<br />
<br />
At the same time, this force Fij can be decomposed into its normal and shear components Fijn and Fijs, respectively. The next figure shows a detailed view of this decomposition.<br />
<br />
Fij = Fijn + Fijs = Fnnij + Fijs<br />
<br />
<br />
<br />
[[File:Dem application forces decomposition.png]]<br />
<br />
<br />
The nij vector represents the unitary normal with respect to the surfaces of both particles at the contact point. This vector lies along the line connecting the centers of the two particles and is directed<br />
outwards from particle i.<br />
<br />
<br />
The contact forces Fn, Fs1 and Fs2 are obtained using a constitutive model formulated for the<br />
contact between two rigid spheres (or discs in 2D). The contact interface for the simplest formulation<br />
is characterized by the normal and tangential stiffness Kn and Ks, respectively, a frictional device<br />
obeying the Couloumb law with a frictional coefficient mu, and a dashpot defined by the contact damping<br />
coefficient cn as shown in the next figure.<br />
<br />
<br />
[[File:Dem application forces rheological.png]]<br />
<br />
====== Rolling Friction ======<br />
<br />
In order to represent irregular particles with spheres, a numerical correction is used. This correction is the rolling friction which is about imposing a virtual moment opposite to particle rotation and dependent on its size.<br />
<br />
[[File:Rolling_friction_1.png|300px]]<br />
<br />
Fn represents the normal force, Ft the tangential force, ω the angular velocity, r is the radius and η the rolling friction coefficient.<br />
<br />
In our approach there are two importatn conditions that have to be fulfilled:<br />
<br />
1. The moment due to rolling friction can not change the direction of the particle spin.<br />
<br />
2. If the contact occurs between two spheres the rolling friction is calculated with the radius of the smallest spheres.<br />
<br />
[[File:Rolling_friction_surfaces.png|150px]]<br />
<br />
The model used is described in the following article: J. Irazábal, F. Salazar, E. Oñate. Numerical modelling of granular materials with spherical discrete particles and the bounded rolling friction model. Application to railway ballast. Computers and Geotechnics 85 (2017) 220–229.<br />
<br />
===== Continuum Strategy =====<br />
<br />
=== DEM schemes ===<br />
<br />
==== Integration of Motion ====<br />
<br />
<br />
The standard translational and rotational equations for the motion of rigid bodies are used to compute the dynamics of the spheres.<br />
For the i-th particle we have:<br />
<br />
miui = Fi<br />
Ii i = Ti<br />
<br />
<br />
where u represents the element centroid displacement in a xed (inertial) coordinate frame X, ! the angular<br />
velocity, m the element mass, I the moment of inertia, Fi the resultant force, and Ti the<br />
total moment arount the central axes.<br />
<br />
<br />
Vectors Fi and Ti are the sum of all forces and moments applied to the i-th particle due<br />
to external loads, Fexti and Texti , respectively, the contact interactions with neighbour spheres Fc<br />
i, j = 1;; nc, where nci is the total number of elements in contact with the i-th discrete<br />
element, and the forces and moments resulting from external damping, Fdampi and Tdampi , respectively,<br />
which can be written as:<br />
<br />
<br />
Fi = Fexti +nciXj=1Fci + Fdampi<br />
<br />
Ti = Texti +nciXj=1(rci Fci + qci ) + Tdampi<br />
<br />
<br />
[[File:Dem application motion.png]]<br />
<br />
<br />
where rci is the vector connecting the centre of mass of the i th particle with the contact point c<br />
(see next figure) and qci are the torques due to rolling and/or torsion (not related to the tangential forces).<br />
The next figure shows the motion of a rigid particle. Note that the form of the rotational equation is only valid for spheres and cylinders (in<br />
2D). It is simplified with respect to a general form for an arbitrary rigid body with the rotational<br />
inertial properties represented by a second order tensor. In the general case it is more convenient to<br />
describe the rotational motion with respect to a co-rotational frame x which is embedded at each<br />
element since in this frame the tensor of inertia is constant.<br />
<br />
<br />
The previous set of equations are integrated in time using a simple central difference scheme. The<br />
time integration operator for the translational motion at the n-th time step is as follows:<br />
<br />
<br />
The first two steps in the integration scheme for the rotational motion are identical to those given<br />
by the previous equations:<br />
<br />
<br />
On the other hand, the vector of incremental rotation is computed as<br />
<br />
<br />
Knowledge of the incremental rotation is enough to update the tangential contact forces. It is also<br />
possible to track the rotational position of particles when necessary. If that is the case, the rotation matrices between<br />
the moving frames embedded in the particles and the fixed global frame must be updated<br />
incrementally by using an adequate multiplicative scheme. <br />
Explicit integration in time yields high computational efficiency and it enables the solution of large<br />
models. The main disadvantage of this explicit integration scheme is its conditional numerical stability<br />
which imposes a limitation on the time step delta_t.<br />
<br />
=== Search Strategies ===<br />
<br />
The contact search is a very important part of the method in terms of computational cost (range 60%-90% of simulation time in simulations with large number of particles) and it is possibly the most difficult part to treat when dealing with particles that have no spherical/circular shape.<br />
<br />
The contact detection basically consists in determining, for every target object, what other objects are in contact with, and then, judge for the correspondent interaction. It is usually not needed to perform a search every time step, which is generally limited for the stability of the explicit integration of the equations of motion. Due to the fact that the search is an expensive step a lower search frequency can be selected without much loss of accuracy.<br />
<br />
The most naïve method of search that can be set is the brute search; for every element, the method does a loop for any other element checking for the contact. The order of the number of operations needed is quadratic: n2. Normally, the strategy to avoid such an expensive scheme is to divide the contact search in two basic stages, a global search and a subsequent local resolution of the contact; in this case the computation time of the contact search is proportional to n log n. In the DEMApplication a Grid/Cell based algorithm is used in this purpose.<br />
<br />
==== Global Search ====<br />
<br />
In a generic way, there are two types of elements: searcher elements (particles or finite elements) and target elements (particles or finite elements). Hereafter<br />
searcher elements will be called S.E. and target elements T.E.<br />
<br />
[[File:Global_search1.png]]<br />
<br />
The steps needed to perform contact search are:<br />
<br />
a) Build bounding box of S.E. (Figure 2(a)).<br />
<br />
b) Build bins cells based on size and position of S.E. (Figure 2(b)).<br />
<br />
c) Collocate S.E. in bins and construct hash table with relates coordinates with cells which point to the contacting S.E. (Figure 2(c)).<br />
<br />
d) Build bounding box of T.E. (Figure 2(d)).<br />
<br />
e) Loop over T.E., detect the intersecting cells to each T.E., check the intersection with the possible found cells and add the entire S.E. contained in the cells intersected by each T.E. (Figure 2(e)).<br />
<br />
f) Solve the contact with local resolution (Figure 2(f)).<br />
<br />
Note: In the case of FE and DE the FE are selected as the S.E. to construct the Bins and the Spheres are T.E. to be found in that bins. <br />
<br />
[[File:Global_search2_bigger.png]]<br />
<br />
==== Local Search ====<br />
<br />
Once the possible neighbours are detected, the local resolution check takes place. For the case of two spherical particles, the check is easy; only the sum of the radius has to be compared against the distance between centres. Other geometries may demand a much complicated check. The followed strategy is to mesh all the geometries with a discretization of triangles. In 3D, surface meshes are used for contact detection. Now, the contact detection should be performed between particles and triangles; if no contact is found, particle contact against lines is searched for; and if contact is still not found, contact against points is performed. Figure 3 shows how the local search is performed. Particle i searches contact against element j, then against lines k, l and m and finally against points n, o and p.<br />
<br />
This is known as a hierarchical algorithm. For further explanation please refer to the paper: "3D contact algorithms for particle DEM with rigid and deformable solids" - M.Santasusana, J.Irazábal, E.Oñate, J.M.Carbonell. Where the advantges and the drawback of this method and other proposed algorithms are detailed and analysed in complicated situations like multicontact.<br />
<br />
[[File:Local_search1.png]]<br />
<br />
Fig. 3 Particle-Face contact detection.<br />
<br />
<br />
<br />
== Programming Implementation ==<br />
Structure of the code (Strategy, Scheme, Element, Node, Utilities, functions frequently used like FastGet,...)<br />
<br />
The source code is accessible through [https://kratos.cimne.upc.es/projects/kratos/repository/show/kratos this site].<br />
<br />
[[File:Dem manual code scheme 66.png]]<br />
<br />
A main Python script is used to trigger the calculation of a problem. It communicates with the C++ code. The main advantage of using a compiled language like python for the main script is that it allows to make quick adjustments or modifications to the main strategy without having to recompile the whole code avery time. It also allows for very fast testing.<br />
<br />
=== Main components of the code ===<br />
<br />
<br />
==== Elements ====<br />
<br />
Discontinuum, continuum, cohesive, swimming, cluster of spheres.<br />
<br />
==== Conditions ====<br />
<br />
Main the FEM elements: lines and triangles.<br />
<br />
==== Constitutive Laws ====<br />
<br />
Different interactions laws: linear, Hertzian and continuum behaviour.<br />
<br />
==== Python elements ====<br />
<br />
These files translate the strategies and the<br />
utilities defined in C++ language to be able<br />
to call them from python scripts.<br />
<br />
==== Strategies====<br />
<br />
The main script that calls the necessary schemes and the functions on the<br />
elements during the global loop.<br />
<br />
==== Schemes====<br />
<br />
Explicit integration schemes available<br />
<br />
==== Utilities====<br />
<br />
Here geometric functions are defined, the<br />
neighbours search function, configuration of the particle, amongst others.<br />
<br />
==== Python scripts====<br />
<br />
It contains, amongst other things, the python interface where the main function<br />
of the strategy such as Initialize or Solve<br />
are called. Other operations are done like adding the necessary nodal variables.<br />
<br />
==== Test examples====<br />
<br />
They contain the Benchmarks<br />
<br />
==== DEM_application====<br />
<br />
It contains all the variables that will be used so they are<br />
created and registered in python and C++.<br />
<br />
<br />
=== Main elements in the global python script ===<br />
<br />
<br />
The first step consist of importing all libraries and files necessary for the application.<br />
It is followed by the creation of the necessary input files of the problem at hand to be<br />
processed by the code. The solver strategy is also chosen, and some important operations are done, as for example the<br />
addition of the necessary variables to the solver.<br />
<br />
At this step the buffer size value is also set: this number determines the<br />
historical database size of the problem. The values for the different options and<br />
variables that Kratos will use in the computation are also imported here, like the<br />
integration scheme, the type of solution, damping specifications, time step, output<br />
time step of results, et cetera.<br />
<br />
After the definition of the previous settings, several initializing functions are called which are responsible<br />
of initializing, among other objects, the mesh, the inlet of particles or the solver. Also some operations related to parallel<br />
computing are done.<br />
<br />
Afterwards the time step is determined and the main computing loop is entered. At each time step Solve function is executed.<br />
Finally, at user-defined time steps the results are exported to GiD so they become ready for visualization and postprocessing.<br />
<br />
In fact, this main python file imports another script written in the same language, the ''sphere_strategy.py''. This file is very important<br />
because it contains the core structure that the program will follow when computing. On the other hand, it is the last door to the kernel of the program, which<br />
is written in C++. Some of the most important functions and classes in this file are the following:<br />
<br />
AddVariables: This function sets which variables will be<br />
stored in the nodes at each time step and also the value of those variables as a function of time also<br />
depending on the buffer size previously selected. See the next figure for details.<br />
<br />
<br />
[[File:Dem application add variables 66.png]]<br />
<br />
<br />
AddDofs: The desired degrees of freedom are set here, as can be seen in the design of the function in the figure that follows.<br />
<br />
<br />
[[File:Dem application add dofs 66.png]]<br />
<br />
<br />
The global structure of the explicit strategy the code uses is shown in the next figure. It consists of three main parts: a constructor of the class of the solver,<br />
which creates some default variables for the class, an initializer, which defines the values of several standard parameters, and finally, the ''Solve()'' function<br />
which takes command of almost the entire computing process. The next figure shows and schematic view of this structure.<br />
<br />
When using the ''Initialize()'' function to set the original values of a group of variables, they automatically become accessible in the different C++ files<br />
of the application by means of the ProcessInfo container (see more at ). This function also calls the Initialize function in the solver.<br />
<br />
<br />
[[File:Dem application explicit strategy 66.png]]<br />
<br />
<br />
C++ Solve() function scheme:<br />
<br />
<br />
[[File:Dem application solve cpp scheme 80.png]]<br />
<br />
<br />
<br />
DEM CONTINUUM<br />
<br />
<br />
Initialize() function scheme:<br />
<br />
<br />
[[File:Dem application initialize scheme 75.png]]<br />
<br />
<br />
Solve() function scheme:<br />
<br />
<br />
[[File:Dem application solve scheme 75.png]]<br />
<br />
<br />
Search() function scheme:<br />
<br />
<br />
[[File:Dem application search scheme 66.png]]<br />
<br />
== Benchmarks ==<br />
<br />
The DEM Benchmarks consist of a set of 9 simple tests which are run every night and whose object is to make sure both that the application performs correctly and that the code did not break after the daily changes. They are the following:<br />
<br />
===Test1: Elastic normal impact of two identical spheres===<br />
<br />
Check the evolution of the elastic normal contact force between two spheres with time.<br />
<br />
<br />
<br />
[[File:Benchmark1_1.png]]<br />
[[File:Benchmark1 graph 66.png]]<br />
<br />
If the coefficient of restitution is 1, the module of the initial and final velocities should be the same. Also, by symmetry, velocities should be equal for both spheres.<br />
<br />
_<br />
<br />
===Test2: Elastic normal impact of a sphere against a rigid plane===<br />
<br />
Check the evolution of the elastic normal contact force between a sphere and a plane.<br />
<br />
[[File:Benchmark2 66.png]]<br />
[[File:Benchmark2 graph 66.png]]<br />
<br />
If the coefficient of restitution is equal to 1, the module of the initial and final velocity should remain unchanged.<br />
<br />
_<br />
<br />
===Test3: Impact of a sphere against a rigid plane with different coefficients of restitution===<br />
<br />
Check the effect of different restitution coefficients on the damping ratio.<br />
<br />
[[File:Benchmark3 66.png]]<br />
[[File:Benchmark3 graph 66.png]]<br />
<br />
If total energy is conserved, the restitution coefficient and the damping ratio values should be identical.<br />
<br />
_<br />
<br />
===Test4: Oblique impact of a sphere with a rigid plane with constant velocity module and variable incident angles===<br />
<br />
Check the tangential restitution coefficient, final angular velocity and rebound angle of the sphere.<br />
<br />
[[File:Benchmark4_66.png]]<br />
[[File:Benchmark4 graph1_66.png]]<br />
[[File:Benchmark4 graph2_66.png]]<br />
<br />
_<br />
<br />
===Test5: Oblique impact of a sphere with a rigid plane with constant normal velocity and different angular velocities===<br />
<br />
Check the final linear and angular velocities of the sphere.<br />
<br />
[[File:Benchmark5_66.png]]<br />
[[File:Benchmark5 graph1_66.png]]<br />
<br />
_<br />
<br />
===Test6: Impact of a sphere with a rigid plane with a constant normal velocity and variable angular velocities===<br />
<br />
Check the final linear and angular velocities of the sphere.<br />
<br />
[[File:Benchmark6_66.png]]<br />
[[File:Benchmark6 graph1_66.png]]<br />
<br />
_<br />
<br />
===Test7: Impact of two identical spheres with a constant normal velocity and different angular velocities===<br />
<br />
Check the final linear and angular velocities of both spheres.<br />
<br />
[[File:Benchmark7_66.png]]<br />
[[File:Benchmark7 graph1_66.png]]<br />
<br />
By symmetry, the tangential final velocity of both spheres should be zero. Additionally, for a coefficient of restitution of 1, there should be no changes in the modules of both linear and angular velocities and their values should conserve symmetry. <br />
<br />
_<br />
<br />
===Test8: Impact of two differently sized spheres with a constant normal velocity and variable angular velocities===<br />
<br />
Check the final linear and angular velocities of both spheres.<br />
<br />
[[File:Benchmark8_66.png]]<br />
[[File:Benchmark8_graph1_66.png]]<br />
<br />
In this case, it is interesting to note that, the bigger and/or denser sphere 2 is, the more this test resembles the sphere versus plane simulation.<br />
<br />
_<br />
<br />
===Test9: Impact of two identical spheres with a constant normal velocity and different coefficients of restitution===<br />
<br />
Check the effect of different restitution coefficients on the damping ratio.<br />
<br />
[[File:Benchmark9_66.png]]<br />
[[File:Benchmark9_graph1_66.png]]<br />
<br />
If total energy is conserved, the restitution coefficient and the damping ratio values should be identical.<br />
<br />
<br />
References:<br />
<br />
Y.C.Chung, J.Y.Ooi. ''Benchmark tests for verifying discrete element modelling codes at particle impact level'' (2011).<br />
<br />
== How to analyse using the current application ==<br />
<br />
=== Pre-Process ===<br />
<br />
GUI's & GiD<br />
<br />
===== G-DEMPack =====<br />
<br />
G-DEMPack is the package that allows a user to create, run and analyze results of a DEM simulation for discontinuum / granular / little-cohesive materials. It is written for GiD. So in order to use this package, you should install GiD first.<br />
<br />
You can read the [[D-DEMPack manual]] or follow the D-DEMPack Tutorials included in [[D-DEMPack Tutorials]] for fast learning on how to use the GUI.<br />
<br />
===== C-DEMPack =====<br />
<br />
C-DEMPack combines the features of D-DEMPack with the simulation of continuum/cohesive materials. Refer to the [[C-DEMPack2 manual]] or follow the C-DEMPack Tutorials included in [[D-DEMPack Tutorials]] for more information.<br />
<br />
===== F-DEMPack =====<br />
<br />
F-DEMPack allows you to simulate a wide spectrum of problems involving the interaction of discontinuum DEM and fluid. It also needs GiD to work. The user is advised to take a look at [[F-DEMPack2 manual]] and follow the C-DEMPack Tutorials included in [[D-DEMPack Tutorials]] in order to get a quick idea of how this program works.<br />
<br />
=== Post-Process ===<br />
<br />
== Application Dependencies ==<br />
<br />
The Swimming DEM Application depends on the DEM application<br />
<br />
=== Other Kratos Applications used in current Application ===<br />
<br />
FEM-DEM<br />
<br />
<br />
== Problems! ==<br />
<br />
==== What to do if the Discrete Elements behave strangely ====<br />
<br />
In the case you notice that some discrete elements cross walls, penetrate in them or simply fly away of the domain at high velocity, check the following points:<br />
<br />
<br />
In the case of excessive penetration:<br />
<br />
*'''Check that the Young Modulus is big enough'''. A small Young Modulus makes the Elements and the walls behave in a very smooth way. Sometimes they are so soft that total penetration and trespass is possible.<br />
<br />
*'''Check the Density of the material'''. An excessive density means a big weight and inertia that cannot be stopped by the walls.<br />
*'''Check the Time Step'''. If the time step is too big, the Elements can go from one side of the wall to the other with no appearence of a reaction.<br />
*'''Check the frequency of neighbour search'''. If the search is not done frequently enough, the new contacts with the walls may not be detected soon enough.<br />
<br />
<br />
In the case of excessive bounce:<br />
<br />
*'''Check that the Young Modulus is not extremely big'''. An exaggerated Young Modulus yields extremely large reactions that can make the Elements bounce too fast in just one time step. Also take into account that the stability of explicit methods depends on the Young Modulus (the higher the modulus, the closer to instability).<br />
<br />
*'''Check the Density of the material'''. A very low density means a very small weight and inertia, so any force exerted by other elements or the walls can induce big accelerations on the element.<br />
*'''Check the Time Step'''. If the time step is too big, the method gains more energy, and gets closer to instability.<br />
*'''Check the restitution coefficient of the material'''. Explicit integration schemes gain energy noticeably, unless you use a really small time step. In case the time step is chosen to be big (but still stable), use the restitution coefficient to compensate the gain of energy and get more realistic results.<br />
<br />
== Contact ==<br />
<br />
Contact us for any question regarding this application:<br />
<br />
<br />
-Miguel Angel Celigueta: [mailto:maceli@cimne.upc.edu maceli@cimne.upc.edu]<br />
<br />
-Guillermo Casas: [mailto:gcasas@cimne.upc.edu gcasas@cimne.upc.edu]<br />
<br />
-Salva Latorre: [mailto:latorre@cimne.upc.edu latorre@cimne.upc.edu]<br />
<br />
-Ferran Arrufat: [mailto:farrufat@cimne.upc.edu farrufat@cimne.upc.edu]<br />
<br />
<br />
[[Category: Applications]]</div>Salvahttps://kratos-wiki.cimne.upc.edu/index.php/DEM_ApplicationDEM Application2018-06-25T13:19:58Z<p>Salva: /* How to analyse using the current application */</p>
<hr />
<div>WARNING: This page is still under construction.<br />
<br />
The DEM Kratos Team<br />
<br />
<br />
== Theory ==<br />
<br />
The fundamental theoretical background corresponding to the discontinuous (granular matter) part of the code can be found Casas et al. (2015). The following sections are destined to contain this information though are curently still under construction.<br />
<br />
Nothing numerical<br />
<br />
=== Integration Schemes ===<br />
<br />
*Symplectic Euler Scheme<br />
<br />
*Forward Euler Scheme<br />
<br />
*Taylor scheme<br />
<br />
*Verlet Velocity Scheme<br />
<br />
*Newmark Beta Method Scheme<br />
<br />
=== Contact Laws ===<br />
Concept of indentation<br />
HMD, LSD<br />
===== Normal Force Laws =====<br />
<br />
====== Linear Repulsive Force ======<br />
<br />
The most simple representation of a repulsive contact force between a sphere and a wall is given by a linear law, where the force acting on the sphere when contacting a plane is a linear function of the indentation, which in turn would bring a quadratic dependence with the contact radius. The next figure shows this simple law:<br />
<br />
[[File:Jkr cohesion linear force.png]]<br />
<br />
<br />
====== Hertzian Repulsive Force ======<br />
<br />
On the other hand, Hertz solved in 1882 the non-cohesive normal contact between a sphere and a plane. In 1971 Johnson, Kendall and Roberts presented the solution (JKR-Theory) for the same problem in this case adding cohesive behaviour. Not much later, Derjaguin, Müller and Toporov published similar results (DMT-Theory).<br />
<br />
Both theories are very close and correct, the main difference being that the JKR theory is oriented to the study of flexible, large spheres, while the DMT theory is specially suited to represent the behaviour of rigid, small ones.<br />
<br />
[[File:Jkr cohesion hertz.jpeg]]<br />
<br />
The previous figure shows the standard representation of a Linear or Hertzian contact between a sphere and a wall. The distribution of contact pressures between both bodies follow a parabolic law.<br />
<br />
====== JKR Cohesive Force ======<br />
<br />
[[File:Jkr cohesion jkr.jpeg]]<br />
<br />
The preceding capture shows the a representation of a JKR contact between a sphere and a wall. In this case, the distribution of pressures between both bodies is more complex due to the formation of a neck at the boundaries of the contact. A later figure shows a detailed view of the pressures involved.<br />
<br />
[[Image:Jkr cohesion forces.png]]<br />
<br />
In the previous graphic, it is very interesting to note the existence of two singular values of contact radius: one for which the total forces acting on the contacting sphere is zero, and another for which the maximum value of adhesion is achieved.<br />
<br />
<br />
[[File:Jkr cohesion pressures.png]]<br />
<br />
In the previous figure, the blue area represents the distribution of pressures acting on the sphere when contacting a wall if a Hertzian Law is followed. On the other hand, the sum of both green and blue areas represents the JKR distribution. Note the larger values and the existence of adhesive behaviour at both sides of the pressures distribution. <br />
<br />
<br />
An example of granular simulation without cohesive forces:<br />
<br />
[[File:JKR no cohesion 1 33.png]]<br />
[[File:JKR no cohesion 2 33.png]]<br />
[[File:JKR no cohesion 3 33.png]]<br />
[[File:JKR no cohesion 4 33.png]]<br />
<br />
The same simulation as before, this time with cohesive forces in both sphere-sphere and sphere-plane contacts.<br />
<br />
[[File:JKR cohesion 1 33.png]]<br />
[[File:JKR cohesion 2 33.png]]<br />
[[File:JKR cohesion 3 33.png]]<br />
[[File:JKR cohesion 4 33.png]]<br />
<br />
<br />
References:<br />
<br />
V. L. Popov. "Contact Mechanics and Friction" (2010). <br><br />
G. Casas et al. "A modular, partitioned, discrete element framework for industrial grain distribution systems with rotating machinery." Computational Particle Mechanics (2015): 1-18.<br />
<br />
===== Tangential Force Laws =====<br />
<br />
===== Damping Force Laws =====<br />
<br />
(restit. coef)<br />
<br />
== Numerical approach ==<br />
<br />
This section is dedicated to describe the numerical methods used to solve.<br />
<br />
<br />
[[File:Dem manual main scheme 66 discontinuum.png]]<br />
<br />
<br />
=== DEM elements ===<br />
<br />
===== Spheric Particle =====<br />
===== Spheric Continuum Particle =====<br />
===== Spheric Swimming Particle =====<br />
<br />
=== DEM walls (Kratos Conditions) ===<br />
<br />
=== DEM Inlets ===<br />
<br />
A DEM Inlet is a source of new DEM Elements. It is a cloud of Nodes, where each Node is the center of a ''Generator Sphere''. In a random order, the Nodes are chosen to create a new DEM Element (both spherical elements or clusters) whose center coincides with the Node and the whole element is fully included in the ''Generator Sphere''. The newly generated DEM Element has a non-zero imposed velocity which eventually makes the DEM Element get outside the ''Generator Sphere''. Until this moment, the ''Generator Sphere'' is not allowed to generate another DEM-Element. From this moment on, the newly created DEM Element no longer has the velocity imposed, it moves freely and cannot penetrate its ''Generator Sphere'' or any other. Actually, the ''Generator Sphere'' is seen as any other Sphere of the domain by the DEM Element, and the contact between them is calculated as usual. In other words, '''the Generator Spheres reserve the necessary space to create a new DEM Element'''.<br />
<br />
=== DEM strategies ===<br />
<br />
===== Non-cohesive materials Strategy =====<br />
<br />
====== Evaluation of Forces ======<br />
<br />
Once contact between two spheres has been detected (see next figure), the forces occurring at the<br />
contact point are computed. The interaction between the two contacting spheres can be represented<br />
by forces Fij and Fji, which have the same module but opposite directions.<br />
<br />
<br />
[[File:Dem application interaction forces.png]]<br />
<br />
<br />
At the same time, this force Fij can be decomposed into its normal and shear components Fijn and Fijs, respectively. The next figure shows a detailed view of this decomposition.<br />
<br />
Fij = Fijn + Fijs = Fnnij + Fijs<br />
<br />
<br />
<br />
[[File:Dem application forces decomposition.png]]<br />
<br />
<br />
The nij vector represents the unitary normal with respect to the surfaces of both particles at the contact point. This vector lies along the line connecting the centers of the two particles and is directed<br />
outwards from particle i.<br />
<br />
<br />
The contact forces Fn, Fs1 and Fs2 are obtained using a constitutive model formulated for the<br />
contact between two rigid spheres (or discs in 2D). The contact interface for the simplest formulation<br />
is characterized by the normal and tangential stiffness Kn and Ks, respectively, a frictional device<br />
obeying the Couloumb law with a frictional coefficient mu, and a dashpot defined by the contact damping<br />
coefficient cn as shown in the next figure.<br />
<br />
<br />
[[File:Dem application forces rheological.png]]<br />
<br />
====== Rolling Friction ======<br />
<br />
In order to represent irregular particles with spheres, a numerical correction is used. This correction is the rolling friction which is about imposing a virtual moment opposite to particle rotation and dependent on its size.<br />
<br />
[[File:Rolling_friction_1.png|300px]]<br />
<br />
Fn represents the normal force, Ft the tangential force, ω the angular velocity, r is the radius and η the rolling friction coefficient.<br />
<br />
In our approach there are two importatn conditions that have to be fulfilled:<br />
<br />
1. The moment due to rolling friction can not change the direction of the particle spin.<br />
<br />
2. If the contact occurs between two spheres the rolling friction is calculated with the radius of the smallest spheres.<br />
<br />
[[File:Rolling_friction_surfaces.png|150px]]<br />
<br />
The model used is described in the following article: J. Irazábal, F. Salazar, E. Oñate. Numerical modelling of granular materials with spherical discrete particles and the bounded rolling friction model. Application to railway ballast. Computers and Geotechnics 85 (2017) 220–229.<br />
<br />
===== Continuum Strategy =====<br />
<br />
=== DEM schemes ===<br />
<br />
==== Integration of Motion ====<br />
<br />
<br />
The standard translational and rotational equations for the motion of rigid bodies are used to compute the dynamics of the spheres.<br />
For the i-th particle we have:<br />
<br />
miui = Fi<br />
Ii i = Ti<br />
<br />
<br />
where u represents the element centroid displacement in a xed (inertial) coordinate frame X, ! the angular<br />
velocity, m the element mass, I the moment of inertia, Fi the resultant force, and Ti the<br />
total moment arount the central axes.<br />
<br />
<br />
Vectors Fi and Ti are the sum of all forces and moments applied to the i-th particle due<br />
to external loads, Fexti and Texti , respectively, the contact interactions with neighbour spheres Fc<br />
i, j = 1;; nc, where nci is the total number of elements in contact with the i-th discrete<br />
element, and the forces and moments resulting from external damping, Fdampi and Tdampi , respectively,<br />
which can be written as:<br />
<br />
<br />
Fi = Fexti +nciXj=1Fci + Fdampi<br />
<br />
Ti = Texti +nciXj=1(rci Fci + qci ) + Tdampi<br />
<br />
<br />
[[File:Dem application motion.png]]<br />
<br />
<br />
where rci is the vector connecting the centre of mass of the i th particle with the contact point c<br />
(see next figure) and qci are the torques due to rolling and/or torsion (not related to the tangential forces).<br />
The next figure shows the motion of a rigid particle. Note that the form of the rotational equation is only valid for spheres and cylinders (in<br />
2D). It is simplified with respect to a general form for an arbitrary rigid body with the rotational<br />
inertial properties represented by a second order tensor. In the general case it is more convenient to<br />
describe the rotational motion with respect to a co-rotational frame x which is embedded at each<br />
element since in this frame the tensor of inertia is constant.<br />
<br />
<br />
The previous set of equations are integrated in time using a simple central difference scheme. The<br />
time integration operator for the translational motion at the n-th time step is as follows:<br />
<br />
<br />
The first two steps in the integration scheme for the rotational motion are identical to those given<br />
by the previous equations:<br />
<br />
<br />
On the other hand, the vector of incremental rotation is computed as<br />
<br />
<br />
Knowledge of the incremental rotation is enough to update the tangential contact forces. It is also<br />
possible to track the rotational position of particles when necessary. If that is the case, the rotation matrices between<br />
the moving frames embedded in the particles and the fixed global frame must be updated<br />
incrementally by using an adequate multiplicative scheme. <br />
Explicit integration in time yields high computational efficiency and it enables the solution of large<br />
models. The main disadvantage of this explicit integration scheme is its conditional numerical stability<br />
which imposes a limitation on the time step delta_t.<br />
<br />
=== Search Strategies ===<br />
<br />
The contact search is a very important part of the method in terms of computational cost (range 60%-90% of simulation time in simulations with large number of particles) and it is possibly the most difficult part to treat when dealing with particles that have no spherical/circular shape.<br />
<br />
The contact detection basically consists in determining, for every target object, what other objects are in contact with, and then, judge for the correspondent interaction. It is usually not needed to perform a search every time step, which is generally limited for the stability of the explicit integration of the equations of motion. Due to the fact that the search is an expensive step a lower search frequency can be selected without much loss of accuracy.<br />
<br />
The most naïve method of search that can be set is the brute search; for every element, the method does a loop for any other element checking for the contact. The order of the number of operations needed is quadratic: n2. Normally, the strategy to avoid such an expensive scheme is to divide the contact search in two basic stages, a global search and a subsequent local resolution of the contact; in this case the computation time of the contact search is proportional to n log n. In the DEMApplication a Grid/Cell based algorithm is used in this purpose.<br />
<br />
==== Global Search ====<br />
<br />
In a generic way, there are two types of elements: searcher elements (particles or finite elements) and target elements (particles or finite elements). Hereafter<br />
searcher elements will be called S.E. and target elements T.E.<br />
<br />
[[File:Global_search1.png]]<br />
<br />
The steps needed to perform contact search are:<br />
<br />
a) Build bounding box of S.E. (Figure 2(a)).<br />
<br />
b) Build bins cells based on size and position of S.E. (Figure 2(b)).<br />
<br />
c) Collocate S.E. in bins and construct hash table with relates coordinates with cells which point to the contacting S.E. (Figure 2(c)).<br />
<br />
d) Build bounding box of T.E. (Figure 2(d)).<br />
<br />
e) Loop over T.E., detect the intersecting cells to each T.E., check the intersection with the possible found cells and add the entire S.E. contained in the cells intersected by each T.E. (Figure 2(e)).<br />
<br />
f) Solve the contact with local resolution (Figure 2(f)).<br />
<br />
Note: In the case of FE and DE the FE are selected as the S.E. to construct the Bins and the Spheres are T.E. to be found in that bins. <br />
<br />
[[File:Global_search2_bigger.png]]<br />
<br />
==== Local Search ====<br />
<br />
Once the possible neighbours are detected, the local resolution check takes place. For the case of two spherical particles, the check is easy; only the sum of the radius has to be compared against the distance between centres. Other geometries may demand a much complicated check. The followed strategy is to mesh all the geometries with a discretization of triangles. In 3D, surface meshes are used for contact detection. Now, the contact detection should be performed between particles and triangles; if no contact is found, particle contact against lines is searched for; and if contact is still not found, contact against points is performed. Figure 3 shows how the local search is performed. Particle i searches contact against element j, then against lines k, l and m and finally against points n, o and p.<br />
<br />
This is known as a hierarchical algorithm. For further explanation please refer to the paper: "3D contact algorithms for particle DEM with rigid and deformable solids" - M.Santasusana, J.Irazábal, E.Oñate, J.M.Carbonell. Where the advantges and the drawback of this method and other proposed algorithms are detailed and analysed in complicated situations like multicontact.<br />
<br />
[[File:Local_search1.png]]<br />
<br />
Fig. 3 Particle-Face contact detection.<br />
<br />
<br />
<br />
== Programming Implementation ==<br />
Structure of the code (Strategy, Scheme, Element, Node, Utilities, functions frequently used like FastGet,...)<br />
<br />
The source code is accessible through [https://kratos.cimne.upc.es/projects/kratos/repository/show/kratos this site].<br />
<br />
[[File:Dem manual code scheme 66.png]]<br />
<br />
A main Python script is used to trigger the calculation of a problem. It communicates with the C++ code. The main advantage of using a compiled language like python for the main script is that it allows to make quick adjustments or modifications to the main strategy without having to recompile the whole code avery time. It also allows for very fast testing.<br />
<br />
=== Main components of the code ===<br />
<br />
<br />
==== Elements ====<br />
<br />
Discontinuum, continuum, cohesive, swimming, cluster of spheres.<br />
<br />
==== Conditions ====<br />
<br />
Main the FEM elements: lines and triangles.<br />
<br />
==== Constitutive Laws ====<br />
<br />
Different interactions laws: linear, Hertzian and continuum behaviour.<br />
<br />
==== Python elements ====<br />
<br />
These files translate the strategies and the<br />
utilities defined in C++ language to be able<br />
to call them from python scripts.<br />
<br />
==== Strategies====<br />
<br />
The main script that calls the necessary schemes and the functions on the<br />
elements during the global loop.<br />
<br />
==== Schemes====<br />
<br />
Explicit integration schemes available<br />
<br />
==== Utilities====<br />
<br />
Here geometric functions are defined, the<br />
neighbours search function, configuration of the particle, amongst others.<br />
<br />
==== Python scripts====<br />
<br />
It contains, amongst other things, the python interface where the main function<br />
of the strategy such as Initialize or Solve<br />
are called. Other operations are done like adding the necessary nodal variables.<br />
<br />
==== Test examples====<br />
<br />
They contain the Benchmarks<br />
<br />
==== DEM_application====<br />
<br />
It contains all the variables that will be used so they are<br />
created and registered in python and C++.<br />
<br />
<br />
=== Main elements in the global python script ===<br />
<br />
<br />
The first step consist of importing all libraries and files necessary for the application.<br />
It is followed by the creation of the necessary input files of the problem at hand to be<br />
processed by the code. The solver strategy is also chosen, and some important operations are done, as for example the<br />
addition of the necessary variables to the solver.<br />
<br />
At this step the buffer size value is also set: this number determines the<br />
historical database size of the problem. The values for the different options and<br />
variables that Kratos will use in the computation are also imported here, like the<br />
integration scheme, the type of solution, damping specifications, time step, output<br />
time step of results, et cetera.<br />
<br />
After the definition of the previous settings, several initializing functions are called which are responsible<br />
of initializing, among other objects, the mesh, the inlet of particles or the solver. Also some operations related to parallel<br />
computing are done.<br />
<br />
Afterwards the time step is determined and the main computing loop is entered. At each time step Solve function is executed.<br />
Finally, at user-defined time steps the results are exported to GiD so they become ready for visualization and postprocessing.<br />
<br />
In fact, this main python file imports another script written in the same language, the ''sphere_strategy.py''. This file is very important<br />
because it contains the core structure that the program will follow when computing. On the other hand, it is the last door to the kernel of the program, which<br />
is written in C++. Some of the most important functions and classes in this file are the following:<br />
<br />
AddVariables: This function sets which variables will be<br />
stored in the nodes at each time step and also the value of those variables as a function of time also<br />
depending on the buffer size previously selected. See the next figure for details.<br />
<br />
<br />
[[File:Dem application add variables 66.png]]<br />
<br />
<br />
AddDofs: The desired degrees of freedom are set here, as can be seen in the design of the function in the figure that follows.<br />
<br />
<br />
[[File:Dem application add dofs 66.png]]<br />
<br />
<br />
The global structure of the explicit strategy the code uses is shown in the next figure. It consists of three main parts: a constructor of the class of the solver,<br />
which creates some default variables for the class, an initializer, which defines the values of several standard parameters, and finally, the ''Solve()'' function<br />
which takes command of almost the entire computing process. The next figure shows and schematic view of this structure.<br />
<br />
When using the ''Initialize()'' function to set the original values of a group of variables, they automatically become accessible in the different C++ files<br />
of the application by means of the ProcessInfo container (see more at ). This function also calls the Initialize function in the solver.<br />
<br />
<br />
[[File:Dem application explicit strategy 66.png]]<br />
<br />
<br />
C++ Solve() function scheme:<br />
<br />
<br />
[[File:Dem application solve cpp scheme 80.png]]<br />
<br />
<br />
<br />
DEM CONTINUUM<br />
<br />
<br />
Initialize() function scheme:<br />
<br />
<br />
[[File:Dem application initialize scheme 75.png]]<br />
<br />
<br />
Solve() function scheme:<br />
<br />
<br />
[[File:Dem application solve scheme 75.png]]<br />
<br />
<br />
Search() function scheme:<br />
<br />
<br />
[[File:Dem application search scheme 66.png]]<br />
<br />
== Benchmarks ==<br />
<br />
The DEM Benchmarks consist of a set of 9 simple tests which are run every night and whose object is to make sure both that the application performs correctly and that the code did not break after the daily changes. They are the following:<br />
<br />
===Test1: Elastic normal impact of two identical spheres===<br />
<br />
Check the evolution of the elastic normal contact force between two spheres with time.<br />
<br />
<br />
<br />
[[File:Benchmark1_1.png]]<br />
[[File:Benchmark1 graph 66.png]]<br />
<br />
If the coefficient of restitution is 1, the module of the initial and final velocities should be the same. Also, by symmetry, velocities should be equal for both spheres.<br />
<br />
_<br />
<br />
===Test2: Elastic normal impact of a sphere against a rigid plane===<br />
<br />
Check the evolution of the elastic normal contact force between a sphere and a plane.<br />
<br />
[[File:Benchmark2 66.png]]<br />
[[File:Benchmark2 graph 66.png]]<br />
<br />
If the coefficient of restitution is equal to 1, the module of the initial and final velocity should remain unchanged.<br />
<br />
_<br />
<br />
===Test3: Impact of a sphere against a rigid plane with different coefficients of restitution===<br />
<br />
Check the effect of different restitution coefficients on the damping ratio.<br />
<br />
[[File:Benchmark3 66.png]]<br />
[[File:Benchmark3 graph 66.png]]<br />
<br />
If total energy is conserved, the restitution coefficient and the damping ratio values should be identical.<br />
<br />
_<br />
<br />
===Test4: Oblique impact of a sphere with a rigid plane with constant velocity module and variable incident angles===<br />
<br />
Check the tangential restitution coefficient, final angular velocity and rebound angle of the sphere.<br />
<br />
[[File:Benchmark4_66.png]]<br />
[[File:Benchmark4 graph1_66.png]]<br />
[[File:Benchmark4 graph2_66.png]]<br />
<br />
_<br />
<br />
===Test5: Oblique impact of a sphere with a rigid plane with constant normal velocity and different angular velocities===<br />
<br />
Check the final linear and angular velocities of the sphere.<br />
<br />
[[File:Benchmark5_66.png]]<br />
[[File:Benchmark5 graph1_66.png]]<br />
<br />
_<br />
<br />
===Test6: Impact of a sphere with a rigid plane with a constant normal velocity and variable angular velocities===<br />
<br />
Check the final linear and angular velocities of the sphere.<br />
<br />
[[File:Benchmark6_66.png]]<br />
[[File:Benchmark6 graph1_66.png]]<br />
<br />
_<br />
<br />
===Test7: Impact of two identical spheres with a constant normal velocity and different angular velocities===<br />
<br />
Check the final linear and angular velocities of both spheres.<br />
<br />
[[File:Benchmark7_66.png]]<br />
[[File:Benchmark7 graph1_66.png]]<br />
<br />
By symmetry, the tangential final velocity of both spheres should be zero. Additionally, for a coefficient of restitution of 1, there should be no changes in the modules of both linear and angular velocities and their values should conserve symmetry. <br />
<br />
_<br />
<br />
===Test8: Impact of two differently sized spheres with a constant normal velocity and variable angular velocities===<br />
<br />
Check the final linear and angular velocities of both spheres.<br />
<br />
[[File:Benchmark8_66.png]]<br />
[[File:Benchmark8_graph1_66.png]]<br />
<br />
In this case, it is interesting to note that, the bigger and/or denser sphere 2 is, the more this test resembles the sphere versus plane simulation.<br />
<br />
_<br />
<br />
===Test9: Impact of two identical spheres with a constant normal velocity and different coefficients of restitution===<br />
<br />
Check the effect of different restitution coefficients on the damping ratio.<br />
<br />
[[File:Benchmark9_66.png]]<br />
[[File:Benchmark9_graph1_66.png]]<br />
<br />
If total energy is conserved, the restitution coefficient and the damping ratio values should be identical.<br />
<br />
<br />
References:<br />
<br />
Y.C.Chung, J.Y.Ooi. ''Benchmark tests for verifying discrete element modelling codes at particle impact level'' (2011).<br />
<br />
== How to analyse using the current application ==<br />
<br />
=== Pre-Process ===<br />
<br />
GUI's & GiD<br />
<br />
===== G-DEMPack =====<br />
<br />
G-DEMPack is the package that allows a user to create, run and analyze results of a DEM simulation for discontinuum / granular / little-cohesive materials. It is written for GiD. So in order to use this package, you should install GiD first.<br />
<br />
You can read the [[D-DEMPack manual]] or follow the D-DEMPack Tutorials included in [[D-DEMPack Tutorials]] for fast learning on how to use the GUI.<br />
<br />
===== C-DEMPack =====<br />
<br />
C-DEMPack combines the features of D-DEMPack with the simulation of continuum/cohesive materials. Refer to the [[C-DEMPack2 manual]] or follow the C-DEMPack Tutorials included in [[DEMPack Tutorials]] for more information.<br />
<br />
===== F-DEMPack =====<br />
<br />
F-DEMPack allows you to simulate a wide spectrum of problems involving the interaction of discontinuum DEM and fluid. It also needs GiD to work. The user is advised to take a look at [[F-DEMPack2 manual]] and follow the C-DEMPack Tutorials included in [[D-DEMPack Tutorials]] in order to get a quick idea of how this program works.<br />
<br />
=== Post-Process ===<br />
<br />
== Application Dependencies ==<br />
<br />
The Swimming DEM Application depends on the DEM application<br />
<br />
=== Other Kratos Applications used in current Application ===<br />
<br />
FEM-DEM<br />
<br />
<br />
== Problems! ==<br />
<br />
==== What to do if the Discrete Elements behave strangely ====<br />
<br />
In the case you notice that some discrete elements cross walls, penetrate in them or simply fly away of the domain at high velocity, check the following points:<br />
<br />
<br />
In the case of excessive penetration:<br />
<br />
*'''Check that the Young Modulus is big enough'''. A small Young Modulus makes the Elements and the walls behave in a very smooth way. Sometimes they are so soft that total penetration and trespass is possible.<br />
<br />
*'''Check the Density of the material'''. An excessive density means a big weight and inertia that cannot be stopped by the walls.<br />
*'''Check the Time Step'''. If the time step is too big, the Elements can go from one side of the wall to the other with no appearence of a reaction.<br />
*'''Check the frequency of neighbour search'''. If the search is not done frequently enough, the new contacts with the walls may not be detected soon enough.<br />
<br />
<br />
In the case of excessive bounce:<br />
<br />
*'''Check that the Young Modulus is not extremely big'''. An exaggerated Young Modulus yields extremely large reactions that can make the Elements bounce too fast in just one time step. Also take into account that the stability of explicit methods depends on the Young Modulus (the higher the modulus, the closer to instability).<br />
<br />
*'''Check the Density of the material'''. A very low density means a very small weight and inertia, so any force exerted by other elements or the walls can induce big accelerations on the element.<br />
*'''Check the Time Step'''. If the time step is too big, the method gains more energy, and gets closer to instability.<br />
*'''Check the restitution coefficient of the material'''. Explicit integration schemes gain energy noticeably, unless you use a really small time step. In case the time step is chosen to be big (but still stable), use the restitution coefficient to compensate the gain of energy and get more realistic results.<br />
<br />
== Contact ==<br />
<br />
Contact us for any question regarding this application:<br />
<br />
<br />
-Miguel Angel Celigueta: [mailto:maceli@cimne.upc.edu maceli@cimne.upc.edu]<br />
<br />
-Guillermo Casas: [mailto:gcasas@cimne.upc.edu gcasas@cimne.upc.edu]<br />
<br />
-Salva Latorre: [mailto:latorre@cimne.upc.edu latorre@cimne.upc.edu]<br />
<br />
-Ferran Arrufat: [mailto:farrufat@cimne.upc.edu farrufat@cimne.upc.edu]<br />
<br />
<br />
[[Category: Applications]]</div>Salvahttps://kratos-wiki.cimne.upc.edu/index.php/C-DEMPack2_manualC-DEMPack2 manual2018-06-25T13:19:17Z<p>Salva: /* Model Section */</p>
<hr />
<div>==Model Section==<br />
<br />
<br />
===General Application Data===<br />
<br />
====Domain Options====<br />
This section allows the user to choose between a 2D or 3D simulation.<br />
<br />
===DEM===<br />
The DEM section is very similar to that of the non-cohesive DEMPack. Please, refer to [[D-DEMPack2 manual]] for a full description of the menus in this section. In this manual only the particular characteristics of this problem type will be explained.<br />
For a more practical review, the user is encouraged to check the C-DEMPack Tutorials included in [[D-DEMPack Tutorials]] page.<br />
<br />
====Cohesive Groups====<br />
This subsection allows the user to integrate one or more GiD groups into a single cohesive group with a particular collective behavior. Any GiD group with no cohesive group assigned will be treated as a discontinuum DEM mass.<br />
<br />
====Advanced Options====<br />
*'''Tangency tolerance''': Choose if you want to set manually the maximum gap between particles at the beginning of the computation (Absolute) or if you prefer an automatic gap that tries to match a certain average Coordination Number.<br />
<br />
*'''Tangency tolerance value''': Choose the maximum admissible gap between two particles to consider them cohesive at the beginning of the computation.<br />
<br />
*'''Accepted gap between neighbours''': If the gap between two spheres is bigger than this value, they are no longer neighbours and the bond between them breaks.<br />
<br />
*'''Maximum allowed amplification ratio of the search radius''': The search radius must be amplified after the first search because particles separate, but a bond still joins them. In order to keep finding all neighbours, search is amplified according the the mechanical resistance, but up to this limit.<br />
<br />
*'''Virtual mass coefficient''': For no mass reduction, set this value to 1.<br />
<br />
*'''Calculate rotations''': If activated, torques and rotations will be calculated on the Discrete Elements. Will increase computation time slightly.<br />
<br />
*'''Rolling friction''': If activated, rolling friction between particles will be considered.<br />
<br />
*'''Compute stress tensor''': If activated, the Stress Tensor will be computed. It will increase computation time and memory consumption.<br />
<br />
*'''Add Poisson Effect''': If active, the Poisson effect will be taken into account.<br />
<br />
*'''Add the effect of shear strains parallel to bonds''': When active, the shear strains parallel to bonds will be included in the computations.<br />
<br />
*'''Don't search until failure''': If activated, search for new particle neighbours will be disabled until the simulation detects the first contact failure.<br />
<br />
*'''Material Analysis''': Activate this option to show the material test (UCS, BTS) additional options.<br />
<br />
*'''Thermal Analysis''': Changes the default DEM element to Thermal-type elements and shows additional options.<br />
<br />
====Material Test====<br />
When setting the Material Analysis option to Yes, this menu will show up. It allows the user the access to a Material Test Virtual Lab where several kinds of tests are <br />
possible, they are: UCS, Triaxial, Oedometric, Hydrostatic and BTS.<br />
<br />
*'''Test type''': The user must select here any of the five different test previouly listed.<br />
<br />
*'''Load velocity''': The velocity that will be imposed to the presses that will compress the tested specimen.<br />
<br />
*'''Confinement pressure''': This field will show up only when selecting the Triaxial or Hydrostatic tests.<br />
<br />
*'''Mesh type''': The user can choose to use the current mesh in the problem or a predefined mesh that will be loaded from a file.<br />
<br />
*'''Mesh path''': Path to the file when using a Predefined Mesh.<br />
<br />
*'''Specimen length''': Length of the specimen given in meters.<br />
<br />
*'''Specimen diameter''': Diameter of the specimen in meters.<br />
<br />
*'''Top measuring group''': The top press group must be assigned here. The user has also the possibility of printing the forces and/or torques acting in this group.<br />
<br />
*'''Bottom measuring group''': The bottom press group must be assigned here. As before, forces and/or torques can be printed for the group.<br />
<br />
====Thermal results====<br />
When setting the Thermal Analysis option to Yes, this menu will show up. It allows the user to set values of the thermal parameters. This section is currently under <br />
development.<br />
<br />
====Results====<br />
This problem type has some additional results available for printing, they are:<br />
<br />
*'''Skin Spheres''': the contour spheres will be mark with a different color with respect to the rest.<br />
<br />
*'''Poisson Ratio''': the local Poisson Ratio will be printed in a sphere-to-sphere-bond fashion.<br />
<br />
*'''Print Virtual Sea Surface''': This option can be used to print a virtual sea surface as a mesh in PostProcess. When activated, four pairs of coordinates must be entered which will define the quadrilateral surface representing the virtual sea surface. A z=0 sea level is assumed. This option is related to the simulation of ice in the problem type and is still under development.<br />
<br />
When activating the Thermal Analysis, additional thermal post-processing information will be available. Nevertheless, this section is still under development.<br />
<br />
*'''Show bond elements''': When activating this option, the bonds connecting the center of every pair of spheres will be shown in the postprocess. The user has then the option of printing the following variables:<br />
<br />
*'''Contact sigma''': Normal stress between every pair of spheres.<br />
<br />
*'''Contact tau''': Tangential stress between spheres.<br />
<br />
*'''Local contact force''': Local force in the contact point of any two spheres.<br />
<br />
*'''Failure criterion state''': Shows the current failure state or how close is the considered contact to reach complete failure.<br />
<br />
*'''Failure Id''': Labels every contact with its corresponding Failure Type.<br />
<br />
*'''Mean contact area''': Displays the calculation area in every contact.<br />
<br />
==Materials Section==<br />
<br />
This section is very similar to that of the discontinuous DEM, but with additional fields accounting for several constitutive laws available trying to simulate the behaviour of different cohesive materials, as well as the thermal parameters. Two main classes of constitutive laws exist: the DEMPack and the KDEM. The former is <br />
addressed to study materials following a non-linear elastoplastic behavior including damage, while the latter is specially designed to simulate elastobrittle materials.<br />
The KDEM constitutive law has several derived laws, which are KDEM_Rankine, KDEM_Mohr_Coulomb and KDEM_Fabric. The first one, the base KDEM, is a standard linear-brittle behaviour constitutive law, the second and third simulate the same behavior of the first but by following the particularities of Rankine and Mohr-Coulomb criteria respectivelly, while the last is addressed to study specific materials like membranes or clothes, as well as cables. Both KDEM and DEMPack laws have the following fields in common:<br />
<br />
*'''Rolling Friction''': value for the rolling friction. It may increase computation time slightly.<br />
<br />
*'''Tangential Strength''': Maximum shear strength for the material.<br />
<br />
*'''Normal Tensile Strength''': Maximum tensile strength of the material.<br />
<br />
*'''Internal Friction Angle Coefficient''': value of the static friction coefficient.<br />
<br />
When activating the KDEM Mohr-Coulomb law, two specific fields show up that the user must fill: the associated M-C Cohesion and Friction angle. On the other hand, when choosing the KDEM Fabric law, a Fabric Coefficient must be given. The value of this parameter goes from 0 to 1. It refers to the moment resistance, where 0 means no resistance at all and 1 a maximum resistance, which would be equivalent to the base KDEM.<br />
<br />
Finally, when activating the DEMPack constitutive law, a list of several parameters show up, which are related to the plastic and damage branches of the stress-strain graph. They are the following:<br />
<br />
*'''LCS1''': First stiffness reduction point.<br />
<br />
*'''LCS2''': Second stiffness reduction point.<br />
<br />
*'''LCS3''': Third stiffness reduction point.<br />
<br />
*'''YRC1''': First reduction coefficient.<br />
<br />
*'''YRC2''': Second reduction coefficient.<br />
<br />
*'''YRC3''': Third reduction coefficient.<br />
<br />
*'''Plastic Young Modulus''': Material stiffness in the plastic zone.<br />
<br />
*'''Plastic Yield Stress''': Plastic yield point.<br />
<br />
*'''Damage Deformation Factor''': Energy stored after bond fracture.<br />
<br />
*'''Shear Energy Coefficient''': Energy stored due shear effects.<br />
<br />
Details on the previous parameters are shown in the picture that follows:<br />
<br />
<br />
[[File:Demdrill manual materials theory.png|650px]]<br />
<br />
<br />
This section is completed with two standard thermal parameters for the material: the Thermal Conductivity and the Specific Heat.</div>Salvahttps://kratos-wiki.cimne.upc.edu/index.php/DEM_ApplicationDEM Application2018-06-25T13:17:37Z<p>Salva: /* How to analyse using the current application */</p>
<hr />
<div>WARNING: This page is still under construction.<br />
<br />
The DEM Kratos Team<br />
<br />
<br />
== Theory ==<br />
<br />
The fundamental theoretical background corresponding to the discontinuous (granular matter) part of the code can be found Casas et al. (2015). The following sections are destined to contain this information though are curently still under construction.<br />
<br />
Nothing numerical<br />
<br />
=== Integration Schemes ===<br />
<br />
*Symplectic Euler Scheme<br />
<br />
*Forward Euler Scheme<br />
<br />
*Taylor scheme<br />
<br />
*Verlet Velocity Scheme<br />
<br />
*Newmark Beta Method Scheme<br />
<br />
=== Contact Laws ===<br />
Concept of indentation<br />
HMD, LSD<br />
===== Normal Force Laws =====<br />
<br />
====== Linear Repulsive Force ======<br />
<br />
The most simple representation of a repulsive contact force between a sphere and a wall is given by a linear law, where the force acting on the sphere when contacting a plane is a linear function of the indentation, which in turn would bring a quadratic dependence with the contact radius. The next figure shows this simple law:<br />
<br />
[[File:Jkr cohesion linear force.png]]<br />
<br />
<br />
====== Hertzian Repulsive Force ======<br />
<br />
On the other hand, Hertz solved in 1882 the non-cohesive normal contact between a sphere and a plane. In 1971 Johnson, Kendall and Roberts presented the solution (JKR-Theory) for the same problem in this case adding cohesive behaviour. Not much later, Derjaguin, Müller and Toporov published similar results (DMT-Theory).<br />
<br />
Both theories are very close and correct, the main difference being that the JKR theory is oriented to the study of flexible, large spheres, while the DMT theory is specially suited to represent the behaviour of rigid, small ones.<br />
<br />
[[File:Jkr cohesion hertz.jpeg]]<br />
<br />
The previous figure shows the standard representation of a Linear or Hertzian contact between a sphere and a wall. The distribution of contact pressures between both bodies follow a parabolic law.<br />
<br />
====== JKR Cohesive Force ======<br />
<br />
[[File:Jkr cohesion jkr.jpeg]]<br />
<br />
The preceding capture shows the a representation of a JKR contact between a sphere and a wall. In this case, the distribution of pressures between both bodies is more complex due to the formation of a neck at the boundaries of the contact. A later figure shows a detailed view of the pressures involved.<br />
<br />
[[Image:Jkr cohesion forces.png]]<br />
<br />
In the previous graphic, it is very interesting to note the existence of two singular values of contact radius: one for which the total forces acting on the contacting sphere is zero, and another for which the maximum value of adhesion is achieved.<br />
<br />
<br />
[[File:Jkr cohesion pressures.png]]<br />
<br />
In the previous figure, the blue area represents the distribution of pressures acting on the sphere when contacting a wall if a Hertzian Law is followed. On the other hand, the sum of both green and blue areas represents the JKR distribution. Note the larger values and the existence of adhesive behaviour at both sides of the pressures distribution. <br />
<br />
<br />
An example of granular simulation without cohesive forces:<br />
<br />
[[File:JKR no cohesion 1 33.png]]<br />
[[File:JKR no cohesion 2 33.png]]<br />
[[File:JKR no cohesion 3 33.png]]<br />
[[File:JKR no cohesion 4 33.png]]<br />
<br />
The same simulation as before, this time with cohesive forces in both sphere-sphere and sphere-plane contacts.<br />
<br />
[[File:JKR cohesion 1 33.png]]<br />
[[File:JKR cohesion 2 33.png]]<br />
[[File:JKR cohesion 3 33.png]]<br />
[[File:JKR cohesion 4 33.png]]<br />
<br />
<br />
References:<br />
<br />
V. L. Popov. "Contact Mechanics and Friction" (2010). <br><br />
G. Casas et al. "A modular, partitioned, discrete element framework for industrial grain distribution systems with rotating machinery." Computational Particle Mechanics (2015): 1-18.<br />
<br />
===== Tangential Force Laws =====<br />
<br />
===== Damping Force Laws =====<br />
<br />
(restit. coef)<br />
<br />
== Numerical approach ==<br />
<br />
This section is dedicated to describe the numerical methods used to solve.<br />
<br />
<br />
[[File:Dem manual main scheme 66 discontinuum.png]]<br />
<br />
<br />
=== DEM elements ===<br />
<br />
===== Spheric Particle =====<br />
===== Spheric Continuum Particle =====<br />
===== Spheric Swimming Particle =====<br />
<br />
=== DEM walls (Kratos Conditions) ===<br />
<br />
=== DEM Inlets ===<br />
<br />
A DEM Inlet is a source of new DEM Elements. It is a cloud of Nodes, where each Node is the center of a ''Generator Sphere''. In a random order, the Nodes are chosen to create a new DEM Element (both spherical elements or clusters) whose center coincides with the Node and the whole element is fully included in the ''Generator Sphere''. The newly generated DEM Element has a non-zero imposed velocity which eventually makes the DEM Element get outside the ''Generator Sphere''. Until this moment, the ''Generator Sphere'' is not allowed to generate another DEM-Element. From this moment on, the newly created DEM Element no longer has the velocity imposed, it moves freely and cannot penetrate its ''Generator Sphere'' or any other. Actually, the ''Generator Sphere'' is seen as any other Sphere of the domain by the DEM Element, and the contact between them is calculated as usual. In other words, '''the Generator Spheres reserve the necessary space to create a new DEM Element'''.<br />
<br />
=== DEM strategies ===<br />
<br />
===== Non-cohesive materials Strategy =====<br />
<br />
====== Evaluation of Forces ======<br />
<br />
Once contact between two spheres has been detected (see next figure), the forces occurring at the<br />
contact point are computed. The interaction between the two contacting spheres can be represented<br />
by forces Fij and Fji, which have the same module but opposite directions.<br />
<br />
<br />
[[File:Dem application interaction forces.png]]<br />
<br />
<br />
At the same time, this force Fij can be decomposed into its normal and shear components Fijn and Fijs, respectively. The next figure shows a detailed view of this decomposition.<br />
<br />
Fij = Fijn + Fijs = Fnnij + Fijs<br />
<br />
<br />
<br />
[[File:Dem application forces decomposition.png]]<br />
<br />
<br />
The nij vector represents the unitary normal with respect to the surfaces of both particles at the contact point. This vector lies along the line connecting the centers of the two particles and is directed<br />
outwards from particle i.<br />
<br />
<br />
The contact forces Fn, Fs1 and Fs2 are obtained using a constitutive model formulated for the<br />
contact between two rigid spheres (or discs in 2D). The contact interface for the simplest formulation<br />
is characterized by the normal and tangential stiffness Kn and Ks, respectively, a frictional device<br />
obeying the Couloumb law with a frictional coefficient mu, and a dashpot defined by the contact damping<br />
coefficient cn as shown in the next figure.<br />
<br />
<br />
[[File:Dem application forces rheological.png]]<br />
<br />
====== Rolling Friction ======<br />
<br />
In order to represent irregular particles with spheres, a numerical correction is used. This correction is the rolling friction which is about imposing a virtual moment opposite to particle rotation and dependent on its size.<br />
<br />
[[File:Rolling_friction_1.png|300px]]<br />
<br />
Fn represents the normal force, Ft the tangential force, ω the angular velocity, r is the radius and η the rolling friction coefficient.<br />
<br />
In our approach there are two importatn conditions that have to be fulfilled:<br />
<br />
1. The moment due to rolling friction can not change the direction of the particle spin.<br />
<br />
2. If the contact occurs between two spheres the rolling friction is calculated with the radius of the smallest spheres.<br />
<br />
[[File:Rolling_friction_surfaces.png|150px]]<br />
<br />
The model used is described in the following article: J. Irazábal, F. Salazar, E. Oñate. Numerical modelling of granular materials with spherical discrete particles and the bounded rolling friction model. Application to railway ballast. Computers and Geotechnics 85 (2017) 220–229.<br />
<br />
===== Continuum Strategy =====<br />
<br />
=== DEM schemes ===<br />
<br />
==== Integration of Motion ====<br />
<br />
<br />
The standard translational and rotational equations for the motion of rigid bodies are used to compute the dynamics of the spheres.<br />
For the i-th particle we have:<br />
<br />
miui = Fi<br />
Ii i = Ti<br />
<br />
<br />
where u represents the element centroid displacement in a xed (inertial) coordinate frame X, ! the angular<br />
velocity, m the element mass, I the moment of inertia, Fi the resultant force, and Ti the<br />
total moment arount the central axes.<br />
<br />
<br />
Vectors Fi and Ti are the sum of all forces and moments applied to the i-th particle due<br />
to external loads, Fexti and Texti , respectively, the contact interactions with neighbour spheres Fc<br />
i, j = 1;; nc, where nci is the total number of elements in contact with the i-th discrete<br />
element, and the forces and moments resulting from external damping, Fdampi and Tdampi , respectively,<br />
which can be written as:<br />
<br />
<br />
Fi = Fexti +nciXj=1Fci + Fdampi<br />
<br />
Ti = Texti +nciXj=1(rci Fci + qci ) + Tdampi<br />
<br />
<br />
[[File:Dem application motion.png]]<br />
<br />
<br />
where rci is the vector connecting the centre of mass of the i th particle with the contact point c<br />
(see next figure) and qci are the torques due to rolling and/or torsion (not related to the tangential forces).<br />
The next figure shows the motion of a rigid particle. Note that the form of the rotational equation is only valid for spheres and cylinders (in<br />
2D). It is simplified with respect to a general form for an arbitrary rigid body with the rotational<br />
inertial properties represented by a second order tensor. In the general case it is more convenient to<br />
describe the rotational motion with respect to a co-rotational frame x which is embedded at each<br />
element since in this frame the tensor of inertia is constant.<br />
<br />
<br />
The previous set of equations are integrated in time using a simple central difference scheme. The<br />
time integration operator for the translational motion at the n-th time step is as follows:<br />
<br />
<br />
The first two steps in the integration scheme for the rotational motion are identical to those given<br />
by the previous equations:<br />
<br />
<br />
On the other hand, the vector of incremental rotation is computed as<br />
<br />
<br />
Knowledge of the incremental rotation is enough to update the tangential contact forces. It is also<br />
possible to track the rotational position of particles when necessary. If that is the case, the rotation matrices between<br />
the moving frames embedded in the particles and the fixed global frame must be updated<br />
incrementally by using an adequate multiplicative scheme. <br />
Explicit integration in time yields high computational efficiency and it enables the solution of large<br />
models. The main disadvantage of this explicit integration scheme is its conditional numerical stability<br />
which imposes a limitation on the time step delta_t.<br />
<br />
=== Search Strategies ===<br />
<br />
The contact search is a very important part of the method in terms of computational cost (range 60%-90% of simulation time in simulations with large number of particles) and it is possibly the most difficult part to treat when dealing with particles that have no spherical/circular shape.<br />
<br />
The contact detection basically consists in determining, for every target object, what other objects are in contact with, and then, judge for the correspondent interaction. It is usually not needed to perform a search every time step, which is generally limited for the stability of the explicit integration of the equations of motion. Due to the fact that the search is an expensive step a lower search frequency can be selected without much loss of accuracy.<br />
<br />
The most naïve method of search that can be set is the brute search; for every element, the method does a loop for any other element checking for the contact. The order of the number of operations needed is quadratic: n2. Normally, the strategy to avoid such an expensive scheme is to divide the contact search in two basic stages, a global search and a subsequent local resolution of the contact; in this case the computation time of the contact search is proportional to n log n. In the DEMApplication a Grid/Cell based algorithm is used in this purpose.<br />
<br />
==== Global Search ====<br />
<br />
In a generic way, there are two types of elements: searcher elements (particles or finite elements) and target elements (particles or finite elements). Hereafter<br />
searcher elements will be called S.E. and target elements T.E.<br />
<br />
[[File:Global_search1.png]]<br />
<br />
The steps needed to perform contact search are:<br />
<br />
a) Build bounding box of S.E. (Figure 2(a)).<br />
<br />
b) Build bins cells based on size and position of S.E. (Figure 2(b)).<br />
<br />
c) Collocate S.E. in bins and construct hash table with relates coordinates with cells which point to the contacting S.E. (Figure 2(c)).<br />
<br />
d) Build bounding box of T.E. (Figure 2(d)).<br />
<br />
e) Loop over T.E., detect the intersecting cells to each T.E., check the intersection with the possible found cells and add the entire S.E. contained in the cells intersected by each T.E. (Figure 2(e)).<br />
<br />
f) Solve the contact with local resolution (Figure 2(f)).<br />
<br />
Note: In the case of FE and DE the FE are selected as the S.E. to construct the Bins and the Spheres are T.E. to be found in that bins. <br />
<br />
[[File:Global_search2_bigger.png]]<br />
<br />
==== Local Search ====<br />
<br />
Once the possible neighbours are detected, the local resolution check takes place. For the case of two spherical particles, the check is easy; only the sum of the radius has to be compared against the distance between centres. Other geometries may demand a much complicated check. The followed strategy is to mesh all the geometries with a discretization of triangles. In 3D, surface meshes are used for contact detection. Now, the contact detection should be performed between particles and triangles; if no contact is found, particle contact against lines is searched for; and if contact is still not found, contact against points is performed. Figure 3 shows how the local search is performed. Particle i searches contact against element j, then against lines k, l and m and finally against points n, o and p.<br />
<br />
This is known as a hierarchical algorithm. For further explanation please refer to the paper: "3D contact algorithms for particle DEM with rigid and deformable solids" - M.Santasusana, J.Irazábal, E.Oñate, J.M.Carbonell. Where the advantges and the drawback of this method and other proposed algorithms are detailed and analysed in complicated situations like multicontact.<br />
<br />
[[File:Local_search1.png]]<br />
<br />
Fig. 3 Particle-Face contact detection.<br />
<br />
<br />
<br />
== Programming Implementation ==<br />
Structure of the code (Strategy, Scheme, Element, Node, Utilities, functions frequently used like FastGet,...)<br />
<br />
The source code is accessible through [https://kratos.cimne.upc.es/projects/kratos/repository/show/kratos this site].<br />
<br />
[[File:Dem manual code scheme 66.png]]<br />
<br />
A main Python script is used to trigger the calculation of a problem. It communicates with the C++ code. The main advantage of using a compiled language like python for the main script is that it allows to make quick adjustments or modifications to the main strategy without having to recompile the whole code avery time. It also allows for very fast testing.<br />
<br />
=== Main components of the code ===<br />
<br />
<br />
==== Elements ====<br />
<br />
Discontinuum, continuum, cohesive, swimming, cluster of spheres.<br />
<br />
==== Conditions ====<br />
<br />
Main the FEM elements: lines and triangles.<br />
<br />
==== Constitutive Laws ====<br />
<br />
Different interactions laws: linear, Hertzian and continuum behaviour.<br />
<br />
==== Python elements ====<br />
<br />
These files translate the strategies and the<br />
utilities defined in C++ language to be able<br />
to call them from python scripts.<br />
<br />
==== Strategies====<br />
<br />
The main script that calls the necessary schemes and the functions on the<br />
elements during the global loop.<br />
<br />
==== Schemes====<br />
<br />
Explicit integration schemes available<br />
<br />
==== Utilities====<br />
<br />
Here geometric functions are defined, the<br />
neighbours search function, configuration of the particle, amongst others.<br />
<br />
==== Python scripts====<br />
<br />
It contains, amongst other things, the python interface where the main function<br />
of the strategy such as Initialize or Solve<br />
are called. Other operations are done like adding the necessary nodal variables.<br />
<br />
==== Test examples====<br />
<br />
They contain the Benchmarks<br />
<br />
==== DEM_application====<br />
<br />
It contains all the variables that will be used so they are<br />
created and registered in python and C++.<br />
<br />
<br />
=== Main elements in the global python script ===<br />
<br />
<br />
The first step consist of importing all libraries and files necessary for the application.<br />
It is followed by the creation of the necessary input files of the problem at hand to be<br />
processed by the code. The solver strategy is also chosen, and some important operations are done, as for example the<br />
addition of the necessary variables to the solver.<br />
<br />
At this step the buffer size value is also set: this number determines the<br />
historical database size of the problem. The values for the different options and<br />
variables that Kratos will use in the computation are also imported here, like the<br />
integration scheme, the type of solution, damping specifications, time step, output<br />
time step of results, et cetera.<br />
<br />
After the definition of the previous settings, several initializing functions are called which are responsible<br />
of initializing, among other objects, the mesh, the inlet of particles or the solver. Also some operations related to parallel<br />
computing are done.<br />
<br />
Afterwards the time step is determined and the main computing loop is entered. At each time step Solve function is executed.<br />
Finally, at user-defined time steps the results are exported to GiD so they become ready for visualization and postprocessing.<br />
<br />
In fact, this main python file imports another script written in the same language, the ''sphere_strategy.py''. This file is very important<br />
because it contains the core structure that the program will follow when computing. On the other hand, it is the last door to the kernel of the program, which<br />
is written in C++. Some of the most important functions and classes in this file are the following:<br />
<br />
AddVariables: This function sets which variables will be<br />
stored in the nodes at each time step and also the value of those variables as a function of time also<br />
depending on the buffer size previously selected. See the next figure for details.<br />
<br />
<br />
[[File:Dem application add variables 66.png]]<br />
<br />
<br />
AddDofs: The desired degrees of freedom are set here, as can be seen in the design of the function in the figure that follows.<br />
<br />
<br />
[[File:Dem application add dofs 66.png]]<br />
<br />
<br />
The global structure of the explicit strategy the code uses is shown in the next figure. It consists of three main parts: a constructor of the class of the solver,<br />
which creates some default variables for the class, an initializer, which defines the values of several standard parameters, and finally, the ''Solve()'' function<br />
which takes command of almost the entire computing process. The next figure shows and schematic view of this structure.<br />
<br />
When using the ''Initialize()'' function to set the original values of a group of variables, they automatically become accessible in the different C++ files<br />
of the application by means of the ProcessInfo container (see more at ). This function also calls the Initialize function in the solver.<br />
<br />
<br />
[[File:Dem application explicit strategy 66.png]]<br />
<br />
<br />
C++ Solve() function scheme:<br />
<br />
<br />
[[File:Dem application solve cpp scheme 80.png]]<br />
<br />
<br />
<br />
DEM CONTINUUM<br />
<br />
<br />
Initialize() function scheme:<br />
<br />
<br />
[[File:Dem application initialize scheme 75.png]]<br />
<br />
<br />
Solve() function scheme:<br />
<br />
<br />
[[File:Dem application solve scheme 75.png]]<br />
<br />
<br />
Search() function scheme:<br />
<br />
<br />
[[File:Dem application search scheme 66.png]]<br />
<br />
== Benchmarks ==<br />
<br />
The DEM Benchmarks consist of a set of 9 simple tests which are run every night and whose object is to make sure both that the application performs correctly and that the code did not break after the daily changes. They are the following:<br />
<br />
===Test1: Elastic normal impact of two identical spheres===<br />
<br />
Check the evolution of the elastic normal contact force between two spheres with time.<br />
<br />
<br />
<br />
[[File:Benchmark1_1.png]]<br />
[[File:Benchmark1 graph 66.png]]<br />
<br />
If the coefficient of restitution is 1, the module of the initial and final velocities should be the same. Also, by symmetry, velocities should be equal for both spheres.<br />
<br />
_<br />
<br />
===Test2: Elastic normal impact of a sphere against a rigid plane===<br />
<br />
Check the evolution of the elastic normal contact force between a sphere and a plane.<br />
<br />
[[File:Benchmark2 66.png]]<br />
[[File:Benchmark2 graph 66.png]]<br />
<br />
If the coefficient of restitution is equal to 1, the module of the initial and final velocity should remain unchanged.<br />
<br />
_<br />
<br />
===Test3: Impact of a sphere against a rigid plane with different coefficients of restitution===<br />
<br />
Check the effect of different restitution coefficients on the damping ratio.<br />
<br />
[[File:Benchmark3 66.png]]<br />
[[File:Benchmark3 graph 66.png]]<br />
<br />
If total energy is conserved, the restitution coefficient and the damping ratio values should be identical.<br />
<br />
_<br />
<br />
===Test4: Oblique impact of a sphere with a rigid plane with constant velocity module and variable incident angles===<br />
<br />
Check the tangential restitution coefficient, final angular velocity and rebound angle of the sphere.<br />
<br />
[[File:Benchmark4_66.png]]<br />
[[File:Benchmark4 graph1_66.png]]<br />
[[File:Benchmark4 graph2_66.png]]<br />
<br />
_<br />
<br />
===Test5: Oblique impact of a sphere with a rigid plane with constant normal velocity and different angular velocities===<br />
<br />
Check the final linear and angular velocities of the sphere.<br />
<br />
[[File:Benchmark5_66.png]]<br />
[[File:Benchmark5 graph1_66.png]]<br />
<br />
_<br />
<br />
===Test6: Impact of a sphere with a rigid plane with a constant normal velocity and variable angular velocities===<br />
<br />
Check the final linear and angular velocities of the sphere.<br />
<br />
[[File:Benchmark6_66.png]]<br />
[[File:Benchmark6 graph1_66.png]]<br />
<br />
_<br />
<br />
===Test7: Impact of two identical spheres with a constant normal velocity and different angular velocities===<br />
<br />
Check the final linear and angular velocities of both spheres.<br />
<br />
[[File:Benchmark7_66.png]]<br />
[[File:Benchmark7 graph1_66.png]]<br />
<br />
By symmetry, the tangential final velocity of both spheres should be zero. Additionally, for a coefficient of restitution of 1, there should be no changes in the modules of both linear and angular velocities and their values should conserve symmetry. <br />
<br />
_<br />
<br />
===Test8: Impact of two differently sized spheres with a constant normal velocity and variable angular velocities===<br />
<br />
Check the final linear and angular velocities of both spheres.<br />
<br />
[[File:Benchmark8_66.png]]<br />
[[File:Benchmark8_graph1_66.png]]<br />
<br />
In this case, it is interesting to note that, the bigger and/or denser sphere 2 is, the more this test resembles the sphere versus plane simulation.<br />
<br />
_<br />
<br />
===Test9: Impact of two identical spheres with a constant normal velocity and different coefficients of restitution===<br />
<br />
Check the effect of different restitution coefficients on the damping ratio.<br />
<br />
[[File:Benchmark9_66.png]]<br />
[[File:Benchmark9_graph1_66.png]]<br />
<br />
If total energy is conserved, the restitution coefficient and the damping ratio values should be identical.<br />
<br />
<br />
References:<br />
<br />
Y.C.Chung, J.Y.Ooi. ''Benchmark tests for verifying discrete element modelling codes at particle impact level'' (2011).<br />
<br />
== How to analyse using the current application ==<br />
<br />
=== Pre-Process ===<br />
<br />
GUI's & GiD<br />
<br />
===== G-DEMPack =====<br />
<br />
G-DEMPack is the package that allows a user to create, run and analyze results of a DEM simulation for discontinuum / granular / little-cohesive materials. It is written for GiD. So in order to use this package, you should install GiD first.<br />
<br />
You can read the [[D-DEMPack manual]] or follow the D-DEMPack Tutorials included in [[D-DEMPack Tutorials]] for fast learning on how to use the GUI.<br />
<br />
===== C-DEMPack =====<br />
<br />
C-DEMPack combines the features of D-DEMPack with the simulation of continuum/cohesive materials. Refer to the [[C-DEMPack2 manual]] or follow the C-DEMPack Tutorials included in [[DEMPack Tutorials]] for more information.<br />
<br />
===== F-DEMPack =====<br />
<br />
F-DEMPack allows you to simulate a wide spectrum of problems involving the interaction of discontinuum DEM and fluid. It also needs GiD to work. The user is advised to take a look at [[F-DEMPack2 manual]] and follow the C-DEMPack Tutorials included in [[DEMPack Tutorials]] in order to get a quick idea of how this program works.<br />
<br />
=== Post-Process ===<br />
<br />
== Application Dependencies ==<br />
<br />
The Swimming DEM Application depends on the DEM application<br />
<br />
=== Other Kratos Applications used in current Application ===<br />
<br />
FEM-DEM<br />
<br />
<br />
== Problems! ==<br />
<br />
==== What to do if the Discrete Elements behave strangely ====<br />
<br />
In the case you notice that some discrete elements cross walls, penetrate in them or simply fly away of the domain at high velocity, check the following points:<br />
<br />
<br />
In the case of excessive penetration:<br />
<br />
*'''Check that the Young Modulus is big enough'''. A small Young Modulus makes the Elements and the walls behave in a very smooth way. Sometimes they are so soft that total penetration and trespass is possible.<br />
<br />
*'''Check the Density of the material'''. An excessive density means a big weight and inertia that cannot be stopped by the walls.<br />
*'''Check the Time Step'''. If the time step is too big, the Elements can go from one side of the wall to the other with no appearence of a reaction.<br />
*'''Check the frequency of neighbour search'''. If the search is not done frequently enough, the new contacts with the walls may not be detected soon enough.<br />
<br />
<br />
In the case of excessive bounce:<br />
<br />
*'''Check that the Young Modulus is not extremely big'''. An exaggerated Young Modulus yields extremely large reactions that can make the Elements bounce too fast in just one time step. Also take into account that the stability of explicit methods depends on the Young Modulus (the higher the modulus, the closer to instability).<br />
<br />
*'''Check the Density of the material'''. A very low density means a very small weight and inertia, so any force exerted by other elements or the walls can induce big accelerations on the element.<br />
*'''Check the Time Step'''. If the time step is too big, the method gains more energy, and gets closer to instability.<br />
*'''Check the restitution coefficient of the material'''. Explicit integration schemes gain energy noticeably, unless you use a really small time step. In case the time step is chosen to be big (but still stable), use the restitution coefficient to compensate the gain of energy and get more realistic results.<br />
<br />
== Contact ==<br />
<br />
Contact us for any question regarding this application:<br />
<br />
<br />
-Miguel Angel Celigueta: [mailto:maceli@cimne.upc.edu maceli@cimne.upc.edu]<br />
<br />
-Guillermo Casas: [mailto:gcasas@cimne.upc.edu gcasas@cimne.upc.edu]<br />
<br />
-Salva Latorre: [mailto:latorre@cimne.upc.edu latorre@cimne.upc.edu]<br />
<br />
-Ferran Arrufat: [mailto:farrufat@cimne.upc.edu farrufat@cimne.upc.edu]<br />
<br />
<br />
[[Category: Applications]]</div>Salvahttps://kratos-wiki.cimne.upc.edu/index.php/DEMPack_TutorialsDEMPack Tutorials2018-06-22T09:04:37Z<p>Salva: </p>
<hr />
<div>== G-DEMPack Tutorials ==<br />
<br />
[[D-DEMPack Tutorial 1: Conveyor belt]]<br />
<br />
[[D-DEMPack Tutorial 2: DemPack 2.0]]<br />
<br />
[[D-DEMPack Tutorial 3: DEM Meshers]]<br />
<br />
<br />
== F-DEMPack Tutorials ==<br />
<br />
[[D-DEMPack Tutorial 4: Swimming DEM]]<br />
<br />
[[F-DEMPack Tutorial 6: Annular pipe]]<br />
<br />
<br />
== C-DEMPack Tutorials ==<br />
<br />
[[D-DEMPack Tutorial 5: Cohesive DemPack 2.0]]</div>Salvahttps://kratos-wiki.cimne.upc.edu/index.php/DEMPack_TutorialsDEMPack Tutorials2018-06-22T09:03:03Z<p>Salva: </p>
<hr />
<div>== G-DEMPack Tutorials ==<br />
<br />
[[D-DEMPack Tutorial 1: Conveyor belt]]<br />
<br />
[[D-DEMPack Tutorial 2: DemPack 2.0]]<br />
<br />
[[D-DEMPack Tutorial 3: DEM Meshers]]<br />
<br />
<br />
== F-DEMPack Tutorials ==<br />
<br />
[[D-DEMPack Tutorial 4: Swimming DEM]]<br />
<br />
[[D-DEMPack Tutorial 6: Pipe]]<br />
<br />
<br />
== C-DEMPack Tutorials ==<br />
<br />
[[D-DEMPack Tutorial 5: Cohesive DemPack 2.0]]</div>Salvahttps://kratos-wiki.cimne.upc.edu/index.php/DEMPack_TutorialsDEMPack Tutorials2018-06-22T09:02:35Z<p>Salva: </p>
<hr />
<div>== G-DEMPack Tutorials ==<br />
<br />
[[D-DEMPack Tutorial 1: Conveyor belt]]<br />
<br />
[[G-DEMPack Tutorial 2: DemPack 2.0]]<br />
<br />
[[G-DEMPack Tutorial 3: DEM Meshers]]<br />
<br />
<br />
== F-DEMPack Tutorials ==<br />
<br />
[[F-DEMPack Tutorial 4: Swimming DEM]]<br />
<br />
[[F-DEMPack Tutorial 6: Pipe]]<br />
<br />
<br />
== C-DEMPack Tutorials ==<br />
<br />
[[C-DEMPack Tutorial 5: Cohesive DemPack 2.0]]</div>Salvahttps://kratos-wiki.cimne.upc.edu/index.php/G-DEMPack_manualG-DEMPack manual2018-06-22T09:00:21Z<p>Salva: </p>
<hr />
<div>This manual is aimed to give detailed explanations on all sections in the D-DEMPack problem type. For a more practical review, the user is encouraged to check the [[D-DEMPack Tutorials]] page.<br />
<br />
<br />
<br />
== Loading D-DEMPack ==<br />
If you did not install GiD or D-DEMPack yet, follow the installation instructions here: [[D-DEMPack installation]]<br />
<br />
Once you have finished the installation, open GiD and load the D-DEMPack Problemtype by clicking:<br />
Data -> D-DEMPack<br />
Note that a toolbar with 7 buttons has been added to the left side of the GiD working window. This toolbar is called "Model definition toolbar". <br />
<br />
<br />
== The Model Definition Toolbar ==<br />
<br />
The buttons in the Model definition toolbar do the following actions:<br />
<br />
* Button 1 - Link to the GiD Groups Management Window<br />
<br />
* Button 2 - Model Definition Tree <br />
<br />
* Button 3 - Materials Tree<br />
<br />
* Button 4 - Running Processes Management Window<br />
<br />
* Button 5 - Run this case<br />
<br />
* Button 6 - Show information about how this case is running<br />
<br />
* Button 7 - Stop this case<br />
<br />
If you experience problems with this toolbar not appearing, deactivate and reactivate it from the GiD utilities:<br />
Utilities -> Tools -> Toolbars <br />
Scroll down to Model Definition Toolbar, hide it and show it. Make sure you choose your favourite position in the GiD Window for this toolbar (Left, Up, Right or Down).<br />
<br />
<br />
== The GiD philosophy ==<br />
<br />
GiD is a Pre and Post Processor, it is not an actual CAD tool. However, it can be used to draw geometries and mesh them. For complicated geometries, we recommend using a CAD tool and importing them into GiD for meshing (or import mesh and apply conditions directly).<br />
In case of drawing geometries with GiD, one must be aware that it uses a Hierarchical Structure: Volumes are created with a set of watertight Surfaces, Surfaces are created with a set of watertight Lines and Lines are created starting and ending in Points. If there are no Points, a Line cannot be created, and the same dependence holds for all levels.<br />
For more information about how to use GiD, visit [http://www.gidhome.com/ GiD's home page] or follow some [http://www.gidhome.com/support/tutorials tutorials]<br />
<br />
<br />
== The Kratos philosophy ==<br />
<br />
The way Kratos applies materials and conditions to the geometry or the mesh is using the Groups. A Group is a set of entities (either in Geometry or in Mesh). A Group can contain any Volume, Surface, Line, Point, Element or Node, no matter whether it is already belonging to other Groups. <br />
<br />
<br />
== The D-DEMPack philosophy ==<br />
<br />
Since DEMPack is based in Kratos and programmed for GiD, it inherits the philosophy of both. The Groups will be the essential tool for assigning materials and conditions. <br />
<br />
<br />
OPTION 1: Use the Groups Management Window to create Groups and move entities into the corresponding Groups. Go to the Model Definition Tree, fill in all the fields and assign conditions to existing Groups (the ones you just created).<br />
<br />
OPTION 2: Fill in all the fields of the Model Definition Tree and when asked for any Group to assign the condition to, use the button for automatic creation of Groups (included in the mini window for condition assignation)<br />
<br />
<br />
== Drawing a Geometry ==<br />
<br />
The first step that an analyst must do is to draw a Geometry. It will contain Volumes, Surfaces, Lines and Points.<br />
<br />
A list of important recommendations and clarifications follows:<br />
<br />
*All those walls that must not be crossed by the discrete elements must be surfaces.<br />
<br />
*Volumes are susceptible to be filled by spheres at the Meshing stage.<br />
<br />
*Inlets are usually Surfaces, but they can also be Points, Lines and Volumes.<br />
<br />
<br />
== Working with a Mesh ==<br />
<br />
If desired, GiD will mesh the Geometry and will convert Points into Nodes, Lines into Linear Elements, Surfaces into Triangles and Volumes into Spheres.<br />
The common size of the mesh must be specified when prompted (when GiD is about to mesh), or different sizes depending on the entities, which can be assigned at any time through the 'Mesh' menu in GiD.<br />
<br />
A list of important recommendations and clarifications follows:<br />
<br />
*Do not specify Quadrilateral Elements or Quadratic Elements for any entity in the meshing options. They are not supported by D-DEMPack.<br />
*For any volume that must be filled with packed spheres (Discrete Elements) make sure that you specify Element Type->Sphere in the meshing options. <br />
*All volumes meshed with spheres '''will lose their Surfaces'''. So do not use the surfaces forming a Volume as walls or inlets.<br />
<br />
<br />
== Model Definition Tree ==<br />
<br />
The Model Definition Tree contains all the options that must be filled in order to run a DEM computation.<br />
<br />
Some of the options are edited directly on the Tree, while others (like the assignation of conditions to Groups) open a '''Mini Window''' to create '''new branches of the Tree'''. No matter what options are chosen in the Mini Window when you click OK, '''the data will be still editable on the new Tree branch'''.<br />
<br />
A contextual help is available on the tree itself. Stop the mouse on any value, label or branch of the tree and some brief help will be displayed.<br />
<br />
<br />
=== Elements ===<br />
*'''DEM element:''' double click on this item and a Mini Window will open. Choose an existing Material and assign it to an existing Group (or create the Group on-the-go)<br />
<br />
<br />
=== Boundary conditions ===<br />
<br />
<br />
*'''Inlet''' It allows the insertion of new DEM elements into the domain. Double click on this item and a Mini Window will open. Every Mesh Node will insert Elements. Mesh Nodes come usually from the meshing of Points, Lines, Surfaces(recommended) or Volumes. Assign this condition to a Group containing a Surface and the inner and boundary Nodes of this Surface will be generating new DEM elements with the parameters chosen.<br />
<br />
*'''DEM-FEM wall''' It marks a Surface as a Rigid Body which cannot be crossed by the DEM elements. Double click on this item and a Mini Window will open. Choose the options and assign it to a Group containing Surfaces (avoid Groups containing Spheres)<br />
<br />
*'''Prescribed velocities (under development)''' It allows the imposition of velocities to sets of DEM elements. Double click on this item and a Mini Window will open. It will impose initial velocities or fixed velocities for all time to the Groups of spheres you choose.<br />
<br />
<br />
<br />
=== DEM General Options ===<br />
General options that affect the computation.<br />
<br />
==== Bounding Box ====<br />
Creates a Box for the computation and every DEM element that gets outside of this Box is '''deleted'''.<br />
<br />
*'''Bounding Box:''' Choose Active to activate it.<br />
<br />
*'''Bounding Box type:''' If 'Automatic' is chosen, the Bounding Box will be created taking into account the initial disposition of elements and walls. It will be created containing the existing entities.<br />
<br />
*'''Enlargement factor:''' only for 'Automatic' Box. Enlarges the Box by a factor.<br />
<br />
*'''Max X:''' Max corner X coordinate<br />
<br />
*'''Max Y:''' Max corner Y coordinate<br />
<br />
*'''Max Z:''' Max corner Z coordinate<br />
<br />
*'''Min X:''' Min corner X coordinate<br />
<br />
*'''Min Y:''' Min corner Y coordinate<br />
<br />
*'''Min Z:''' Min corner Z coordinate<br />
<br />
==== Physical Options ====<br />
*'''Gravity value:''' Enter the value of the acceleration of Gravity (default value: 9.81 m/s2)<br />
<br />
*'''Gx:''' X component of the versor of the Gravity. The versor does not have to be necessarily unitary.<br />
<br />
*'''Gy:''' Y component of the versor of the Gravity. The versor does not have to be necessarily unitary.<br />
<br />
*'''Gz:''' Z component of the versor of the Gravity. The versor does not have to be necessarily unitary.<br />
<br />
==== Advanced Options ====<br />
*'''Clean initial indentations:''' If activated, initial indentations between spheres and between spheres and walls are eliminated to avoid explosions (reducing the radius of the spheres accordingly)<br />
<br />
*'''Virtual mass coefficient:''' This coefficient will multiply the mass of the DEM elements when computing their accelerations. It is equivalent of reducing the accelerations of the DEM elements by this factor.<br />
<br />
*'''Rolling friction:''' If activated, the rolling friction parameter of the Material will be taken into account. Otherwise, it will be ignored.<br />
<br />
*'''Rotations:''' If activated, the DEM elements will rotate. Otherwise, they will only suffer translations. By default rotations are '''activated'''.<br />
<br />
<br />
<br />
=== Solution Strategy ===<br />
<br />
<br />
==== Parallel Type ====<br />
*'''Parallel type:''' locked to OpenMP (MPI will be available in the future)<br />
<br />
*'''Number of threads:''' set the number of threads you want to use for this computation. Do not choose more than the available threads on your computer or the computation will be slower.<br />
<br />
==== Time parameters ====<br />
*'''Delta time:''' Specify the time increment for the calculation. Take into account that a Delta Time too big will make the calculation unstable, and a very small Delta Time can slow down the computation a lot.<br />
<br />
*'''Total time:'''Specify total amount of seconds you want to simulate. The simulation will start at ''time = 0 seconds'' and will finish at ''time = Total time seconds''.<br />
<br />
*'''Info screen output:''' Specify the wall time increment (reality time) between updates on the Info Screen<br />
<br />
*'''Neighbour search frequency:''' choose how often the neighbours are searched. 1 means ''every time step'', 10 means ''1 out of 10 steps''. Take into account that searching at every time step can penalize a lot the computation time, but searching with low frequency can lead to inaccurate results.<br />
<br />
<br />
<br />
=== Results ===<br />
*'''Output time step:''' Specify the time increment between prints. Every print will write down the necessary files to see the results on the Post-Process of GiD.<br />
<br />
==== Print in Post-process ====<br />
From all the options, choose those that you want to see in Post-process. Keep in mind that activating some of these options can slow down the computation noticeably, by adding function calls and allocating extra memory.<br />
<br />
==== Graphs ====<br />
*'''Force evolution with time:''' Choose Yes to activate it. It will print a file with the Integral of Forces and Torques on the whole chosen Group.<br />
<br />
*'''Printing delta time:''' Choose the time increment between prints of this type of graphs<br />
<br />
*'''Force integration group:''' Double click on this item and a Mini Window will open. Choose what Groups where you want to integrate the Forces and Torques. A file called '<name_of_the_group>_force_graph.grf' will be printed in the Graphs folder of the GiD project you are working with.<br />
<br />
==== Velocity Trap ====<br />
Creates a Box in which measurements are done: average velocity, entering flux of particles, entering flux of mass.<br />
<br />
*'''Active velocity trap:''' choose Active to activate it.<br />
<br />
*'''Max X:''' Max corner X coordinate<br />
<br />
*'''Max Y:''' Max corner Y coordinate<br />
<br />
*'''Max Z:''' Max corner Z coordinate<br />
<br />
*'''Min X:''' Min corner X coordinate<br />
<br />
*'''Min Y:''' Min corner Y coordinate<br />
<br />
*'''Min Z:''' Min corner Z coordinate<br />
<br />
==== Options ====<br />
*'''Result format:''' Choose Binary or Ascii. Ascii takes more hard disk space, but is human readable.<br />
<br />
*'''Result file:''' Choose whether you want a Single file for all time steps or Multiple files (one for each time step). If an Inlet is present, Single option will not be able to print the results for the inserted DEM elements.<br />
<br />
<br />
== Materials Tree ==<br />
<br />
Right click on 'DEM' to create a new material.<br />
<br />
Materials have the following fields to be filled:<br />
<br />
* '''Density:''' that of the material, not bulk density<br />
* '''Young's Modulus:''' that of the material, not bulk stiffness<br />
* '''Poisson's Ratio:''' that of the material, not bulk ratio<br />
* '''Cohesion:''' JKR parameter<br />
* '''Friction angle:''' Particle friction angle (for Coulomb's friction). The tangent of this angle will be used to evaluate the beginning of slip.<br />
* '''Coefficient of restitution:''' Desired quotient of exit velocity over incident velocity for collisions.<br />
* '''Rolling friction:''' Rolling friction parameter<br />
* '''Color:''' just a color for post-process<br />
* '''Discontinuum Contact Law:''' Choose Linear or Hertz. The implementation of the contact laws is based on the models LSD and HMD, compiled and arranged in the paper: C.Thornton, S.J. Cummins, P.W. Cleary, ''An investigation of the comparative behaviour of alternative contact force models during inelastic collisions''. Powder Technology. Volume 233, Pages 30–46, January 2013</div>Salvahttps://kratos-wiki.cimne.upc.edu/index.php/DEMPack_TutorialsDEMPack Tutorials2018-06-21T16:01:33Z<p>Salva: </p>
<hr />
<div>== G-DEMPack Tutorials ==<br />
<br />
[[G-DEMPack Tutorial 1: Conveyor belt]]<br />
<br />
[[G-DEMPack Tutorial 2: DemPack 2.0]]<br />
<br />
[[G-DEMPack Tutorial 3: DEM Meshers]]<br />
<br />
<br />
== F-DEMPack Tutorials ==<br />
<br />
[[F-DEMPack Tutorial 4: Swimming DEM]]<br />
<br />
[[F-DEMPack Tutorial 6: Pipe]]<br />
<br />
<br />
== C-DEMPack Tutorials ==<br />
<br />
[[C-DEMPack Tutorial 5: Cohesive DemPack 2.0]]</div>Salvahttps://kratos-wiki.cimne.upc.edu/index.php/C-DEMPack2_manualC-DEMPack2 manual2017-01-24T17:32:07Z<p>Salva: /* Advanced Options */</p>
<hr />
<div>==Model Section==<br />
<br />
<br />
===General Application Data===<br />
<br />
====Domain Options====<br />
This section allows the user to choose between a 2D or 3D simulation.<br />
<br />
===DEM===<br />
The DEM section is very similar to that of the non-cohesive DEMPack. Please, refer to [[D-DEMPack2 manual]] for a full description of the menus in this section. In this manual only the particular characteristics of this problem type will be explained.<br />
<br />
====Cohesive Groups====<br />
This subsection allows the user to integrate one or more GiD groups into a single cohesive group with a particular collective behavior. Any GiD group with no cohesive group assigned will be treated as a discontinuum DEM mass.<br />
<br />
====Advanced Options====<br />
*'''Tangency tolerance''': Choose if you want to set manually the maximum gap between particles at the beginning of the computation (Absolute) or if you prefer an automatic gap that tries to match a certain average Coordination Number.<br />
<br />
*'''Tangency tolerance value''': Choose the maximum admissible gap between two particles to consider them cohesive at the beginning of the computation.<br />
<br />
*'''Accepted gap between neighbours''': If the gap between two spheres is bigger than this value, they are no longer neighbours and the bond between them breaks.<br />
<br />
*'''Maximum allowed amplification ratio of the search radius''': The search radius must be amplified after the first search because particles separate, but a bond still joins them. In order to keep finding all neighbours, search is amplified according the the mechanical resistance, but up to this limit.<br />
<br />
*'''Virtual mass coefficient''': For no mass reduction, set this value to 1.<br />
<br />
*'''Calculate rotations''': If activated, torques and rotations will be calculated on the Discrete Elements. Will increase computation time slightly.<br />
<br />
*'''Rolling friction''': If activated, rolling friction between particles will be considered.<br />
<br />
*'''Compute stress tensor''': If activated, the Stress Tensor will be computed. It will increase computation time and memory consumption.<br />
<br />
*'''Add Poisson Effect''': If active, the Poisson effect will be taken into account.<br />
<br />
*'''Add the effect of shear strains parallel to bonds''': When active, the shear strains parallel to bonds will be included in the computations.<br />
<br />
*'''Don't search until failure''': If activated, search for new particle neighbours will be disabled until the simulation detects the first contact failure.<br />
<br />
*'''Material Analysis''': Activate this option to show the material test (UCS, BTS) additional options.<br />
<br />
*'''Thermal Analysis''': Changes the default DEM element to Thermal-type elements and shows additional options.<br />
<br />
====Material Test====<br />
When setting the Material Analysis option to Yes, this menu will show up. It allows the user the access to a Material Test Virtual Lab where several kinds of tests are <br />
possible, they are: UCS, Triaxial, Oedometric, Hydrostatic and BTS.<br />
<br />
*'''Test type''': The user must select here any of the five different test previouly listed.<br />
<br />
*'''Load velocity''': The velocity that will be imposed to the presses that will compress the tested specimen.<br />
<br />
*'''Confinement pressure''': This field will show up only when selecting the Triaxial or Hydrostatic tests.<br />
<br />
*'''Mesh type''': The user can choose to use the current mesh in the problem or a predefined mesh that will be loaded from a file.<br />
<br />
*'''Mesh path''': Path to the file when using a Predefined Mesh.<br />
<br />
*'''Specimen length''': Length of the specimen given in meters.<br />
<br />
*'''Specimen diameter''': Diameter of the specimen in meters.<br />
<br />
*'''Top measuring group''': The top press group must be assigned here. The user has also the possibility of printing the forces and/or torques acting in this group.<br />
<br />
*'''Bottom measuring group''': The bottom press group must be assigned here. As before, forces and/or torques can be printed for the group.<br />
<br />
====Thermal results====<br />
When setting the Thermal Analysis option to Yes, this menu will show up. It allows the user to set values of the thermal parameters. This section is currently under <br />
development.<br />
<br />
====Results====<br />
This problem type has some additional results available for printing, they are:<br />
<br />
*'''Skin Spheres''': the contour spheres will be mark with a different color with respect to the rest.<br />
<br />
*'''Poisson Ratio''': the local Poisson Ratio will be printed in a sphere-to-sphere-bond fashion.<br />
<br />
*'''Print Virtual Sea Surface''': This option can be used to print a virtual sea surface as a mesh in PostProcess. When activated, four pairs of coordinates must be entered which will define the quadrilateral surface representing the virtual sea surface. A z=0 sea level is assumed. This option is related to the simulation of ice in the problem type and is still under development.<br />
<br />
When activating the Thermal Analysis, additional thermal post-processing information will be available. Nevertheless, this section is still under development.<br />
<br />
*'''Show bond elements''': When activating this option, the bonds connecting the center of every pair of spheres will be shown in the postprocess. The user has then the option of printing the following variables:<br />
<br />
*'''Contact sigma''': Normal stress between every pair of spheres.<br />
<br />
*'''Contact tau''': Tangential stress between spheres.<br />
<br />
*'''Local contact force''': Local force in the contact point of any two spheres.<br />
<br />
*'''Failure criterion state''': Shows the current failure state or how close is the considered contact to reach complete failure.<br />
<br />
*'''Failure Id''': Labels every contact with its corresponding Failure Type.<br />
<br />
*'''Mean contact area''': Displays the calculation area in every contact.<br />
<br />
<br />
==Materials Section==<br />
<br />
This section is very similar to that of the discontinuous DEM, but with additional fields accounting for several constitutive laws available trying to simulate the behaviour of different cohesive materials, as well as the thermal parameters. Two main classes of constitutive laws exist: the DEMPack and the KDEM. The former is <br />
addressed to study materials following a non-linear elastoplastic behavior including damage, while the latter is specially designed to simulate elastobrittle materials.<br />
The KDEM constitutive law has several derived laws, which are KDEM_Rankine, KDEM_Mohr_Coulomb and KDEM_Fabric. The first one, the base KDEM, is a standard linear-brittle behaviour constitutive law, the second and third simulate the same behavior of the first but by following the particularities of Rankine and Mohr-Coulomb criteria respectivelly, while the last is addressed to study specific materials like membranes or clothes, as well as cables. Both KDEM and DEMPack laws have the following fields in common:<br />
<br />
*'''Rolling Friction''': value for the rolling friction. It may increase computation time slightly.<br />
<br />
*'''Tangential Strength''': Maximum shear strength for the material.<br />
<br />
*'''Normal Tensile Strength''': Maximum tensile strength of the material.<br />
<br />
*'''Internal Friction Angle Coefficient''': value of the static friction coefficient.<br />
<br />
When activating the KDEM Mohr-Coulomb law, two specific fields show up that the user must fill: the associated M-C Cohesion and Friction angle. On the other hand, when choosing the KDEM Fabric law, a Fabric Coefficient must be given. The value of this parameter goes from 0 to 1. It refers to the moment resistance, where 0 means no resistance at all and 1 a maximum resistance, which would be equivalent to the base KDEM.<br />
<br />
Finally, when activating the DEMPack constitutive law, a list of several parameters show up, which are related to the plastic and damage branches of the stress-strain graph. They are the following:<br />
<br />
*'''LCS1''': First stiffness reduction point.<br />
<br />
*'''LCS2''': Second stiffness reduction point.<br />
<br />
*'''LCS3''': Third stiffness reduction point.<br />
<br />
*'''YRC1''': First reduction coefficient.<br />
<br />
*'''YRC2''': Second reduction coefficient.<br />
<br />
*'''YRC3''': Third reduction coefficient.<br />
<br />
*'''Plastic Young Modulus''': Material stiffness in the plastic zone.<br />
<br />
*'''Plastic Yield Stress''': Plastic yield point.<br />
<br />
*'''Damage Deformation Factor''': Energy stored after bond fracture.<br />
<br />
*'''Shear Energy Coefficient''': Energy stored due shear effects.<br />
<br />
Details on the previous parameters are shown in the picture that follows:<br />
<br />
<br />
[[File:Demdrill manual materials theory.png|650px]]<br />
<br />
<br />
This section is completed with two standard thermal parameters for the material: the Thermal Conductivity and the Specific Heat.</div>Salvahttps://kratos-wiki.cimne.upc.edu/index.php/C-DEMPack_Tutorial_1:_Cohesive_DemPack_2.0C-DEMPack Tutorial 1: Cohesive DemPack 2.02017-01-24T17:27:45Z<p>Salva: /* Geometry */</p>
<hr />
<div>==Introduction==<br />
Before starting with this tutorial, the user is strongly encouraged to follow<br />
the [[D-DEMPack Tutorial 2: DemPack 2.0]] to get a feeling of how the problem<br />
type works, and in particular the DEM section. This tutorial will focus mainly <br />
in the parcularities of the cohesive DEM. The user should start by downloading <br />
the [[File:D DEMPack2 Tutorial 5.zip]]. This file has already both <br />
created and assgined the groups that will be used in the simulation, as well<br />
as the mesh sizes for all groups.<br />
<br />
==Geometry==<br />
The geometry of study consists of four different continuum-DEM groups as well as<br />
two DEM-FEM rigid entities. The four cohesive groups are composed of an inlet<br />
of deformable cluster elements, a highly cohesive material in the shape of<br />
a sphere, a very little cohesive material in the shape of a paralelepiped<br />
and a membrane-like material. The program is also capable of simulating<br />
cables and solving thermal problems, as will we shown in a upcoming tutorial. <br />
It is also possible to simulate the behaviour of ice, even though this aspect is <br />
still under development. See http://www.cimnemultimediachannel.com/vpage/2/0/technology/technology/Discrete-Element-Method#11 to check the capabilities of the <br />
program in that respect.<br />
<br />
[[File:Demdrill tutorial geometry.png|700px]]<br />
[[File:Demdrill tutorial groups.png|700px]]<br />
<br />
==DEM Elements==<br />
As a reference, a screenshot of the characteristics of the elements used in this <br />
simulation will be given. The user is encouraged to modify these settings to <br />
experiment a little bit and get familiar with the program. The assignation was the <br />
following:<br />
<br />
[[File:Demdrill tutorial dem elements.png|400px]]<br />
<br />
==Cohesive Groups==<br />
This section is unique and it does not exist neither in D-DEMPack nor F-DEMPack. <br />
The user must assign this attribute to any group containing cohesive entities. <br />
Only the particles tagged with this attribute will have cohesive properties and <br />
use a continuum material law. Double click on Cohesive Groups to start adding <br />
adding the different groups in this section. The next picture shows the assignation <br />
in our sample case as a reference.<br />
<br />
[[File:Demdrill tutorial cohesive groups.png|200px]]<br />
<br />
==Boundary Conditions==<br />
This section is in practice identical to that of the D-DEMPack. The most significant <br />
difference is that the inlet cluster elements are deformable and breakable. The <br />
simulation captures at the end of this tutorial show an example of the behavior of <br />
this kind of cluster elements.<br />
<br />
[[File:Demdrill tutorial boundary conditions.png|300px]]<br />
<br />
==General Options==<br />
The structure of this section is the same as in D-DEMPack, but with a much more <br />
extense subsection of Advanced Options. The settings for this simulation are <br />
given in the picture that follows as a reference. A detailed explanation of each <br />
of the fields in this section can be found here [[C-DEMPack2 manual]].<br />
<br />
[[File:Demdrill tutorial general options.png|400px]]<br />
<br />
==Solution Strategy==<br />
This section is identical to that of D-DEMPack, so no further explanation is <br />
needed. A screenshot with the value of the parameters chosen in this example <br />
can be found in the picture that follows.<br />
<br />
[[File:Demdrill tutorial solution strategy.png|300px]]<br />
<br />
==Results==<br />
The structure of this section is the same as in D-DEMPack, but with an additional <br />
subsection on Postprocessing bond-related results and some other parameters linked <br />
to the Poisson ratio and the skin of the materials in the simulation. Check the <br />
[[C-DEMPack2 manual]] for a detailed explanation of every field in this section. The <br />
user is left free to choose the desired set of results to be printed.<br />
<br />
==Materials==<br />
<br />
For this example, the materials of all groups has been already set. The user is <br />
encouraged to play a little bit using different materials and compare the results. <br />
Check the [[C-DEMPack2 manual]] for a reference on the different options available. <br />
The materials used in this example were the following:<br />
<br />
[[File:Demdrill tutorial materials1of2.png|250px]]<br />
[[File:Demdrill tutorial materials2of2.png|250px]]<br />
<br />
==Meshing and Running==<br />
After the user has checked that everything is correctly assigned and the corresponding <br />
cohesive groups have been created, the only thing that is missing is to mesh the geometry. <br />
As said at the beginning of this tutorial, all the meshing details have been previously set <br />
for this problem, so the user must only press Ctr-G, enter a value of 0.4 and hit OK. A <br />
mesh very similar to the one that follows should be obtained:<br />
<br />
[[File:Demdrill tutorial groups and mesh.png|700px]]<br />
<br />
Once obtained a valid mesh and to run the example, press Ctrl-s to save the file and hit <br />
F5 to launch the simulation.<br />
<br />
==Results==<br />
<br />
After some minutes, the simulation should be complete. Shift to Post-Process to load the <br />
results. The next four captures show the resulting simulation at different times. The user <br />
should obtain results very similar to those.<br />
<br />
[[File:Simulation1of4.png|600px]]<br />
[[File:Simulation2of4.png|600px]]<br />
[[File:Simulation3of4.png|600px]]<br />
[[File:Simulation4of4.png|600px]]</div>Salvahttps://kratos-wiki.cimne.upc.edu/index.php/C-DEMPack_Tutorial_1:_Cohesive_DemPack_2.0C-DEMPack Tutorial 1: Cohesive DemPack 2.02017-01-24T17:24:24Z<p>Salva: /* Introduction */</p>
<hr />
<div>==Introduction==<br />
Before starting with this tutorial, the user is strongly encouraged to follow<br />
the [[D-DEMPack Tutorial 2: DemPack 2.0]] to get a feeling of how the problem<br />
type works, and in particular the DEM section. This tutorial will focus mainly <br />
in the parcularities of the cohesive DEM. The user should start by downloading <br />
the [[File:D DEMPack2 Tutorial 5.zip]]. This file has already both <br />
created and assgined the groups that will be used in the simulation, as well<br />
as the mesh sizes for all groups.<br />
<br />
==Geometry==<br />
The geometry of study consists of four different continuum-DEM groups as well as<br />
two DEM-FEM rigid entities. The four cohesive groups are composed of an inlet<br />
of deformable cluster elements, a highly cohesive material in the shape of<br />
a sphere, a very little cohesive material in the shape of a paralelepiped<br />
and a membrane-like material. The program is also capable of simulating<br />
cables and solving thermal problems, as will we shown in a upcoming tutorial. <br />
It is also possible to simulate the behaviour of ice, even though this aspect is <br />
still under development. See PAGINAS HIELO to check the capabilities of the <br />
program in that respect.<br />
<br />
[[File:Demdrill tutorial geometry.png|700px]]<br />
[[File:Demdrill tutorial groups.png|700px]]<br />
<br />
==DEM Elements==<br />
As a reference, a screenshot of the characteristics of the elements used in this <br />
simulation will be given. The user is encouraged to modify these settings to <br />
experiment a little bit and get familiar with the program. The assignation was the <br />
following:<br />
<br />
[[File:Demdrill tutorial dem elements.png|400px]]<br />
<br />
==Cohesive Groups==<br />
This section is unique and it does not exist neither in D-DEMPack nor F-DEMPack. <br />
The user must assign this attribute to any group containing cohesive entities. <br />
Only the particles tagged with this attribute will have cohesive properties and <br />
use a continuum material law. Double click on Cohesive Groups to start adding <br />
adding the different groups in this section. The next picture shows the assignation <br />
in our sample case as a reference.<br />
<br />
[[File:Demdrill tutorial cohesive groups.png|200px]]<br />
<br />
==Boundary Conditions==<br />
This section is in practice identical to that of the D-DEMPack. The most significant <br />
difference is that the inlet cluster elements are deformable and breakable. The <br />
simulation captures at the end of this tutorial show an example of the behavior of <br />
this kind of cluster elements.<br />
<br />
[[File:Demdrill tutorial boundary conditions.png|300px]]<br />
<br />
==General Options==<br />
The structure of this section is the same as in D-DEMPack, but with a much more <br />
extense subsection of Advanced Options. The settings for this simulation are <br />
given in the picture that follows as a reference. A detailed explanation of each <br />
of the fields in this section can be found here [[C-DEMPack2 manual]].<br />
<br />
[[File:Demdrill tutorial general options.png|400px]]<br />
<br />
==Solution Strategy==<br />
This section is identical to that of D-DEMPack, so no further explanation is <br />
needed. A screenshot with the value of the parameters chosen in this example <br />
can be found in the picture that follows.<br />
<br />
[[File:Demdrill tutorial solution strategy.png|300px]]<br />
<br />
==Results==<br />
The structure of this section is the same as in D-DEMPack, but with an additional <br />
subsection on Postprocessing bond-related results and some other parameters linked <br />
to the Poisson ratio and the skin of the materials in the simulation. Check the <br />
[[C-DEMPack2 manual]] for a detailed explanation of every field in this section. The <br />
user is left free to choose the desired set of results to be printed.<br />
<br />
==Materials==<br />
<br />
For this example, the materials of all groups has been already set. The user is <br />
encouraged to play a little bit using different materials and compare the results. <br />
Check the [[C-DEMPack2 manual]] for a reference on the different options available. <br />
The materials used in this example were the following:<br />
<br />
[[File:Demdrill tutorial materials1of2.png|250px]]<br />
[[File:Demdrill tutorial materials2of2.png|250px]]<br />
<br />
==Meshing and Running==<br />
After the user has checked that everything is correctly assigned and the corresponding <br />
cohesive groups have been created, the only thing that is missing is to mesh the geometry. <br />
As said at the beginning of this tutorial, all the meshing details have been previously set <br />
for this problem, so the user must only press Ctr-G, enter a value of 0.4 and hit OK. A <br />
mesh very similar to the one that follows should be obtained:<br />
<br />
[[File:Demdrill tutorial groups and mesh.png|700px]]<br />
<br />
Once obtained a valid mesh and to run the example, press Ctrl-s to save the file and hit <br />
F5 to launch the simulation.<br />
<br />
==Results==<br />
<br />
After some minutes, the simulation should be complete. Shift to Post-Process to load the <br />
results. The next four captures show the resulting simulation at different times. The user <br />
should obtain results very similar to those.<br />
<br />
[[File:Simulation1of4.png|600px]]<br />
[[File:Simulation2of4.png|600px]]<br />
[[File:Simulation3of4.png|600px]]<br />
[[File:Simulation4of4.png|600px]]</div>Salvahttps://kratos-wiki.cimne.upc.edu/index.php/File:D_DEMPack2_Tutorial_5.zipFile:D DEMPack2 Tutorial 5.zip2017-01-24T17:23:26Z<p>Salva: </p>
<hr />
<div></div>Salvahttps://kratos-wiki.cimne.upc.edu/index.php/C-DEMPack_Tutorial_1:_Cohesive_DemPack_2.0C-DEMPack Tutorial 1: Cohesive DemPack 2.02017-01-24T16:19:29Z<p>Salva: /* Materials */</p>
<hr />
<div>==Introduction==<br />
Before starting with this tutorial, the user is strongly encouraged to follow<br />
the [[D-DEMPack Tutorial 2: DemPack 2.0]] to get a feeling of how the problem<br />
type works, and in particular the DEM section. This tutorial will focus mainly <br />
in the parcularities of the cohesive DEM. The user should start by downloading <br />
the [[File:D DEMPack2 Tutorial 5.gid.zip]] file. This file has already both <br />
created and assgined the groups that will be used in the simulation, as well<br />
as the mesh sizes for all groups.<br />
<br />
==Geometry==<br />
The geometry of study consists of four different continuum-DEM groups as well as<br />
two DEM-FEM rigid entities. The four cohesive groups are composed of an inlet<br />
of deformable cluster elements, a highly cohesive material in the shape of<br />
a sphere, a very little cohesive material in the shape of a paralelepiped<br />
and a membrane-like material. The program is also capable of simulating<br />
cables and solving thermal problems, as will we shown in a upcoming tutorial. <br />
It is also possible to simulate the behaviour of ice, even though this aspect is <br />
still under development. See PAGINAS HIELO to check the capabilities of the <br />
program in that respect.<br />
<br />
[[File:Demdrill tutorial geometry.png|700px]]<br />
[[File:Demdrill tutorial groups.png|700px]]<br />
<br />
==DEM Elements==<br />
As a reference, a screenshot of the characteristics of the elements used in this <br />
simulation will be given. The user is encouraged to modify these settings to <br />
experiment a little bit and get familiar with the program. The assignation was the <br />
following:<br />
<br />
[[File:Demdrill tutorial dem elements.png|400px]]<br />
<br />
==Cohesive Groups==<br />
This section is unique and it does not exist neither in D-DEMPack nor F-DEMPack. <br />
The user must assign this attribute to any group containing cohesive entities. <br />
Only the particles tagged with this attribute will have cohesive properties and <br />
use a continuum material law. Double click on Cohesive Groups to start adding <br />
adding the different groups in this section. The next picture shows the assignation <br />
in our sample case as a reference.<br />
<br />
[[File:Demdrill tutorial cohesive groups.png|200px]]<br />
<br />
==Boundary Conditions==<br />
This section is in practice identical to that of the D-DEMPack. The most significant <br />
difference is that the inlet cluster elements are deformable and breakable. The <br />
simulation captures at the end of this tutorial show an example of the behavior of <br />
this kind of cluster elements.<br />
<br />
[[File:Demdrill tutorial boundary conditions.png|300px]]<br />
<br />
==General Options==<br />
The structure of this section is the same as in D-DEMPack, but with a much more <br />
extense subsection of Advanced Options. The settings for this simulation are <br />
given in the picture that follows as a reference. A detailed explanation of each <br />
of the fields in this section can be found here [[C-DEMPack2 manual]].<br />
<br />
[[File:Demdrill tutorial general options.png|400px]]<br />
<br />
==Solution Strategy==<br />
This section is identical to that of D-DEMPack, so no further explanation is <br />
needed. A screenshot with the value of the parameters chosen in this example <br />
can be found in the picture that follows.<br />
<br />
[[File:Demdrill tutorial solution strategy.png|300px]]<br />
<br />
==Results==<br />
The structure of this section is the same as in D-DEMPack, but with an additional <br />
subsection on Postprocessing bond-related results and some other parameters linked <br />
to the Poisson ratio and the skin of the materials in the simulation. Check the <br />
[[C-DEMPack2 manual]] for a detailed explanation of every field in this section. The <br />
user is left free to choose the desired set of results to be printed.<br />
<br />
==Materials==<br />
<br />
For this example, the materials of all groups has been already set. The user is <br />
encouraged to play a little bit using different materials and compare the results. <br />
Check the [[C-DEMPack2 manual]] for a reference on the different options available. <br />
The materials used in this example were the following:<br />
<br />
[[File:Demdrill tutorial materials1of2.png|250px]]<br />
[[File:Demdrill tutorial materials2of2.png|250px]]<br />
<br />
==Meshing and Running==<br />
After the user has checked that everything is correctly assigned and the corresponding <br />
cohesive groups have been created, the only thing that is missing is to mesh the geometry. <br />
As said at the beginning of this tutorial, all the meshing details have been previously set <br />
for this problem, so the user must only press Ctr-G, enter a value of 0.4 and hit OK. A <br />
mesh very similar to the one that follows should be obtained:<br />
<br />
[[File:Demdrill tutorial groups and mesh.png|700px]]<br />
<br />
Once obtained a valid mesh and to run the example, press Ctrl-s to save the file and hit <br />
F5 to launch the simulation.<br />
<br />
==Results==<br />
<br />
After some minutes, the simulation should be complete. Shift to Post-Process to load the <br />
results. The next four captures show the resulting simulation at different times. The user <br />
should obtain results very similar to those.<br />
<br />
[[File:Simulation1of4.png|600px]]<br />
[[File:Simulation2of4.png|600px]]<br />
[[File:Simulation3of4.png|600px]]<br />
[[File:Simulation4of4.png|600px]]</div>Salvahttps://kratos-wiki.cimne.upc.edu/index.php/C-DEMPack_Tutorial_1:_Cohesive_DemPack_2.0C-DEMPack Tutorial 1: Cohesive DemPack 2.02017-01-24T16:03:56Z<p>Salva: /* Results */</p>
<hr />
<div>==Introduction==<br />
Before starting with this tutorial, the user is strongly encouraged to follow<br />
the [[D-DEMPack Tutorial 2: DemPack 2.0]] to get a feeling of how the problem<br />
type works, and in particular the DEM section. This tutorial will focus mainly <br />
in the parcularities of the cohesive DEM. The user should start by downloading <br />
the [[File:D DEMPack2 Tutorial 5.gid.zip]] file. This file has already both <br />
created and assgined the groups that will be used in the simulation, as well<br />
as the mesh sizes for all groups.<br />
<br />
==Geometry==<br />
The geometry of study consists of four different continuum-DEM groups as well as<br />
two DEM-FEM rigid entities. The four cohesive groups are composed of an inlet<br />
of deformable cluster elements, a highly cohesive material in the shape of<br />
a sphere, a very little cohesive material in the shape of a paralelepiped<br />
and a membrane-like material. The program is also capable of simulating<br />
cables and solving thermal problems, as will we shown in a upcoming tutorial. <br />
It is also possible to simulate the behaviour of ice, even though this aspect is <br />
still under development. See PAGINAS HIELO to check the capabilities of the <br />
program in that respect.<br />
<br />
[[File:Demdrill tutorial geometry.png|700px]]<br />
[[File:Demdrill tutorial groups.png|700px]]<br />
<br />
==DEM Elements==<br />
As a reference, a screenshot of the characteristics of the elements used in this <br />
simulation will be given. The user is encouraged to modify these settings to <br />
experiment a little bit and get familiar with the program. The assignation was the <br />
following:<br />
<br />
[[File:Demdrill tutorial dem elements.png|400px]]<br />
<br />
==Cohesive Groups==<br />
This section is unique and it does not exist neither in D-DEMPack nor F-DEMPack. <br />
The user must assign this attribute to any group containing cohesive entities. <br />
Only the particles tagged with this attribute will have cohesive properties and <br />
use a continuum material law. Double click on Cohesive Groups to start adding <br />
adding the different groups in this section. The next picture shows the assignation <br />
in our sample case as a reference.<br />
<br />
[[File:Demdrill tutorial cohesive groups.png|200px]]<br />
<br />
==Boundary Conditions==<br />
This section is in practice identical to that of the D-DEMPack. The most significant <br />
difference is that the inlet cluster elements are deformable and breakable. The <br />
simulation captures at the end of this tutorial show an example of the behavior of <br />
this kind of cluster elements.<br />
<br />
[[File:Demdrill tutorial boundary conditions.png|300px]]<br />
<br />
==General Options==<br />
The structure of this section is the same as in D-DEMPack, but with a much more <br />
extense subsection of Advanced Options. The settings for this simulation are <br />
given in the picture that follows as a reference. A detailed explanation of each <br />
of the fields in this section can be found here [[C-DEMPack2 manual]].<br />
<br />
[[File:Demdrill tutorial general options.png|400px]]<br />
<br />
==Solution Strategy==<br />
This section is identical to that of D-DEMPack, so no further explanation is <br />
needed. A screenshot with the value of the parameters chosen in this example <br />
can be found in the picture that follows.<br />
<br />
[[File:Demdrill tutorial solution strategy.png|300px]]<br />
<br />
==Results==<br />
The structure of this section is the same as in D-DEMPack, but with an additional <br />
subsection on Postprocessing bond-related results and some other parameters linked <br />
to the Poisson ratio and the skin of the materials in the simulation. Check the <br />
[[C-DEMPack2 manual]] for a detailed explanation of every field in this section. The <br />
user is left free to choose the desired set of results to be printed.<br />
<br />
==Materials==<br />
<br />
For this example, the materials of all groups has been already set. The user is <br />
encouraged to play a little bit using different materials and compare the results. <br />
Check the [[MANUAL CONTINUO]] for a reference on the different options available. <br />
The materials used in this example were the following:<br />
<br />
[[File:Demdrill tutorial materials1of2.png|250px]]<br />
[[File:Demdrill tutorial materials2of2.png|250px]]<br />
<br />
==Meshing and Running==<br />
After the user has checked that everything is correctly assigned and the corresponding <br />
cohesive groups have been created, the only thing that is missing is to mesh the geometry. <br />
As said at the beginning of this tutorial, all the meshing details have been previously set <br />
for this problem, so the user must only press Ctr-G, enter a value of 0.4 and hit OK. A <br />
mesh very similar to the one that follows should be obtained:<br />
<br />
[[File:Demdrill tutorial groups and mesh.png|700px]]<br />
<br />
Once obtained a valid mesh and to run the example, press Ctrl-s to save the file and hit <br />
F5 to launch the simulation.<br />
<br />
==Results==<br />
<br />
After some minutes, the simulation should be complete. Shift to Post-Process to load the <br />
results. The next four captures show the resulting simulation at different times. The user <br />
should obtain results very similar to those.<br />
<br />
[[File:Simulation1of4.png|600px]]<br />
[[File:Simulation2of4.png|600px]]<br />
[[File:Simulation3of4.png|600px]]<br />
[[File:Simulation4of4.png|600px]]</div>Salvahttps://kratos-wiki.cimne.upc.edu/index.php/C-DEMPack_Tutorial_1:_Cohesive_DemPack_2.0C-DEMPack Tutorial 1: Cohesive DemPack 2.02017-01-24T16:03:40Z<p>Salva: /* General Options */</p>
<hr />
<div>==Introduction==<br />
Before starting with this tutorial, the user is strongly encouraged to follow<br />
the [[D-DEMPack Tutorial 2: DemPack 2.0]] to get a feeling of how the problem<br />
type works, and in particular the DEM section. This tutorial will focus mainly <br />
in the parcularities of the cohesive DEM. The user should start by downloading <br />
the [[File:D DEMPack2 Tutorial 5.gid.zip]] file. This file has already both <br />
created and assgined the groups that will be used in the simulation, as well<br />
as the mesh sizes for all groups.<br />
<br />
==Geometry==<br />
The geometry of study consists of four different continuum-DEM groups as well as<br />
two DEM-FEM rigid entities. The four cohesive groups are composed of an inlet<br />
of deformable cluster elements, a highly cohesive material in the shape of<br />
a sphere, a very little cohesive material in the shape of a paralelepiped<br />
and a membrane-like material. The program is also capable of simulating<br />
cables and solving thermal problems, as will we shown in a upcoming tutorial. <br />
It is also possible to simulate the behaviour of ice, even though this aspect is <br />
still under development. See PAGINAS HIELO to check the capabilities of the <br />
program in that respect.<br />
<br />
[[File:Demdrill tutorial geometry.png|700px]]<br />
[[File:Demdrill tutorial groups.png|700px]]<br />
<br />
==DEM Elements==<br />
As a reference, a screenshot of the characteristics of the elements used in this <br />
simulation will be given. The user is encouraged to modify these settings to <br />
experiment a little bit and get familiar with the program. The assignation was the <br />
following:<br />
<br />
[[File:Demdrill tutorial dem elements.png|400px]]<br />
<br />
==Cohesive Groups==<br />
This section is unique and it does not exist neither in D-DEMPack nor F-DEMPack. <br />
The user must assign this attribute to any group containing cohesive entities. <br />
Only the particles tagged with this attribute will have cohesive properties and <br />
use a continuum material law. Double click on Cohesive Groups to start adding <br />
adding the different groups in this section. The next picture shows the assignation <br />
in our sample case as a reference.<br />
<br />
[[File:Demdrill tutorial cohesive groups.png|200px]]<br />
<br />
==Boundary Conditions==<br />
This section is in practice identical to that of the D-DEMPack. The most significant <br />
difference is that the inlet cluster elements are deformable and breakable. The <br />
simulation captures at the end of this tutorial show an example of the behavior of <br />
this kind of cluster elements.<br />
<br />
[[File:Demdrill tutorial boundary conditions.png|300px]]<br />
<br />
==General Options==<br />
The structure of this section is the same as in D-DEMPack, but with a much more <br />
extense subsection of Advanced Options. The settings for this simulation are <br />
given in the picture that follows as a reference. A detailed explanation of each <br />
of the fields in this section can be found here [[C-DEMPack2 manual]].<br />
<br />
[[File:Demdrill tutorial general options.png|400px]]<br />
<br />
==Solution Strategy==<br />
This section is identical to that of D-DEMPack, so no further explanation is <br />
needed. A screenshot with the value of the parameters chosen in this example <br />
can be found in the picture that follows.<br />
<br />
[[File:Demdrill tutorial solution strategy.png|300px]]<br />
<br />
==Results==<br />
The structure of this section is the same as in D-DEMPack, but with an additional <br />
subsection on Postprocessing bond-related results and some other parameters linked <br />
to the Poisson ratio and the skin of the materials in the simulation. Check the <br />
[[MANUAL CONTINUO]] for a detailed explanation of every field in this section. The <br />
user is left free to choose the desired set of results to be printed.<br />
<br />
==Materials==<br />
<br />
For this example, the materials of all groups has been already set. The user is <br />
encouraged to play a little bit using different materials and compare the results. <br />
Check the [[MANUAL CONTINUO]] for a reference on the different options available. <br />
The materials used in this example were the following:<br />
<br />
[[File:Demdrill tutorial materials1of2.png|250px]]<br />
[[File:Demdrill tutorial materials2of2.png|250px]]<br />
<br />
==Meshing and Running==<br />
After the user has checked that everything is correctly assigned and the corresponding <br />
cohesive groups have been created, the only thing that is missing is to mesh the geometry. <br />
As said at the beginning of this tutorial, all the meshing details have been previously set <br />
for this problem, so the user must only press Ctr-G, enter a value of 0.4 and hit OK. A <br />
mesh very similar to the one that follows should be obtained:<br />
<br />
[[File:Demdrill tutorial groups and mesh.png|700px]]<br />
<br />
Once obtained a valid mesh and to run the example, press Ctrl-s to save the file and hit <br />
F5 to launch the simulation.<br />
<br />
==Results==<br />
<br />
After some minutes, the simulation should be complete. Shift to Post-Process to load the <br />
results. The next four captures show the resulting simulation at different times. The user <br />
should obtain results very similar to those.<br />
<br />
[[File:Simulation1of4.png|600px]]<br />
[[File:Simulation2of4.png|600px]]<br />
[[File:Simulation3of4.png|600px]]<br />
[[File:Simulation4of4.png|600px]]</div>Salvahttps://kratos-wiki.cimne.upc.edu/index.php/C-DEMPack2_manualC-DEMPack2 manual2017-01-24T16:02:12Z<p>Salva: </p>
<hr />
<div>==Model Section==<br />
<br />
<br />
===General Application Data===<br />
<br />
====Domain Options====<br />
This section allows the user to choose between a 2D or 3D simulation.<br />
<br />
===DEM===<br />
The DEM section is very similar to that of the non-cohesive DEMPack. Please, refer to [[D-DEMPack2 manual]] for a full description of the menus in this section. In this manual only the particular characteristics of this problem type will be explained.<br />
<br />
====Cohesive Groups====<br />
This subsection allows the user to integrate one or more GiD groups into a single cohesive group with a particular collective behavior. Any GiD group with no cohesive group assigned will be treated as a discontinuum DEM mass.<br />
<br />
====Advanced Options====<br />
*'''Tangency tolerance''': Choose if you want to set manually the maximum gap between particles at the beginning of the computation (Absolute) or if you prefer an automatic gap that tries to match a certain average Coordination Number.<br />
<br />
*'''Tangency tolerance value''': Choose the maximum admissible gap between two particles to consider them cohesive at the beginning of the computation.<br />
<br />
*'''Accepted gap between neighbours''': If the gap between two spheres is bigger than this value, they are no longer neighbours and the bond between them breaks.<br />
<br />
*'''Maximum allowed amplification ratio of the search radius''': The search radius must be amplified after the first search because particles separate, but a bond still joins them. In order to keep finding all neighbours, search is amplified according the the mechanical resistance, but up to this limit.<br />
<br />
*'''Virtual mass coefficient''': for no mass reduction, set this value to 1.<br />
<br />
*'''Calculate rotations''': If activated, torques and rotations will be calculated on the Discrete Elements. Will increase computation time slightly.<br />
<br />
*'''Rolling friction''': If activated, rolling friction between particles will be considered.<br />
<br />
*'''Compute stress tensor''': If activated, the Stress Tensor will be computed. It will increase computation time and memory consumption.<br />
<br />
*'''Add Poisson Effect''': If active, the Poisson effect will be taken into account.<br />
<br />
*'''Add the effect of shear strains parallel to bonds''':<br />
<br />
*'''Don't search until failure''': When active, the shear strains parallel to bonds will be included in the computations.<br />
<br />
*'''Material Analysis''': Activate this option to show the material test (UCS, BTS) additional options.<br />
<br />
*'''Thermal Analysis''': Changes the default DEM element to Thermal-type elements and shows additional options.<br />
<br />
====Material Test====<br />
When setting the Material Analysis option to Yes, this menu will show up. It allows the user the access to a Material Test Virtual Lab where several kinds of tests are <br />
possible, they are: UCS, Triaxial, Oedometric, Hydrostatic and BTS.<br />
<br />
*'''Test type''': The user must select here any of the five different test previouly listed.<br />
<br />
*'''Load velocity''': The velocity that will be imposed to the presses that will compress the tested specimen.<br />
<br />
*'''Confinement pressure''': This field will show up only when selecting the Triaxial or Hydrostatic tests.<br />
<br />
*'''Mesh type''': The user can choose to use the current mesh in the problem or a predefined mesh that will be loaded from a file.<br />
<br />
*'''Mesh path''': Path to the file when using a Predefined Mesh.<br />
<br />
*'''Specimen length''': Length of the specimen given in meters.<br />
<br />
*'''Specimen diameter''': Diameter of the specimen in meters.<br />
<br />
*'''Top measuring group''': The top press group must be assigned here. The user has also the possibility of printing the forces and/or torques acting in this group.<br />
<br />
*'''Bottom measuring group''': The bottom press group must be assigned here. As before, forces and/or torques can be printed for the group.<br />
<br />
====Thermal results====<br />
When setting the Thermal Analysis option to Yes, this menu will show up. It allows the user to set values of the thermal parameters. This section is currently under <br />
development.<br />
<br />
====Results====<br />
This problem type has some additional results available for printing, they are:<br />
<br />
*'''Skin Spheres''': the contour spheres will be mark with a different color with respect to the rest.<br />
<br />
*'''Poisson Ratio''': the local Poisson Ratio will be printed in a sphere-to-sphere-bond fashion.<br />
<br />
*'''Print Virtual Sea Surface''': This option can be used to print a virtual sea surface as a mesh in PostProcess. When activated, four pairs of coordinates must be entered which will define the quadrilateral surface representing the virtual sea surface. A z=0 sea level is assumed. This option is related to the simulation of ice in the problem type and is still under development.<br />
<br />
When activating the Thermal Analysis, additional thermal post-processing information will be available. Nevertheless, this section is still under development.<br />
<br />
*'''Show bond elements''': When activating this option, the bonds connecting the center of every pair of spheres will be shown in the postprocess. The user has then the option of printing the following variables:<br />
<br />
*'''Contact sigma''': Normal stress between every pair of spheres.<br />
<br />
*'''Contact tau''': Tangential stress between spheres.<br />
<br />
*'''Local contact force''': Local force in the contact point of any two spheres.<br />
<br />
*'''Failure criterion state''': Shows the current failure state or how close is the considered contact to reach complete failure.<br />
<br />
*'''Failure Id''': Labels every contact with its corresponding Failure Type.<br />
<br />
*'''Mean contact area''': Displays the calculation area in every contact.<br />
<br />
<br />
==Materials Section==<br />
<br />
This section is very similar to that of the discontinuous DEM, but with additional fields accounting for several constitutive laws available trying to simulate the behaviour of different cohesive materials, as well as the thermal parameters. Two main classes of constitutive laws exist: the DEMPack and the KDEM. The former is <br />
addressed to study materials following a non-linear elastoplastic behavior including damage, while the latter is specially designed to simulate elastobrittle materials.<br />
The KDEM constitutive law has several derived laws, which are KDEM_Rankine, KDEM_Mohr_Coulomb and KDEM_Fabric. The first one, the base KDEM, is a standard linear-brittle behaviour constitutive law, the second and third simulate the same behavior of the first but by following the particularities of Rankine and Mohr-Coulomb criteria respectivelly, while the last is addressed to study specific materials like membranes or clothes, as well as cables. Both KDEM and DEMPack laws have the following fields in common:<br />
<br />
*'''Rolling Friction''': value for the rolling friction. It may increase computation time slightly.<br />
<br />
*'''Tangential Strength''': Maximum shear strength for the material.<br />
<br />
*'''Normal Tensile Strength''': Maximum tensile strength of the material.<br />
<br />
*'''Internal Friction Angle Coefficient''': value of the static friction coefficient.<br />
<br />
When activating the KDEM Mohr-Coulomb law, two specific fields show up that the user must fill: the associated M-C Cohesion and Friction angle. On the other hand, when choosing the KDEM Fabric law, a Fabric Coefficient must be given. The value of this parameter goes from 0 to 1. It refers to the moment resistance, where 0 means no resistance at all and 1 a maximum resistance, which would be equivalent to the base KDEM.<br />
<br />
Finally, when activating the DEMPack constitutive law, a list of several parameters show up, which are related to the plastic and damage branches of the stress-strain graph. They are the following:<br />
<br />
*'''LCS1''': First stiffness reduction point.<br />
<br />
*'''LCS2''': Second stiffness reduction point.<br />
<br />
*'''LCS3''': Third stiffness reduction point.<br />
<br />
*'''YRC1''': First reduction coefficient.<br />
<br />
*'''YRC2''': Second reduction coefficient.<br />
<br />
*'''YRC3''': Third reduction coefficient.<br />
<br />
*'''Plastic Young Modulus''': Material stiffness in the plastic zone.<br />
<br />
*'''Plastic Yield Stress''': Plastic yield point.<br />
<br />
*'''Damage Deformation Factor''': Energy stored after bond fracture.<br />
<br />
*'''Shear Energy Coefficient''': Energy stored due shear effects.<br />
<br />
Details on the previous parameters are shown in the picture that follows:<br />
<br />
<br />
[[File:Demdrill manual materials theory.png|650px]]<br />
<br />
<br />
This section is completed with two standard thermal parameters for the material: the Thermal Conductivity and the Specific Heat.</div>Salvahttps://kratos-wiki.cimne.upc.edu/index.php/C-DEMPack2_manualC-DEMPack2 manual2017-01-24T15:58:07Z<p>Salva: /* DEM */</p>
<hr />
<div>==Model Section==<br />
<br />
<br />
===General Application Data===<br />
<br />
====Domain Options====<br />
This section allows the user to choose between a 2D or 3D simulation.<br />
<br />
===DEM===<br />
The DEM section is very similar to that of the non-cohesive DEMPack. Please, refer to [[D-DEMPack2 manual]] for a full description of the menus in this section. In this manual only the particular characteristics of this problem type will be explained.<br />
<br />
====Cohesive Groups====<br />
This subsection allows the user to integrate one or more GiD groups into a single cohesive group with a particular collective behavior. Any GiD group with no cohesive group assigned will be treated as a discontinuum DEM mass.<br />
<br />
====Advanced Options====<br />
*'''Tangency tolerance''': Choose if you want to set manually the maximum gap between particles at the beginning of the computation (Absolute) or if you prefer an automatic gap that tries to match a certain average Coordination Number.<br />
<br />
*'''Tangency tolerance value''': Choose the maximum admissible gap between two particles to consider them cohesive at the beginning of the computation.<br />
<br />
*'''Accepted gap between neighbours''': If the gap between two spheres is bigger than this value, they are no longer neighbours and the bond between them breaks.<br />
<br />
*'''Maximum allowed amplification ratio of the search radius''': The search radius must be amplified after the first search because particles separate, but a bond still joins them. In order to keep finding all neighbours, search is amplified according the the mechanical resistance, but up to this limit.<br />
<br />
*'''Virtual mass coefficient''': for no mass reduction, set this value to 1.<br />
<br />
*'''Calculate rotations''': If activated, torques and rotations will be calculated on the Discrete Elements. Will increase computation time slightly.<br />
<br />
*'''Rolling friction''': If activated, rolling friction between particles will be considered.<br />
<br />
*'''Compute stress tensor''': If activated, the Stress Tensor will be computed. It will increase computation time and memory consumption.<br />
<br />
*'''Add Poisson Effect''': If active, the Poisson effect will be taken into account.<br />
<br />
*'''Add the effect of shear strains parallel to bonds''':<br />
<br />
*'''Don't search until failure''': When active, the shear strains parallel to bonds will be included in the computations.<br />
<br />
*'''Material Analysis''': Activate this option to show the material test (UCS, BTS) additional options.<br />
<br />
*'''Thermal Analysis''': Changes the default DEM element to Thermal-type elements and shows additional options.<br />
<br />
====Material Test====<br />
When setting the Material Analysis option to Yes, this menu will show up. It allows the user the access to a Material Test Virtual Lab where several kinds of tests are <br />
possible, they are: UCS, Triaxial, Oedometric, Hydrostatic and BTS.<br />
<br />
*'''Test type''': The user must select here any of the five different test previouly listed.<br />
<br />
*'''Load velocity''': The velocity that will be imposed to the presses that will compress the tested specimen.<br />
<br />
*'''Confinement pressure''': This field will show up only when selecting the Triaxial or Hydrostatic tests.<br />
<br />
*'''Mesh type''': The user can choose to use the current mesh in the problem or a predefined mesh that will be loaded from a file.<br />
<br />
*'''Mesh path''': Path to the file when using a Predefined Mesh.<br />
<br />
*'''Specimen length''': Length of the specimen given in meters.<br />
<br />
*'''Specimen diameter''': Diameter of the specimen in meters.<br />
<br />
*'''Top measuring group''': The top press group must be assigned here. The user has also the possibility of printing the forces and/or torques acting in this group.<br />
<br />
*'''Bottom measuring group''': The bottom press group must be assigned here. As before, forces and/or torques can be printed for the group.<br />
<br />
====Thermal results====<br />
When setting the Thermal Analysis option to Yes, this menu will show up. It allows the user to set values of the thermal parameters. This section is currently under <br />
development.<br />
<br />
====Results====<br />
This problem type has some additional results available for printing, they are:<br />
<br />
*'''Skin Spheres''': the contour spheres will be mark with a different color with respect to the rest.<br />
<br />
*'''Poisson Ratio''': the local Poisson Ratio will be printed in a sphere-to-sphere-bond fashion.<br />
<br />
*'''Print Virtual Sea Surface''': This option can be used to print a virtual sea surface as a mesh in PostProcess. When activated, four pairs of coordinates must be entered which will define the quadrilateral surface representing the virtual sea surface. A z=0 sea level is assumed. This option is related to the simulation of ice in the problem type and is still under development.<br />
<br />
When activating the Thermal Analysis, additional thermal post-processing information will be available. Nevertheless, this section is still under development.<br />
<br />
*'''Show bond elements''': When activating this option, the bonds connecting the center of every pair of spheres will be shown in the postprocess. The user has then the option of printing the following variables:<br />
<br />
*'''Contact sigma''': Normal stress between every pair of spheres.<br />
<br />
*'''Contact tau''': Tangential stress between spheres.<br />
<br />
*'''Local contact force''': Local force in the contact point of any two spheres.<br />
<br />
*'''Failure criterion state''': Shows the current failure state or how close is the considered contact to reach complete failure.<br />
<br />
*'''Failure Id''': Labels every contact with its corresponding Failure Type.<br />
<br />
*'''Mean contact area''': Displays the calculation area in every contact.<br />
<br />
==Materials Section==<br />
<br />
This section is very similar to that of the discontinuous DEM, but with additional fields accounting for several constitutive laws available trying to simulate the behaviour of different cohesive materials, as well as the thermal parameters. Two main classes of constitutive laws exist: the DEMPack and the KDEM. The former is <br />
addressed to study materials following a non-linear elastoplastic behavior including damage, while the latter is specially designed to simulate elastobrittle materials.<br />
The KDEM constitutive law has several derived laws, which are KDEM_Rankine, KDEM_Mohr_Coulomb and KDEM_Fabric. The first one, the base KDEM, is a standard linear-brittle behaviour constitutive law, the second and third simulate the same behavior of the first but by following the particularities of Rankine and Mohr-Coulomb criteria respectivelly, while the last is addressed to study specific materials like membranes or clothes, as well as cables. Both KDEM and DEMPack laws have the following fields in common:<br />
<br />
*'''Rolling Friction''': value for the rolling friction. It may increase computation time slightly.<br />
<br />
*'''Tangential Strength''': Maximum shear strength for the material.<br />
<br />
*'''Normal Tensile Strength''': Maximum tensile strength of the material.<br />
<br />
*'''Internal Friction Angle Coefficient''': value of the static friction coefficient.<br />
<br />
When activating the KDEM Mohr-Coulomb law, two specific fields show up that the user must fill: the associated M-C Cohesion and Friction angle. On the other hand, when choosing the KDEM Fabric law, a Fabric Coefficient must be given. The value of this parameter goes from 0 to 1. It refers to the moment resistance, where 0 means no resistance at all and 1 a maximum resistance, which would be equivalent to the base KDEM.<br />
<br />
Finally, when activating the DEMPack constitutive law, a list of several parameters show up, which are related to the plastic and damage branches of the stress-strain graph. They are the following:<br />
<br />
*'''LCS1''': First stiffness reduction point.<br />
<br />
*'''LCS2''': Second stiffness reduction point.<br />
<br />
*'''LCS3''': Third stiffness reduction point.<br />
<br />
*'''YRC1''': First reduction coefficient.<br />
<br />
*'''YRC2''': Second reduction coefficient.<br />
<br />
*'''YRC3''': Third reduction coefficient.<br />
<br />
*'''Plastic Young Modulus''': Material stiffness in the plastic zone.<br />
<br />
*'''Plastic Yield Stress''': Plastic yield point.<br />
<br />
*'''Damage Deformation Factor''': Energy stored after bond fracture.<br />
<br />
*'''Shear Energy Coefficient''': Energy stored due shear effects.<br />
<br />
Details on the previous parameters are shown in the picture that follows:<br />
<br />
<br />
[[File:Demdrill manual materials theory.png|650px]]<br />
<br />
<br />
This section is completed with two standard thermal parameters for the material: the Thermal Conductivity and the Specific Heat.</div>Salvahttps://kratos-wiki.cimne.upc.edu/index.php/C-DEMPack2_manualC-DEMPack2 manual2017-01-24T15:57:05Z<p>Salva: </p>
<hr />
<div>==Model Section==<br />
<br />
<br />
===General Application Data===<br />
<br />
====Domain Options====<br />
This section allows the user to choose between a 2D or 3D simulation.<br />
<br />
===DEM===<br />
The DEM section is very similar to that of the non-cohesive DEMPack. Please, refer to [[Manual2_whatever]] for a full description of the menus in this section. In this manual only the particular characteristics of this problem type will be explained.<br />
<br />
====Cohesive Groups====<br />
This subsection allows the user to integrate one or more GiD groups into a single cohesive group with a particular collective behavior. Any GiD group with no cohesive group assigned will be treated as a discontinuum DEM mass.<br />
<br />
====Advanced Options====<br />
*'''Tangency tolerance''': Choose if you want to set manually the maximum gap between particles at the beginning of the computation (Absolute) or if you prefer an automatic gap that tries to match a certain average Coordination Number.<br />
<br />
*'''Tangency tolerance value''': Choose the maximum admissible gap between two particles to consider them cohesive at the beginning of the computation.<br />
<br />
*'''Accepted gap between neighbours''': If the gap between two spheres is bigger than this value, they are no longer neighbours and the bond between them breaks.<br />
<br />
*'''Maximum allowed amplification ratio of the search radius''': The search radius must be amplified after the first search because particles separate, but a bond still joins them. In order to keep finding all neighbours, search is amplified according the the mechanical resistance, but up to this limit.<br />
<br />
*'''Virtual mass coefficient''': for no mass reduction, set this value to 1.<br />
<br />
*'''Calculate rotations''': If activated, torques and rotations will be calculated on the Discrete Elements. Will increase computation time slightly.<br />
<br />
*'''Rolling friction''': If activated, rolling friction between particles will be considered.<br />
<br />
*'''Compute stress tensor''': If activated, the Stress Tensor will be computed. It will increase computation time and memory consumption.<br />
<br />
*'''Add Poisson Effect''': If active, the Poisson effect will be taken into account.<br />
<br />
*'''Add the effect of shear strains parallel to bonds''':<br />
<br />
*'''Don't search until failure''': When active, the shear strains parallel to bonds will be included in the computations.<br />
<br />
*'''Material Analysis''': Activate this option to show the material test (UCS, BTS) additional options.<br />
<br />
*'''Thermal Analysis''': Changes the default DEM element to Thermal-type elements and shows additional options.<br />
<br />
====Material Test====<br />
When setting the Material Analysis option to Yes, this menu will show up. It allows the user the access to a Material Test Virtual Lab where several kinds of tests are <br />
possible, they are: UCS, Triaxial, Oedometric, Hydrostatic and BTS.<br />
<br />
*'''Test type''': The user must select here any of the five different test previouly listed.<br />
<br />
*'''Load velocity''': The velocity that will be imposed to the presses that will compress the tested specimen.<br />
<br />
*'''Confinement pressure''': This field will show up only when selecting the Triaxial or Hydrostatic tests.<br />
<br />
*'''Mesh type''': The user can choose to use the current mesh in the problem or a predefined mesh that will be loaded from a file.<br />
<br />
*'''Mesh path''': Path to the file when using a Predefined Mesh.<br />
<br />
*'''Specimen length''': Length of the specimen given in meters.<br />
<br />
*'''Specimen diameter''': Diameter of the specimen in meters.<br />
<br />
*'''Top measuring group''': The top press group must be assigned here. The user has also the possibility of printing the forces and/or torques acting in this group.<br />
<br />
*'''Bottom measuring group''': The bottom press group must be assigned here. As before, forces and/or torques can be printed for the group.<br />
<br />
====Thermal results====<br />
When setting the Thermal Analysis option to Yes, this menu will show up. It allows the user to set values of the thermal parameters. This section is currently under <br />
development.<br />
<br />
====Results====<br />
This problem type has some additional results available for printing, they are:<br />
<br />
*'''Skin Spheres''': the contour spheres will be mark with a different color with respect to the rest.<br />
<br />
*'''Poisson Ratio''': the local Poisson Ratio will be printed in a sphere-to-sphere-bond fashion.<br />
<br />
*'''Print Virtual Sea Surface''': This option can be used to print a virtual sea surface as a mesh in PostProcess. When activated, four pairs of coordinates must be entered which will define the quadrilateral surface representing the virtual sea surface. A z=0 sea level is assumed. This option is related to the simulation of ice in the problem type and is still under development.<br />
<br />
When activating the Thermal Analysis, additional thermal post-processing information will be available. Nevertheless, this section is still under development.<br />
<br />
*'''Show bond elements''': When activating this option, the bonds connecting the center of every pair of spheres will be shown in the postprocess. The user has then the option of printing the following variables:<br />
<br />
*'''Contact sigma''': Normal stress between every pair of spheres.<br />
<br />
*'''Contact tau''': Tangential stress between spheres.<br />
<br />
*'''Local contact force''': Local force in the contact point of any two spheres.<br />
<br />
*'''Failure criterion state''': Shows the current failure state or how close is the considered contact to reach complete failure.<br />
<br />
*'''Failure Id''': Labels every contact with its corresponding Failure Type.<br />
<br />
*'''Mean contact area''': Displays the calculation area in every contact.<br />
<br />
<br />
==Materials Section==<br />
<br />
This section is very similar to that of the discontinuous DEM, but with additional fields accounting for several constitutive laws available trying to simulate the behaviour of different cohesive materials, as well as the thermal parameters. Two main classes of constitutive laws exist: the DEMPack and the KDEM. The former is <br />
addressed to study materials following a non-linear elastoplastic behavior including damage, while the latter is specially designed to simulate elastobrittle materials.<br />
The KDEM constitutive law has several derived laws, which are KDEM_Rankine, KDEM_Mohr_Coulomb and KDEM_Fabric. The first one, the base KDEM, is a standard linear-brittle behaviour constitutive law, the second and third simulate the same behavior of the first but by following the particularities of Rankine and Mohr-Coulomb criteria respectivelly, while the last is addressed to study specific materials like membranes or clothes, as well as cables. Both KDEM and DEMPack laws have the following fields in common:<br />
<br />
*'''Rolling Friction''': value for the rolling friction. It may increase computation time slightly.<br />
<br />
*'''Tangential Strength''': Maximum shear strength for the material.<br />
<br />
*'''Normal Tensile Strength''': Maximum tensile strength of the material.<br />
<br />
*'''Internal Friction Angle Coefficient''': value of the static friction coefficient.<br />
<br />
When activating the KDEM Mohr-Coulomb law, two specific fields show up that the user must fill: the associated M-C Cohesion and Friction angle. On the other hand, when choosing the KDEM Fabric law, a Fabric Coefficient must be given. The value of this parameter goes from 0 to 1. It refers to the moment resistance, where 0 means no resistance at all and 1 a maximum resistance, which would be equivalent to the base KDEM.<br />
<br />
Finally, when activating the DEMPack constitutive law, a list of several parameters show up, which are related to the plastic and damage branches of the stress-strain graph. They are the following:<br />
<br />
*'''LCS1''': First stiffness reduction point.<br />
<br />
*'''LCS2''': Second stiffness reduction point.<br />
<br />
*'''LCS3''': Third stiffness reduction point.<br />
<br />
*'''YRC1''': First reduction coefficient.<br />
<br />
*'''YRC2''': Second reduction coefficient.<br />
<br />
*'''YRC3''': Third reduction coefficient.<br />
<br />
*'''Plastic Young Modulus''': Material stiffness in the plastic zone.<br />
<br />
*'''Plastic Yield Stress''': Plastic yield point.<br />
<br />
*'''Damage Deformation Factor''': Energy stored after bond fracture.<br />
<br />
*'''Shear Energy Coefficient''': Energy stored due shear effects.<br />
<br />
Details on the previous parameters are shown in the picture that follows:<br />
<br />
<br />
[[File:Demdrill manual materials theory.png|650px]]<br />
<br />
<br />
This section is completed with two standard thermal parameters for the material: the Thermal Conductivity and the Specific Heat.</div>Salvahttps://kratos-wiki.cimne.upc.edu/index.php/C-DEMPack2_manualC-DEMPack2 manual2017-01-24T15:53:54Z<p>Salva: </p>
<hr />
<div>==Model Section==<br />
<br />
<br />
===General Application Data===<br />
Domain Options<br />
This section allows the user to choose between a 2D or 3D simulation.<br />
<br />
===DEM===<br />
The DEM section is very similar to that of the non-cohesive DEMPack. Please, refer to [[Manual2_whatever]] for a full description of the menus in this section. In this manual only the particular characteristics of this problem type will be explained.<br />
<br />
====Cohesive Groups====<br />
This subsection allows the user to integrate one or more GiD groups into a single cohesive group with a particular collective behavior. Any GiD group with no cohesive group assigned will be treated as a discontinuum DEM mass.<br />
<br />
====Advanced Options====<br />
*'''Tangency tolerance''': Choose if you want to set manually the maximum gap between particles at the beginning of the computation (Absolute) or if you prefer an automatic gap that tries to match a certain average Coordination Number.<br />
<br />
*'''Tangency tolerance value''': Choose the maximum admissible gap between two particles to consider them cohesive at the beginning of the computation.<br />
<br />
*'''Accepted gap between neighbours''': If the gap between two spheres is bigger than this value, they are no longer neighbours and the bond between them breaks.<br />
<br />
*'''Maximum allowed amplification ratio of the search radius''': The search radius must be amplified after the first search because particles separate, but a bond still joins them. In order to keep finding all neighbours, search is amplified according the the mechanical resistance, but up to this limit.<br />
<br />
*'''Virtual mass coefficient''': for no mass reduction, set this value to 1.<br />
<br />
*'''Calculate rotations''': If activated, torques and rotations will be calculated on the Discrete Elements. Will increase computation time slightly.<br />
<br />
*'''Rolling friction''': If activated, rolling friction between particles will be considered.<br />
<br />
*'''Compute stress tensor''': If activated, the Stress Tensor will be computed. It will increase computation time and memory consumption.<br />
<br />
*'''Add Poisson Effect''': If active, the Poisson effect will be taken into account.<br />
<br />
*'''Add the effect of shear strains parallel to bonds''':<br />
<br />
*'''Don't search until failure''': When active, the shear strains parallel to bonds will be included in the computations.<br />
<br />
*'''Material Analysis''': Activate this option to show the material test (UCS, BTS) additional options.<br />
<br />
*'''Thermal Analysis''': Changes the default DEM element to Thermal-type elements and shows additional options.<br />
<br />
====Material Test====<br />
When setting the Material Analysis option to Yes, this menu will show up. It allows the user the access to a Material Test Virtual Lab where several kinds of tests are <br />
possible, they are: UCS, Triaxial, Oedometric, Hydrostatic and BTS.<br />
<br />
*'''Test type''': The user must select here any of the five different test previouly listed.<br />
<br />
*'''Load velocity''': The velocity that will be imposed to the presses that will compress the tested specimen.<br />
<br />
*'''Confinement pressure''': This field will show up only when selecting the Triaxial or Hydrostatic tests.<br />
<br />
*'''Mesh type''': The user can choose to use the current mesh in the problem or a predefined mesh that will be loaded from a file.<br />
<br />
*'''Mesh path''': Path to the file when using a Predefined Mesh.<br />
<br />
*'''Specimen length''': Length of the specimen given in meters.<br />
<br />
*'''Specimen diameter''': Diameter of the specimen in meters.<br />
<br />
*'''Top measuring group''': The top press group must be assigned here. The user has also the possibility of printing the forces and/or torques acting in this group.<br />
<br />
*'''Bottom measuring group''': The bottom press group must be assigned here. As before, forces and/or torques can be printed for the group.<br />
<br />
====Thermal results====<br />
When setting the Thermal Analysis option to Yes, this menu will show up. It allows the user to set values of the thermal parameters. This section is currently under <br />
development.<br />
<br />
====Results====<br />
This problem type has some additional results available for printing, they are:<br />
<br />
*'''Skin Spheres''': the contour spheres will be mark with a different color with respect to the rest.<br />
<br />
*'''Poisson Ratio''': the local Poisson Ratio will be printed in a sphere-to-sphere-bond fashion.<br />
<br />
*'''Print Virtual Sea Surface''': This option can be used to print a virtual sea surface as a mesh in PostProcess. When activated, four pairs of coordinates must be entered which will define the quadrilateral surface representing the virtual sea surface. A z=0 sea level is assumed. This option is related to the simulation of ice in the problem type and is still under development.<br />
<br />
When activating the Thermal Analysis, additional thermal post-processing information will be available. Nevertheless, this section is still under development.<br />
<br />
*'''Show bond elements''': When activating this option, the bonds connecting the center of every pair of spheres will be shown in the postprocess. The user has then the option of printing the following variables:<br />
<br />
*'''Contact sigma''': Normal stress between every pair of spheres.<br />
<br />
*'''Contact tau''': Tangential stress between spheres.<br />
<br />
*'''Local contact force''': Local force in the contact point of any two spheres.<br />
<br />
*'''Failure criterion state''': Shows the current failure state or how close is the considered contact to reach complete failure.<br />
<br />
*'''Failure Id''': Labels every contact with its corresponding Failure Type.<br />
<br />
*'''Mean contact area''': Displays the calculation area in every contact.<br />
<br />
<br />
==Materials Section==<br />
<br />
This section is very similar to that of the discontinuous DEM, but with additional fields accounting for several constitutive laws available trying to simulate the behaviour of different cohesive materials, as well as the thermal parameters. Two main classes of constitutive laws exist: the DEMPack and the KDEM. The former is <br />
addressed to study materials following a non-linear elastoplastic behavior including damage, while the latter is specially designed to simulate elastobrittle materials.<br />
The KDEM constitutive law has several derived laws, which are KDEM_Rankine, KDEM_Mohr_Coulomb and KDEM_Fabric. The first one, the base KDEM, is a standard linear-brittle behaviour constitutive law, the second and third simulate the same behavior of the first but by following the particularities of Rankine and Mohr-Coulomb criteria respectivelly, while the last is addressed to study specific materials like membranes or clothes, as well as cables. Both KDEM and DEMPack laws have the following fields in common:<br />
<br />
*'''Rolling Friction''': value for the rolling friction. It may increase computation time slightly.<br />
<br />
*'''Tangential Strength''': Maximum shear strength for the material.<br />
<br />
*'''Normal Tensile Strength''': Maximum tensile strength of the material.<br />
<br />
*'''Internal Friction Angle Coefficient''': value of the static friction coefficient.<br />
<br />
When activating the KDEM Mohr-Coulomb law, two specific fields show up that the user must fill: the associated M-C Cohesion and Friction angle. On the other hand, when choosing the KDEM Fabric law, a Fabric Coefficient must be given. The value of this parameter goes from 0 to 1. It refers to the moment resistance, where 0 means no resistance at all and 1 a maximum resistance, which would be equivalent to the base KDEM.<br />
<br />
Finally, when activating the DEMPack constitutive law, a list of several parameters show up, which are related to the plastic and damage branches of the stress-strain graph. They are the following:<br />
<br />
*'''LCS1''': First stiffness reduction point.<br />
<br />
*'''LCS2''': Second stiffness reduction point.<br />
<br />
*'''LCS3''': Third stiffness reduction point.<br />
<br />
*'''YRC1''': First reduction coefficient.<br />
<br />
*'''YRC2''': Second reduction coefficient.<br />
<br />
*'''YRC3''': Third reduction coefficient.<br />
<br />
*'''Plastic Young Modulus''': Material stiffness in the plastic zone.<br />
<br />
*'''Plastic Yield Stress''': Plastic yield point.<br />
<br />
*'''Damage Deformation Factor''': Energy stored after bond fracture.<br />
<br />
*'''Shear Energy Coefficient''': Energy stored due shear effects.<br />
<br />
Details on the previous parameters are shown in the picture that follows:<br />
<br />
[[File:Demdrill manual materials theory.png|650px]]<br />
<br />
This section is completed with two standard thermal parameters for the material: the Thermal Conductivity and the Specific Heat.</div>Salvahttps://kratos-wiki.cimne.upc.edu/index.php/C-DEMPack2_manualC-DEMPack2 manual2017-01-24T15:10:49Z<p>Salva: /* Advanced Options */</p>
<hr />
<div>==Model Section==<br />
<br />
<br />
===General Application Data===<br />
Domain Options<br />
This section allows the user to choose between a 2D or 3D simulation.<br />
<br />
===DEM===<br />
The DEM section is very similar to that of the non-cohesive DEMPack. Please,<br />
refer to [[Manual2_whatever]] for a full description of the menus in this<br />
section. In this manual only the particular characteristics of this problem type<br />
will be explained.<br />
<br />
====Cohesive Groups====<br />
This subsection allows the user to integrate one or more GiD groups into a<br />
single cohesive group with a particular collective behavior. Any GiD group with<br />
no cohesive group assigned will be treated as a discontinuum DEM mass.<br />
<br />
====Advanced Options====<br />
*'''Tangency tolerance''': Choose if you want to set manually the maximum gap between particles at the beginning of the computation (Absolute) or if you prefer an automatic gap that tries to match a certain average Coordination Number.<br />
<br />
*'''Tangency tolerance value''': Choose the maximum admissible gap between two particles to consider them cohesive at the beginning of the computation.<br />
<br />
*'''Accepted gap between neighbours''': If the gap between two spheres is bigger than this value, they are no longer neighbours and the bond between them breaks.<br />
<br />
*'''Maximum allowed amplification ratio of the search radius''': The search radius must be amplified after the first search because particles separate, but a bond still joins them. In order to keep finding all neighbours, search is amplified according the the mechanical resistance, but up to this limit.<br />
<br />
*'''Virtual mass coefficient''': for no mass reduction, set this value to 1.<br />
<br />
*'''Calculate rotations''': If activated, torques and rotations will be calculated on the Discrete Elements. Will increase computation time slightly.<br />
<br />
*'''Rolling friction''': If activated, rolling friction between particles will be considered.<br />
<br />
*'''Compute stress tensor''': If activated, the Stress Tensor will be computed. It will increase computation time and memory consumption.<br />
<br />
*'''Add Poisson Effect''': If active, the Poisson effect will be taken into account.<br />
<br />
*'''Add the effect of shear strains parallel to bonds''':<br />
<br />
*'''Don't search until failure''': When active, the shear strains parallel to bonds will be included in the computations.<br />
<br />
*'''Material Analysis''': Activate this option to show the material test (UCS, BTS) additional options.<br />
<br />
*'''Thermal Analysis''': Changes the default DEM element to Thermal-type elements and shows additional options.<br />
<br />
====Material Test====<br />
When setting the Material Analysis option to Yes, this menu will show up. It allows<br />
the user the access to a Material Test Virtual Lab where several kinds of tests are <br />
possible, they are: UCS, Triaxial, Oedometric, Hydrostatic and BTS.<br />
<br />
*'''Test type''': The user must select here any of the five different test previouly listed.<br />
<br />
*'''Load velocity''': The velocity that will be imposed to the presses that will compress <br />
the tested specimen.<br />
<br />
*'''Confinement pressure''': This field will show up only when selecting the Triaxial or <br />
Hydrostatic tests.<br />
<br />
*'''Mesh type''': The user can choose to use the current mesh in the problem or a predefined <br />
mesh that will be loaded from a file.<br />
<br />
*'''Mesh path''': Path to the file when using a Predefined Mesh.<br />
<br />
*'''Specimen length''': Length of the specimen given in meters.<br />
<br />
*'''Specimen diameter''': Diameter of the specimen in meters.<br />
<br />
*'''Top measuring group''': The top press group must be assigned here. The user has also the<br />
possibility of printing the forces and/or torques acting in this group.<br />
<br />
*'''Bottom measuring group''': The bottom press group must be assigned here. As before, forces <br />
and/or torques can be printed for the group.<br />
<br />
====Thermal results====<br />
When setting the Thermal Analysis option to Yes, this menu will show up. It allows<br />
the user to set values of the thermal parameters. This section is currently under <br />
development.<br />
<br />
====Results====<br />
This problem type has some additional results available for printing, they are:<br />
<br />
*'''Skin Spheres''': the contour spheres will be mark with a different color with respect to <br />
the rest.<br />
<br />
*'''Poisson Ratio''': the local Poisson Ratio will be printed in a sphere-to-sphere-bond <br />
fashion.<br />
<br />
*'''Print Virtual Sea Surface''': This option can be used to print a virtual sea surface as <br />
a mesh in PostProcess. When activated, four pairs of coordinates must be entered which <br />
will define the quadrilateral surface representing the virtual sea surface. A z=0 sea <br />
level is assumed. This option is related to the simulation of ice in the problem type <br />
and is still under development.<br />
<br />
When activating the Thermal Analysis, additional thermal post-processing information <br />
will be available. Nevertheless, this section is still under development.<br />
<br />
*'''Show bond elements''': When activating this option, the bonds connecting the center of <br />
every pair of spheres will be shown in the postprocess. The user has then the option <br />
of printing the following variables:<br />
<br />
*'''Contact sigma''': Normal stress between every pair of spheres.<br />
<br />
*'''Contact tau''': Tangential stress between spheres.<br />
<br />
*'''Local contact force''': Local force in the contact point of any two spheres.<br />
<br />
*'''Failure criterion state''': Shows the current failure state or how close is the considered <br />
contact to reach complete failure.<br />
<br />
*'''Failure Id''': Labels every contact with its corresponding Failure Type.<br />
<br />
*'''Mean contact area''': Displays the calculation area in every contact.<br />
<br />
<br />
==Materials Section==<br />
<br />
This section is very similar to that of the discontinuous DEM, but with additional fields <br />
accounting for several constitutive laws available trying to simulate the behaviour of <br />
different cohesive materials, as well as the thermal parameters.<br />
Two main classes of constitutive laws exist: the DEMPack and the KDEM. The former is <br />
addressed to study materials following a non-linear elastoplastic behavior including damage, <br />
while the latter is specially designed to simulate elastobrittle materials.<br />
The KDEM constitutive law has several derived laws, which are KDEM_Rankine, KDEM_Mohr_Coulomb <br />
and KDEM_Fabric. The first one, the base KDEM, is a standard linear-brittle behaviour <br />
constitutive law, the second and third simulate the same behavior of the first but by <br />
following the particularities of Rankine and Mohr-Coulomb criteria respectivelly, while the <br />
last is addressed to study specific materials like membranes or clothes, as well as cables.<br />
Both KDEM and DEMPack laws have the following fields in common:<br />
<br />
*'''Rolling Friction''': value for the rolling friction. It may increase computation time slightly.<br />
<br />
*'''Tangential Strength''': Maximum shear strength for the material.<br />
<br />
*'''Normal Tensile Strength''': Maximum tensile strength of the material.<br />
<br />
*'''Internal Friction Angle Coefficient''': value of the static friction coefficient.<br />
<br />
When activating the KDEM Mohr-Coulomb law, two specific fields show up that the user must <br />
fill: the associated M-C Cohesion and Friction angle. On the other hand, when choosing the KDEM <br />
Fabric law, a Fabric Coefficient must be given. The value of this parameter goes from 0 to 1. <br />
It refers to the moment resistance, where 0 means no resistance at all and 1 a maximum resistance, <br />
which would be equivalent to the base KDEM.<br />
<br />
Finally, when activating the DEMPack constitutive law, a list of several parameters show up, <br />
which are related to the plastic and damage branches of the stress-strain graph. They are the <br />
following:<br />
<br />
*'''LCS1''': First stiffness reduction point.<br />
<br />
*'''LCS2''': Second stiffness reduction point.<br />
<br />
*'''LCS3''': Third stiffness reduction point.<br />
<br />
*'''YRC1''': First reduction coefficient.<br />
<br />
*'''YRC2''': Second reduction coefficient.<br />
<br />
*'''YRC3''': Third reduction coefficient.<br />
<br />
*'''Plastic Young Modulus''': Material stiffness in the plastic zone.<br />
<br />
*'''Plastic Yield Stress''': Plastic yield point.<br />
<br />
*'''Damage Deformation Factor''': Energy stored after bond fracture.<br />
<br />
*'''Shear Energy Coefficient''': Energy stored due shear effects.<br />
<br />
Details on the previous parameters are shown in the picture that follows:<br />
<br />
[[File:Demdrill manual materials theory.png|650px]]<br />
<br />
This section is completed with two standard thermal parameters for the material: the Thermal <br />
Conductivity and the Specific Heat.</div>Salvahttps://kratos-wiki.cimne.upc.edu/index.php/C-DEMPack2_manualC-DEMPack2 manual2017-01-24T15:09:17Z<p>Salva: /* Materials Section */</p>
<hr />
<div>==Model Section==<br />
<br />
<br />
===General Application Data===<br />
Domain Options<br />
This section allows the user to choose between a 2D or 3D simulation.<br />
<br />
===DEM===<br />
The DEM section is very similar to that of the non-cohesive DEMPack. Please,<br />
refer to [[Manual2_whatever]] for a full description of the menus in this<br />
section. In this manual only the particular characteristics of this problem type<br />
will be explained.<br />
<br />
====Cohesive Groups====<br />
This subsection allows the user to integrate one or more GiD groups into a<br />
single cohesive group with a particular collective behavior. Any GiD group with<br />
no cohesive group assigned will be treated as a discontinuum DEM mass.<br />
<br />
====Advanced Options====<br />
*'''Tangency tolerance''': Choose if you want to set manually the maximum gap between <br />
particles at the beginning of the computation (Absolute) or if you prefer an <br />
automatic gap that tries to match a certain average Coordination Number.<br />
<br />
*'''Tangency tolerance value''': Choose the maximum admissible gap between two particles <br />
to consider them cohesive at the beginning of the computation.<br />
<br />
*'''Accepted gap between neighbours''': If the gap between two spheres is bigger than <br />
this value, they are no longer neighbours and the bond between them breaks.<br />
<br />
*'''Maximum allowed amplification ratio of the search radius''': The search radius must <br />
be amplified after the first search because particles separate, but a bond still <br />
joins them. In order to keep finding all neighbours, search is amplified according <br />
the the mechanical resistance, but up to this limit.<br />
<br />
*'''Virtual mass coefficient''': for no mass reduction, set this value to 1.<br />
<br />
*'''Calculate rotations''': If activated, torques and rotations will be calculated on the <br />
Discrete Elements. Will increase computation time slightly.<br />
<br />
*'''Rolling friction''': If activated, rolling friction between particles will be <br />
considered.<br />
<br />
*'''Compute stress tensor''': If activated, the Stress Tensor will be computed. It will <br />
increase computation time and memory consumption.<br />
<br />
*'''Add Poisson Effect''': If active, the Poisson effect will be taken into account.<br />
<br />
*'''Add the effect of shear strains parallel to bonds''':<br />
<br />
*'''Don't search until failure''': When active, the shear strains parallel to bonds will <br />
be included in the computations.<br />
<br />
*'''Material Analysis''': Activate this option to show the material test (UCS, BTS) <br />
additional options.<br />
<br />
*'''Thermal Analysis''': Changes the default DEM element to Thermal-type elements and <br />
shows additional options.<br />
<br />
====Material Test====<br />
When setting the Material Analysis option to Yes, this menu will show up. It allows<br />
the user the access to a Material Test Virtual Lab where several kinds of tests are <br />
possible, they are: UCS, Triaxial, Oedometric, Hydrostatic and BTS.<br />
<br />
*'''Test type''': The user must select here any of the five different test previouly listed.<br />
<br />
*'''Load velocity''': The velocity that will be imposed to the presses that will compress <br />
the tested specimen.<br />
<br />
*'''Confinement pressure''': This field will show up only when selecting the Triaxial or <br />
Hydrostatic tests.<br />
<br />
*'''Mesh type''': The user can choose to use the current mesh in the problem or a predefined <br />
mesh that will be loaded from a file.<br />
<br />
*'''Mesh path''': Path to the file when using a Predefined Mesh.<br />
<br />
*'''Specimen length''': Length of the specimen given in meters.<br />
<br />
*'''Specimen diameter''': Diameter of the specimen in meters.<br />
<br />
*'''Top measuring group''': The top press group must be assigned here. The user has also the<br />
possibility of printing the forces and/or torques acting in this group.<br />
<br />
*'''Bottom measuring group''': The bottom press group must be assigned here. As before, forces <br />
and/or torques can be printed for the group.<br />
<br />
====Thermal results====<br />
When setting the Thermal Analysis option to Yes, this menu will show up. It allows<br />
the user to set values of the thermal parameters. This section is currently under <br />
development.<br />
<br />
====Results====<br />
This problem type has some additional results available for printing, they are:<br />
<br />
*'''Skin Spheres''': the contour spheres will be mark with a different color with respect to <br />
the rest.<br />
<br />
*'''Poisson Ratio''': the local Poisson Ratio will be printed in a sphere-to-sphere-bond <br />
fashion.<br />
<br />
*'''Print Virtual Sea Surface''': This option can be used to print a virtual sea surface as <br />
a mesh in PostProcess. When activated, four pairs of coordinates must be entered which <br />
will define the quadrilateral surface representing the virtual sea surface. A z=0 sea <br />
level is assumed. This option is related to the simulation of ice in the problem type <br />
and is still under development.<br />
<br />
When activating the Thermal Analysis, additional thermal post-processing information <br />
will be available. Nevertheless, this section is still under development.<br />
<br />
*'''Show bond elements''': When activating this option, the bonds connecting the center of <br />
every pair of spheres will be shown in the postprocess. The user has then the option <br />
of printing the following variables:<br />
<br />
*'''Contact sigma''': Normal stress between every pair of spheres.<br />
<br />
*'''Contact tau''': Tangential stress between spheres.<br />
<br />
*'''Local contact force''': Local force in the contact point of any two spheres.<br />
<br />
*'''Failure criterion state''': Shows the current failure state or how close is the considered <br />
contact to reach complete failure.<br />
<br />
*'''Failure Id''': Labels every contact with its corresponding Failure Type.<br />
<br />
*'''Mean contact area''': Displays the calculation area in every contact.<br />
<br />
<br />
==Materials Section==<br />
<br />
This section is very similar to that of the discontinuous DEM, but with additional fields <br />
accounting for several constitutive laws available trying to simulate the behaviour of <br />
different cohesive materials, as well as the thermal parameters.<br />
Two main classes of constitutive laws exist: the DEMPack and the KDEM. The former is <br />
addressed to study materials following a non-linear elastoplastic behavior including damage, <br />
while the latter is specially designed to simulate elastobrittle materials.<br />
The KDEM constitutive law has several derived laws, which are KDEM_Rankine, KDEM_Mohr_Coulomb <br />
and KDEM_Fabric. The first one, the base KDEM, is a standard linear-brittle behaviour <br />
constitutive law, the second and third simulate the same behavior of the first but by <br />
following the particularities of Rankine and Mohr-Coulomb criteria respectivelly, while the <br />
last is addressed to study specific materials like membranes or clothes, as well as cables.<br />
Both KDEM and DEMPack laws have the following fields in common:<br />
<br />
*'''Rolling Friction''': value for the rolling friction. It may increase computation time slightly.<br />
<br />
*'''Tangential Strength''': Maximum shear strength for the material.<br />
<br />
*'''Normal Tensile Strength''': Maximum tensile strength of the material.<br />
<br />
*'''Internal Friction Angle Coefficient''': value of the static friction coefficient.<br />
<br />
When activating the KDEM Mohr-Coulomb law, two specific fields show up that the user must <br />
fill: the associated M-C Cohesion and Friction angle. On the other hand, when choosing the KDEM <br />
Fabric law, a Fabric Coefficient must be given. The value of this parameter goes from 0 to 1. <br />
It refers to the moment resistance, where 0 means no resistance at all and 1 a maximum resistance, <br />
which would be equivalent to the base KDEM.<br />
<br />
Finally, when activating the DEMPack constitutive law, a list of several parameters show up, <br />
which are related to the plastic and damage branches of the stress-strain graph. They are the <br />
following:<br />
<br />
*'''LCS1''': First stiffness reduction point.<br />
<br />
*'''LCS2''': Second stiffness reduction point.<br />
<br />
*'''LCS3''': Third stiffness reduction point.<br />
<br />
*'''YRC1''': First reduction coefficient.<br />
<br />
*'''YRC2''': Second reduction coefficient.<br />
<br />
*'''YRC3''': Third reduction coefficient.<br />
<br />
*'''Plastic Young Modulus''': Material stiffness in the plastic zone.<br />
<br />
*'''Plastic Yield Stress''': Plastic yield point.<br />
<br />
*'''Damage Deformation Factor''': Energy stored after bond fracture.<br />
<br />
*'''Shear Energy Coefficient''': Energy stored due shear effects.<br />
<br />
Details on the previous parameters are shown in the picture that follows:<br />
<br />
[[File:Demdrill manual materials theory.png|650px]]<br />
<br />
This section is completed with two standard thermal parameters for the material: the Thermal <br />
Conductivity and the Specific Heat.</div>Salvahttps://kratos-wiki.cimne.upc.edu/index.php/File:Demdrill_manual_materials_theory.pngFile:Demdrill manual materials theory.png2017-01-24T15:07:38Z<p>Salva: </p>
<hr />
<div></div>Salvahttps://kratos-wiki.cimne.upc.edu/index.php/C-DEMPack2_manualC-DEMPack2 manual2017-01-24T15:05:31Z<p>Salva: </p>
<hr />
<div>==Model Section==<br />
<br />
<br />
===General Application Data===<br />
Domain Options<br />
This section allows the user to choose between a 2D or 3D simulation.<br />
<br />
===DEM===<br />
The DEM section is very similar to that of the non-cohesive DEMPack. Please,<br />
refer to [[Manual2_whatever]] for a full description of the menus in this<br />
section. In this manual only the particular characteristics of this problem type<br />
will be explained.<br />
<br />
====Cohesive Groups====<br />
This subsection allows the user to integrate one or more GiD groups into a<br />
single cohesive group with a particular collective behavior. Any GiD group with<br />
no cohesive group assigned will be treated as a discontinuum DEM mass.<br />
<br />
====Advanced Options====<br />
*'''Tangency tolerance''': Choose if you want to set manually the maximum gap between <br />
particles at the beginning of the computation (Absolute) or if you prefer an <br />
automatic gap that tries to match a certain average Coordination Number.<br />
<br />
*'''Tangency tolerance value''': Choose the maximum admissible gap between two particles <br />
to consider them cohesive at the beginning of the computation.<br />
<br />
*'''Accepted gap between neighbours''': If the gap between two spheres is bigger than <br />
this value, they are no longer neighbours and the bond between them breaks.<br />
<br />
*'''Maximum allowed amplification ratio of the search radius''': The search radius must <br />
be amplified after the first search because particles separate, but a bond still <br />
joins them. In order to keep finding all neighbours, search is amplified according <br />
the the mechanical resistance, but up to this limit.<br />
<br />
*'''Virtual mass coefficient''': for no mass reduction, set this value to 1.<br />
<br />
*'''Calculate rotations''': If activated, torques and rotations will be calculated on the <br />
Discrete Elements. Will increase computation time slightly.<br />
<br />
*'''Rolling friction''': If activated, rolling friction between particles will be <br />
considered.<br />
<br />
*'''Compute stress tensor''': If activated, the Stress Tensor will be computed. It will <br />
increase computation time and memory consumption.<br />
<br />
*'''Add Poisson Effect''': If active, the Poisson effect will be taken into account.<br />
<br />
*'''Add the effect of shear strains parallel to bonds''':<br />
<br />
*'''Don't search until failure''': When active, the shear strains parallel to bonds will <br />
be included in the computations.<br />
<br />
*'''Material Analysis''': Activate this option to show the material test (UCS, BTS) <br />
additional options.<br />
<br />
*'''Thermal Analysis''': Changes the default DEM element to Thermal-type elements and <br />
shows additional options.<br />
<br />
====Material Test====<br />
When setting the Material Analysis option to Yes, this menu will show up. It allows<br />
the user the access to a Material Test Virtual Lab where several kinds of tests are <br />
possible, they are: UCS, Triaxial, Oedometric, Hydrostatic and BTS.<br />
<br />
*'''Test type''': The user must select here any of the five different test previouly listed.<br />
<br />
*'''Load velocity''': The velocity that will be imposed to the presses that will compress <br />
the tested specimen.<br />
<br />
*'''Confinement pressure''': This field will show up only when selecting the Triaxial or <br />
Hydrostatic tests.<br />
<br />
*'''Mesh type''': The user can choose to use the current mesh in the problem or a predefined <br />
mesh that will be loaded from a file.<br />
<br />
*'''Mesh path''': Path to the file when using a Predefined Mesh.<br />
<br />
*'''Specimen length''': Length of the specimen given in meters.<br />
<br />
*'''Specimen diameter''': Diameter of the specimen in meters.<br />
<br />
*'''Top measuring group''': The top press group must be assigned here. The user has also the<br />
possibility of printing the forces and/or torques acting in this group.<br />
<br />
*'''Bottom measuring group''': The bottom press group must be assigned here. As before, forces <br />
and/or torques can be printed for the group.<br />
<br />
====Thermal results====<br />
When setting the Thermal Analysis option to Yes, this menu will show up. It allows<br />
the user to set values of the thermal parameters. This section is currently under <br />
development.<br />
<br />
====Results====<br />
This problem type has some additional results available for printing, they are:<br />
<br />
*'''Skin Spheres''': the contour spheres will be mark with a different color with respect to <br />
the rest.<br />
<br />
*'''Poisson Ratio''': the local Poisson Ratio will be printed in a sphere-to-sphere-bond <br />
fashion.<br />
<br />
*'''Print Virtual Sea Surface''': This option can be used to print a virtual sea surface as <br />
a mesh in PostProcess. When activated, four pairs of coordinates must be entered which <br />
will define the quadrilateral surface representing the virtual sea surface. A z=0 sea <br />
level is assumed. This option is related to the simulation of ice in the problem type <br />
and is still under development.<br />
<br />
When activating the Thermal Analysis, additional thermal post-processing information <br />
will be available. Nevertheless, this section is still under development.<br />
<br />
*'''Show bond elements''': When activating this option, the bonds connecting the center of <br />
every pair of spheres will be shown in the postprocess. The user has then the option <br />
of printing the following variables:<br />
<br />
*'''Contact sigma''': Normal stress between every pair of spheres.<br />
<br />
*'''Contact tau''': Tangential stress between spheres.<br />
<br />
*'''Local contact force''': Local force in the contact point of any two spheres.<br />
<br />
*'''Failure criterion state''': Shows the current failure state or how close is the considered <br />
contact to reach complete failure.<br />
<br />
*'''Failure Id''': Labels every contact with its corresponding Failure Type.<br />
<br />
*'''Mean contact area''': Displays the calculation area in every contact.<br />
<br />
<br />
==Materials Section==<br />
<br />
This section is very similar to that of the discontinuous DEM, but with additional fields <br />
accounting for several constitutive laws available trying to simulate the behaviour of <br />
different cohesive materials, as well as the thermal parameters.<br />
Two main classes of constitutive laws exist: the DEMPack and the KDEM. The former is <br />
addressed to study materials following a non-linear elastoplastic behavior including damage, <br />
while the latter is specially designed to simulate elastobrittle materials.<br />
The KDEM constitutive law has several derived laws, which are KDEM_Rankine, KDEM_Mohr_Coulomb <br />
and KDEM_Fabric. The first one, the base KDEM, is a standard linear-brittle behaviour <br />
constitutive law, the second and third simulate the same behavior of the first but by <br />
following the particularities of Rankine and Mohr-Coulomb criteria respectivelly, while the <br />
last is addressed to study specific materials like membranes or clothes, as well as cables.<br />
Both KDEM and DEMPack laws have the following fields in common:<br />
<br />
*'''Rolling Friction''': value for the rolling friction. It may increase computation time slightly.<br />
<br />
*'''Tangential Strength''': Maximum shear strength for the material.<br />
<br />
*'''Normal Tensile Strength''': Maximum tensile strength of the material.<br />
<br />
*'''Internal Friction Angle Coefficient''': value of the static friction coefficient.<br />
<br />
When activating the KDEM Mohr-Coulomb law, two specific fields show up that the user must <br />
fill: the associated M-C Cohesion and Friction angle. On the other hand, when choosing the KDEM <br />
Fabric law, a Fabric Coefficient must be given. The value of this parameter goes from 0 to 1. <br />
It refers to the moment resistance, where 0 means no resistance at all and 1 a maximum resistance, <br />
which would be equivalent to the base KDEM.<br />
<br />
Finally, when activating the DEMPack constitutive law, a list of several parameters show up, <br />
which are related to the plastic and damage branches of the stress-strain graph. They are the <br />
following:<br />
<br />
*'''LCS1''': First stiffness reduction point.<br />
<br />
*'''LCS2''': Second stiffness reduction point.<br />
<br />
*'''LCS3''': Third stiffness reduction point.<br />
<br />
*'''YRC1''': First reduction coefficient.<br />
<br />
*'''YRC2''': Second reduction coefficient.<br />
<br />
*'''YRC3''': Third reduction coefficient.<br />
<br />
*'''Plastic Young Modulus''': Material stiffness in the plastic zone.<br />
<br />
*'''Plastic Yield Stress''': Plastic yield point.<br />
<br />
*'''Damage Deformation Factor''': Energy stored after bond fracture.<br />
<br />
*'''Shear Energy Coefficient''': Energy stored due shear effects.<br />
<br />
Details on the previous parameters are shown in the picture that follows:<br />
<br />
FOTO MATERIALS_THEORY<br />
<br />
This section is completed with two standard thermal parameters for the material: the Thermal <br />
Conductivity and the Specific Heat.</div>Salva