Skip to content

Commit 81e21fd

Browse files
authored
Remove gear3 integrator (chaos-polymtl#1221)
Description The Gear3 integrator was not used anywhere in the code in any example or in any tests. This integrator never gave good performance and was actually not tested for years. I believe it is now time to fully delete it. I want to work on adding new integrators this year and this will require some more unification. I want to start by cleaning things before adding new things. Testing There were actually no test for gear3... Documentation I adapted the documentation but the gear3 integrator was never mentioned in the documentation. Former-commit-id: c32cbf7
1 parent f833b76 commit 81e21fd

File tree

8 files changed

+12
-253
lines changed

8 files changed

+12
-253
lines changed

CHANGELOG.md

+6
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,12 @@
33
All notable changes to the Lethe project will be documented in this file.
44
The format is based on [Keep a Changelog](http://keepachangelog.com/).
55

6+
## [Master] - 2024-08-05
7+
8+
### Removed
9+
10+
- MINOR Removed the gear3 DEM integrator. It was never used, it did not possess any unit test and it was not even clear if it still worked. [#1221](https://github.com/chaos-polymtl/lethe/pull/1211)
11+
612
## [Master] - 2024-08-01
713

814
### Added

include/core/parameters_lagrangian.h

+1-2
Original file line numberDiff line numberDiff line change
@@ -297,8 +297,7 @@ namespace Parameters
297297
enum class IntegrationMethod
298298
{
299299
velocity_verlet,
300-
explicit_euler,
301-
gear3
300+
explicit_euler
302301
} integration_method;
303302

304303
// Disable particle contacts to optimize performance

include/dem/gear3_integrator.h

-125
This file was deleted.

source/core/parameters_lagrangian.cc

+5-8
Original file line numberDiff line numberDiff line change
@@ -699,12 +699,11 @@ namespace Parameters
699699
"Choosing rolling resistance torque model"
700700
"Choices are <no_resistance|constant_resistance|viscous_resistance>.");
701701

702-
prm.declare_entry(
703-
"integration method",
704-
"velocity_verlet",
705-
Patterns::Selection("velocity_verlet|explicit_euler|gear3"),
706-
"Choosing integration method"
707-
"Choices are <velocity_verlet|explicit_euler|gear3>.");
702+
prm.declare_entry("integration method",
703+
"velocity_verlet",
704+
Patterns::Selection("velocity_verlet|explicit_euler"),
705+
"Choosing integration method"
706+
"Choices are <velocity_verlet|explicit_euler>.");
708707

709708
prm.enter_subsection("adaptive sparse contacts");
710709
{
@@ -912,8 +911,6 @@ namespace Parameters
912911
integration_method = IntegrationMethod::velocity_verlet;
913912
else if (integration == "explicit_euler")
914913
integration_method = IntegrationMethod::explicit_euler;
915-
else if (integration == "gear3")
916-
integration_method = IntegrationMethod::gear3;
917914
else
918915
{
919916
throw(std::runtime_error("Invalid integration method "));

source/dem/CMakeLists.txt

-2
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,6 @@ add_library(lethe-dem
1212
find_cell_neighbors.cc
1313
find_contact_detection_step.cc
1414
force_chains_visualization.cc
15-
gear3_integrator.cc
1615
grid_motion.cc
1716
input_parameter_inspection.cc
1817
insertion.cc
@@ -63,7 +62,6 @@ add_library(lethe-dem
6362
../../include/dem/find_cell_neighbors.h
6463
../../include/dem/find_contact_detection_step.h
6564
../../include/dem/force_chains_visualization.h
66-
../../include/dem/gear3_integrator.h
6765
../../include/dem/grid_motion.h
6866
../../include/dem/input_parameter_inspection.h
6967
../../include/dem/insertion.h

source/dem/dem.cc

-3
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@
66
#include <dem/distributions.h>
77
#include <dem/explicit_euler_integrator.h>
88
#include <dem/find_contact_detection_step.h>
9-
#include <dem/gear3_integrator.h>
109
#include <dem/input_parameter_inspection.h>
1110
#include <dem/insertion_file.h>
1211
#include <dem/insertion_list.h>
@@ -314,8 +313,6 @@ DEMSolver<dim>::set_integrator_type()
314313
return std::make_shared<VelocityVerletIntegrator<dim>>();
315314
case ModelParameters::IntegrationMethod::explicit_euler:
316315
return std::make_shared<ExplicitEulerIntegrator<dim>>();
317-
case ModelParameters::IntegrationMethod::gear3:
318-
return std::make_shared<Gear3Integrator<dim>>();
319316
default:
320317
throw(std::runtime_error("Invalid integration method."));
321318
}

source/dem/gear3_integrator.cc

-110
This file was deleted.

source/fem-dem/cfd_dem_coupling.cc

-3
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22
#include <core/solutions_output.h>
33

44
#include <dem/explicit_euler_integrator.h>
5-
#include <dem/gear3_integrator.h>
65
#include <dem/post_processing.h>
76
#include <dem/set_particle_particle_contact_force_model.h>
87
#include <dem/set_particle_wall_contact_force_model.h>
@@ -200,8 +199,6 @@ CFDDEMSolver<dim>::set_integrator_type()
200199
return std::make_shared<VelocityVerletIntegrator<dim>>();
201200
case ModelParameters::IntegrationMethod::explicit_euler:
202201
return std::make_shared<ExplicitEulerIntegrator<dim>>();
203-
case ModelParameters::IntegrationMethod::gear3:
204-
return std::make_shared<Gear3Integrator<dim>>();
205202
default:
206203
throw(std::runtime_error("Invalid integration method."));
207204
}

0 commit comments

Comments
 (0)