![]() |
ESPResSo 3.2.0-11-g9950804-git
Extensible Simulation Package for Soft Matter Research
|
Implementation of energy.h. More...
#include "energy.h"#include "cells.h"#include "integrate.h"#include "initialize.h"#include "domain_decomposition.h"#include "nsquare.h"#include "layered.h"#include "elc.h"#include "magnetic_non_p3m_methods.h"#include "mdlc_correction.h"
Go to the source code of this file.
Functions | |
| void | calc_long_range_energies () |
| Calculate long range energies (P3M, MMM2d...). | |
| void | energy_calc (double *result) |
| parallel energy calculation. | |
| void | init_energies (Observable_stat *stat) |
| allocate energy arrays and initialize with zero | |
| void | master_energy_calc () |
| on the master node: calc energies only if necessary | |
Variables | |
| Observable_stat | energy = {0, {NULL,0,0}, 0,0,0} |
| Observable_stat | total_energy = {0, {NULL,0,0}, 0,0,0} |
| void calc_long_range_energies | ( | ) |
Calculate long range energies (P3M, MMM2d...).
Definition at line 83 of file energy.c.
References add_mdlc_energy_corrections(), Observable_stat::coulomb, coulomb, COULOMB_ELC_P3M, COULOMB_MAGGS, COULOMB_MMM2D, COULOMB_P3M, dawaanr_calculations(), ELC_struct::dielectric_contrast_on, Observable_stat::dipolar, DIPOLAR_ALL_WITH_ALL_AND_NO_REPLICA, DIPOLAR_DS, DIPOLAR_MDLC_DS, DIPOLAR_MDLC_P3M, DIPOLAR_P3M, Coulomb_parameters::Dmethod, dp3m_calc_kspace_forces(), dp3m_dipole_assign(), ELC_energy(), ELC_p3m_charge_assign_both(), ELC_p3m_charge_assign_image(), ELC_P3M_dielectric_layers_energy_self(), ELC_P3M_modify_p3m_sums_both(), ELC_P3M_modify_p3m_sums_image(), elc_params, maggs_electric_energy(), magnetic_dipolar_direct_sum_calculations(), Coulomb_parameters::method, MMM2D_dielectric_layers_energy_contribution(), MMM2D_far_energy(), p3m_calc_kspace_forces(), and p3m_charge_assign().
Referenced by energy_calc().
| void energy_calc | ( | double * | result | ) |
parallel energy calculation.
| result | non-zero only on master node; will contain the cumulative over all nodes. |
Definition at line 47 of file energy.c.
References build_verlet_lists(), calc_long_range_energies(), calculate_link_cell_energies(), calculate_verlet_energies(), cell_structure, CELL_STRUCTURE_DOMDEC, CELL_STRUCTURE_LAYERED, CELL_STRUCTURE_NSQUARE, check_obs_calc_initialized(), comm_cart, Observable_stat::data, dd, DoubleList::e, init_energies(), layered_calculate_energies(), MPI_DOUBLE, MPI_Reduce(), MPI_SUM, DoubleList::n, nsq_calculate_energies(), on_observable_calc(), rebuild_verletlist, time_step, CellStructure::type, and DomainDecomposition::use_vList.
Referenced by mpi_gather_stats(), and mpi_gather_stats_slave().
| void init_energies | ( | Observable_stat * | stat | ) |
allocate energy arrays and initialize with zero
Definition at line 160 of file energy.c.
References coulomb, COULOMB_ELC_P3M, COULOMB_NONE, COULOMB_P3M, DIPOLAR_ALL_WITH_ALL_AND_NO_REPLICA, DIPOLAR_DS, DIPOLAR_MDLC_DS, DIPOLAR_MDLC_P3M, DIPOLAR_NONE, DIPOLAR_P3M, Coulomb_parameters::Dmethod, Observable_stat::init_status, Coulomb_parameters::method, n_bonded_ia, n_particle_types, and obsstat_realloc_and_clear().
Referenced by energy_calc(), hamiltonian_calc(), and tclcommand_analyze_parse_and_print_energy().
| void master_energy_calc | ( | ) |
on the master node: calc energies only if necessary
Definition at line 201 of file energy.c.
References Observable_stat::data, DoubleList::e, Observable_stat::init_status, and mpi_gather_stats().
Referenced by hamiltonian_calc(), and tclcommand_analyze_parse_and_print_energy().
| Observable_stat energy = {0, {NULL,0,0}, 0,0,0} |
Definition at line 35 of file energy.c.
Referenced by add_constraints_energy(), fene_pair_energy(), get_DLC_dipolar(), get_DLC_energy_dipolar(), and subt_lj_pair_energy().
| Observable_stat total_energy = {0, {NULL,0,0}, 0,0,0} |
Definition at line 36 of file energy.c.
Referenced by hamiltonian_calc(), invalidate_obs(), tclcommand_analyze_parse_and_print_energy(), and tclcommand_analyze_print_all().
1.7.5.1