ESPResSo
Extensible Simulation Package for Research on Soft Matter Systems
Loading...
Searching...
No Matches
steepest_descent.cpp File Reference
#include "integrators/steepest_descent.hpp"
#include "Particle.hpp"
#include "ParticleRange.hpp"
#include "cell_system/CellStructure.hpp"
#include "communication.hpp"
#include "config/config.hpp"
#include "rotation.hpp"
#include "system/System.hpp"
#include <utils/Vector.hpp>
#include <utils/math/sqr.hpp>
#include <boost/mpi/collectives/all_reduce.hpp>
#include <boost/mpi/operations.hpp>
#include <algorithm>
#include <cmath>
#include <limits>
#include <stdexcept>
+ Include dependency graph for steepest_descent.cpp:

Go to the source code of this file.

Functions

bool steepest_descent_step (const ParticleRange &particles)
 Steepest descent integrator.
 
void register_integrator (SteepestDescentParameters const &obj)
 

Variables

static SteepestDescentParameters params {0., 0., 0.}
 Currently active steepest descent instance.
 

Function Documentation

◆ register_integrator()

◆ steepest_descent_step()

bool steepest_descent_step ( const ParticleRange particles)

Steepest descent integrator.

Returns
whether the maximum force/torque encountered is below the user limit f_max.

Definition at line 46 of file steepest_descent.cpp.

References System::System::cell_structure, comm_cart, dq, f, SteepestDescentParameters::f_max, SteepestDescentParameters::gamma, System::get_system(), local_rotate_particle(), SteepestDescentParameters::max_displacement, params, Cells::RESORT_LOCAL, and Utils::sqr().

Referenced by integrator_step_1().

Variable Documentation

◆ params

SteepestDescentParameters params {0., 0., 0.}
static

Currently active steepest descent instance.

Definition at line 44 of file steepest_descent.cpp.

Referenced by ScriptInterface::AutoParameters< Derived, Base >::add_parameters(), assign_charge_kernel(), assign_charges(), assign_forces(), assign_forces_kernel(), ScriptInterface::AutoParameters< Derived, Base >::AutoParameters(), P3MLocalMesh::calc_local_ca_mesh(), ScriptInterface::ObjectHandle::call_method(), ScriptInterface::ObjectHandle::construct(), ScriptInterface::Interactions::FeneBond::construct_bond(), ScriptInterface::Interactions::HarmonicBond::construct_bond(), ScriptInterface::Interactions::QuarticBond::construct_bond(), ScriptInterface::Interactions::BondedCoulomb::construct_bond(), ScriptInterface::Interactions::BondedCoulombSR::construct_bond(), ScriptInterface::Interactions::AngleHarmonicBond::construct_bond(), ScriptInterface::Interactions::AngleCosineBond::construct_bond(), ScriptInterface::Interactions::AngleCossquareBond::construct_bond(), ScriptInterface::Interactions::DihedralBond::construct_bond(), ScriptInterface::Interactions::TabulatedDistanceBond::construct_bond(), ScriptInterface::Interactions::TabulatedAngleBond::construct_bond(), ScriptInterface::Interactions::TabulatedDihedralBond::construct_bond(), ScriptInterface::Interactions::ThermalizedBond::construct_bond(), ScriptInterface::Interactions::RigidBond::construct_bond(), ScriptInterface::Interactions::IBMTriel::construct_bond(), ScriptInterface::Interactions::IBMVolCons::construct_bond(), ScriptInterface::Interactions::IBMTribend::construct_bond(), ScriptInterface::Interactions::OifGlobalForcesBond::construct_bond(), ScriptInterface::Interactions::OifLocalForcesBond::construct_bond(), ScriptInterface::ObjectHandle::deserialize(), ScriptInterface::CollisionDetection::CollisionDetection::do_call_method(), ScriptInterface::Interactions::NonBondedInteractions::do_call_method(), ScriptInterface::walberla::LatticeModel< Method, VTKHandle >::do_call_method(), ScriptInterface::CellSystem::CellSystem::do_call_method(), ScriptInterface::Coulomb::CoulombScafacos::do_call_method(), ScriptInterface::Galilei::Galilei::do_call_method(), ScriptInterface::Integrators::Integrator::do_call_method(), ScriptInterface::Interactions::BondedInteraction::do_call_method(), ScriptInterface::Interactions::IBMVolCons::do_call_method(), ScriptInterface::Interactions::BondedInteractions::do_call_method(), ScriptInterface::Interactions::InteractionPotentialInterface< CoreIA >::do_call_method(), ScriptInterface::Interactions::InteractionWCA::do_call_method(), ScriptInterface::Interactions::InteractionLJcos2::do_call_method(), ScriptInterface::Interactions::InteractionTabulated::do_call_method(), ScriptInterface::LeesEdwards::LeesEdwards::do_call_method(), ScriptInterface::Dipoles::DipolarScafacos::do_call_method(), ScriptInterface::Particles::ParticleHandle::do_call_method(), ScriptInterface::Particles::ParticleList::do_call_method(), ScriptInterface::Particles::ParticleSlice::do_call_method(), ScriptInterface::ReactionMethods::ReactionAlgorithm::do_call_method(), ScriptInterface::ReactionMethods::WidomInsertion::do_call_method(), ScriptInterface::Shapes::Shape::do_call_method(), ScriptInterface::System::SystemFacade::do_call_method(), ScriptInterface::Thermostat::Interface< CoreClass >::do_call_method(), ScriptInterface::Thermostat::Thermostat::do_call_method(), ScriptInterface::walberla::EKSpeciesNode::do_call_method(), ScriptInterface::walberla::EKSpeciesSlice::do_call_method(), ScriptInterface::walberla::LBFluid::do_call_method(), ScriptInterface::walberla::LBFluidNode::do_call_method(), ScriptInterface::walberla::LBFluidSlice::do_call_method(), ScriptInterface::ObjectHandle::do_construct(), ScriptInterface::Interactions::InteractionPotentialInterface< CoreIA >::do_construct(), ScriptInterface::Accumulators::MeanVarianceCalculator::do_construct(), ScriptInterface::Accumulators::TimeSeries::do_construct(), ScriptInterface::CellSystem::CellSystem::do_construct(), ScriptInterface::Coulomb::Container::do_construct(), ScriptInterface::Coulomb::CoulombMMM1D::do_construct(), ScriptInterface::Coulomb::CoulombMMM1DGpu::do_construct(), ScriptInterface::Coulomb::CoulombP3M::do_construct(), ScriptInterface::Coulomb::CoulombP3MGPU::do_construct(), ScriptInterface::Coulomb::CoulombScafacos::do_construct(), ScriptInterface::Coulomb::DebyeHueckel::do_construct(), ScriptInterface::Coulomb::ElectrostaticLayerCorrection::do_construct(), ScriptInterface::Coulomb::ICCStar::do_construct(), ScriptInterface::Coulomb::ReactionField::do_construct(), ScriptInterface::Galilei::ComFixed::do_construct(), ScriptInterface::Writer::H5md::do_construct(), ScriptInterface::Integrators::IntegratorHandle::do_construct(), ScriptInterface::Integrators::SteepestDescent::do_construct(), ScriptInterface::Integrators::StokesianDynamics::do_construct(), ScriptInterface::Integrators::VelocityVerletIsoNPT::do_construct(), ScriptInterface::Interactions::BondedInteraction::do_construct(), ScriptInterface::Interactions::NonBondedInteractionHandle::do_construct(), ScriptInterface::LeesEdwards::LeesEdwards::do_construct(), ScriptInterface::Dipoles::Container::do_construct(), ScriptInterface::Dipoles::DipolarBarnesHutGpu::do_construct(), ScriptInterface::Dipoles::DipolarDirectSum::do_construct(), ScriptInterface::Dipoles::DipolarDirectSumGpu::do_construct(), ScriptInterface::Dipoles::DipolarLayerCorrection::do_construct(), ScriptInterface::Dipoles::DipolarP3M::do_construct(), ScriptInterface::Dipoles::DipolarScafacos::do_construct(), ScriptInterface::Math::CylindricalTransformationParameters::do_construct(), ScriptInterface::ObjectList< ManagedType, BaseType >::do_construct(), ScriptInterface::ObjectMap< ManagedType, BaseType, KeyType >::do_construct(), ScriptInterface::Observables::CylindricalLBProfileObservable< CoreCylLBObs >::do_construct(), ScriptInterface::Observables::CylindricalPidProfileObservable< CoreObs >::do_construct(), ScriptInterface::Observables::LBProfileObservable< CoreLBObs >::do_construct(), ScriptInterface::Observables::PidObservable< CorePidObs >::do_construct(), ScriptInterface::Observables::PidProfileObservable< CoreObs >::do_construct(), ScriptInterface::Observables::RDF::do_construct(), ScriptInterface::Particles::ParticleHandle::do_construct(), ScriptInterface::Particles::ParticleSlice::do_construct(), ScriptInterface::ReactionMethods::ConstantpHEnsemble::do_construct(), ScriptInterface::ReactionMethods::ReactionEnsemble::do_construct(), ScriptInterface::ReactionMethods::SingleReaction::do_construct(), ScriptInterface::ReactionMethods::WidomInsertion::do_construct(), ScriptInterface::Shapes::HollowConicalFrustum::do_construct(), ScriptInterface::System::System::do_construct(), ScriptInterface::Thermostat::Interface< CoreClass >::do_construct(), ScriptInterface::Thermostat::Thermostat::do_construct(), ScriptInterface::walberla::EKContainer::do_construct(), ScriptInterface::walberla::EKSpecies::do_construct(), ScriptInterface::walberla::EKSpeciesNode::do_construct(), ScriptInterface::walberla::EKSpeciesSlice::do_construct(), ScriptInterface::walberla::LBFluid::do_construct(), ScriptInterface::walberla::LBFluidNode::do_construct(), ScriptInterface::walberla::LBFluidSlice::do_construct(), ScriptInterface::walberla::VTKHandleBase< Field >::do_construct(), dpd_pair_force(), ScriptInterface::Thermostat::Interface< CoreClass >::extend_parameters(), ScriptInterface::Thermostat::Langevin::extend_parameters(), ScriptInterface::Thermostat::Brownian::extend_parameters(), ScriptInterface::Thermostat::Interface< CoreClass >::extract_kT(), ScriptInterface::Thermostat::LBThermostat::extract_kT(), G_opt_dipolar(), G_opt_dipolar_self_energy(), ScriptInterface::Thermostat::Interface< CoreClass >::get_member_handle(), grid_influence_function(), grid_influence_function(), grid_influence_function_self_energy(), ScriptInterface::Integrators::Integrator::integrate(), ScriptInterface::Integrators::SteepestDescent::integrate(), ScriptInterface::Thermostat::Interface< CoreClass >::invalid_rng_state(), ScriptInterface::Thermostat::LBThermostat::invalid_rng_state(), ScriptInterface::walberla::EKSpecies::make_instance(), ScriptInterface::walberla::LBFluidCPU::make_instance(), ScriptInterface::walberla::LBFluidGPU::make_instance(), ScriptInterface::Interactions::InteractionWCA::make_new_instance(), ScriptInterface::Interactions::InteractionLJ::make_new_instance(), ScriptInterface::Interactions::InteractionLJGen::make_new_instance(), ScriptInterface::Interactions::InteractionLJcos::make_new_instance(), ScriptInterface::Interactions::InteractionLJcos2::make_new_instance(), ScriptInterface::Interactions::InteractionHertzian::make_new_instance(), ScriptInterface::Interactions::InteractionGaussian::make_new_instance(), ScriptInterface::Interactions::InteractionBMHTF::make_new_instance(), ScriptInterface::Interactions::InteractionMorse::make_new_instance(), ScriptInterface::Interactions::InteractionBuckingham::make_new_instance(), ScriptInterface::Interactions::InteractionSoftSphere::make_new_instance(), ScriptInterface::Interactions::InteractionHat::make_new_instance(), ScriptInterface::Interactions::InteractionGayBerne::make_new_instance(), ScriptInterface::Interactions::InteractionTabulated::make_new_instance(), ScriptInterface::Interactions::InteractionDPD::make_new_instance(), ScriptInterface::Interactions::InteractionThole::make_new_instance(), ScriptInterface::Interactions::InteractionSmoothStep::make_new_instance(), ScriptInterface::CellSystem::CellSystem::on_bind_system(), ScriptInterface::Coulomb::Container::on_bind_system(), ScriptInterface::Integrators::IntegratorHandle::on_bind_system(), ScriptInterface::LeesEdwards::LeesEdwards::on_bind_system(), ScriptInterface::Dipoles::Container::on_bind_system(), ScriptInterface::Thermostat::Thermostat::on_bind_system(), P3MLocalMesh::recalc_ld_pos(), register_integrator(), ScriptInterface::walberla::LatticeSlice< FieldSerializer >::scatter_3d(), ScriptInterface::ObjectHandle::serialize(), ScriptInterface::ObjectHandle::serialize_parameters(), ScriptInterface::AutoParameters< Derived, Base >::serialize_parameters(), ScriptInterface::Coulomb::Actor< SIClass, CoreClass >::set_charge_neutrality_tolerance(), ScriptInterface::Particles::ParticleList::set_internal_state(), ScriptInterface::Thermostat::Thermostat::setup_thermostat(), steepest_descent_step(), ScriptInterface::Thermostat::Interface< CoreClass >::update_and_bind(), and ScafacosContext< ScafacosInterface >::update_system_params().