ESPResSo 3.2.0-167-g2c9ead1-git
Extensible Simulation Package for Soft Matter Research
Data Structures | Defines
utils.h File Reference

Small functions that are useful not only for one modul. More...

#include <math.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "config.h"
#include "debug.h"
#include "errorhandling.h"
Include dependency graph for utils.h:

Go to the source code of this file.

Data Structures

struct  IntList
 Integer list. More...
struct  DoubleList
 Double list. More...

Defines

#define PMASS(pt)   (pt).p.mass
 macro for easy use of mass.
#define AS_a1   0.254829592
#define AS_a2   -0.284496736
#define AS_a3   1.421413741
#define AS_a4   -1.453152027
#define AS_a5   1.061405429
#define AS_p   0.3275911
#define epsi   0.1
#define c2   -0.1666666666667e-0
#define c4   0.8333333333333e-2
#define c6   -0.1984126984127e-3
#define c8   0.2755731922399e-5
Mathematical, physical and chemical constants.
#define PI   3.14159265358979323846264338328
 Pi.
#define wupi   1.77245385090551602729816748334
 Square root of Pi.
#define wupii   0.56418958354775627928034964498
 One over square root of Pi.
#define driwu2   1.25992104989487316476721060728
 Pi to the power 1/3.
#define ES_OK   0
 error code if no error occured
#define ES_ERROR   1
 error code if an error occured
#define ES_INTEGER_SPACE   24
 space necessary for an (64-bit) integer with sprintf.
#define ES_DOUBLE_SPACE   27
 space necessary for an double with sprintf.

Functions

Mathematical functions.
MDINLINE double dmax (double a, double b)
 Calculates the maximum of 'double'-typed a and b, returning 'double'.
MDINLINE double dmin (double a, double b)
 Calculates the minimum of 'double'-typed a and b, returning 'double'.
MDINLINE int imax (int a, int b)
 Calculates the maximum of 'int'-typed a and b, returning 'int'.
MDINLINE int imin (int a, int b)
 Calculates the minimum of 'int'-typed a and b, returning 'int'.
MDINLINE double drem_down (double a, double b)
 Calculates the remainder of a division.
MDINLINE void vector_subt (double res[3], double a[3], double b[3])
 vector difference
MDINLINE void sort_int_array (int *data, int size)
 Very slow sort routine for small integer arrays.
MDINLINE void permute_ifield (int *field, int size, int permute)
 permute an interger array field of size size about permute positions.
MDINLINE double dround (double x)
 Mathematically rounds 'double'-typed x, returning 'double'.
MDINLINE double SQR (double x)
 Calculates the SQuaRe of 'double' x, returning 'double'.
MDINLINE double AS_erfc_part (double d)
 approximates $ \exp(d^2) \mathrm{erfc}(d)$ by applying a formula from: Abramowitz/Stegun: Handbook of Mathematical Functions, Dover (9.
MDINLINE double sinc (double d)
 Calculates the sinc-function as sin(PI*x)/(PI*x).
MDINLINE int calc_factors (int n, int *factors, int max)
 factorizes small numbers up to a maximum of max factors.
Vector and matrix operations for three dimensons.
MDINLINE void vecsub (double v1[3], double v2[3], double dv[3])
 Subtracts vector v2 from vector v1 and stores resuld in vector dv.
MDINLINE double normr (double v[3])
 calculates the length of a vector
MDINLINE double sqrlen (double v[3])
 calculates the squared length of a vector
MDINLINE void unit_vector (double v[3], double y[3])
 calculates unit vector
MDINLINE double scalar (double a[3], double b[3])
 calculates the scalar product of two vectors a nd b
MDINLINE void vector_product (double a[3], double b[3], double c[3])
 calculates the vector product c of two vectors a and b
MDINLINE void vec_rotate (double *axis, double alpha, double *vector, double *result)
 rotates vector around axis by alpha
MDINLINE int calc_eigenvalues_3x3 (double *q, double *eva)
 Calc eigevalues of a 3x3 matrix stored in q as a 9x1 array.
MDINLINE int calc_eigenvector_3x3 (double *a, double eva, double *eve)
 Calc eigevectors of a 3x3 matrix stored in a as a 9x1 array.
Linear algebra functions
MDINLINE int lu_decompose_matrix (double **A, int n, int *perms)
 Calculate the LU decomposition of a matrix A.
MDINLINE void lu_solve_system (double **A, int n, int *perms, double *b)
 Solve the linear equation system for a LU decomposed matrix A.
Three dimensional grid operations
MDINLINE int get_linear_index (int a, int b, int c, int adim[3])
 get the linear index from the position (a,b,c) in a 3D grid of dimensions adim[].
MDINLINE void get_grid_pos (int i, int *a, int *b, int *c, int adim[3])
 get the position a[] from the linear index in a 3D grid of dimensions adim[].
MDINLINE int malloc_3d_grid (double ****grid, int dim[3])
 Malloc a 3d grid for doubles with dimension dim[3] .
MDINLINE void print_block (double *data, int start[3], int size[3], int dim[3], int element, int num)
 print a block of a 3D array.
Distance calculations.
MDINLINE double distance (double pos1[3], double pos2[3])
 returns the distance between two position.
MDINLINE double distance2 (double pos1[3], double pos2[3])
 returns the distance between two positions squared.
MDINLINE double distance2vec (double pos1[3], double pos2[3], double vec[3])
 Returns the distance between two positions squared and stores the distance vector pos1-pos2 in vec.
MDINLINE double unfolded_distance (double pos1[3], int image_box1[3], double pos2[3], int image_box2[3], double box_l[3])
 returns the distance between the unfolded coordintes of two particles.
String helper functions
MDINLINE char * strcat_alloc (char *left, char *right)
 extend a string with another one.
Object-in-fluid functions
MDINLINE double area_triangle_new (double *P1, double *P2)
 Computes the area of triangle between vectors P1 and P2, by computing the crossproduct P1 x P2 and taking the half of its norm.
MDINLINE double area_triangle (double *P1, double *P2, double *P3)
 Computes the area of triangle between vectors P1,P2,P3, by computing the crossproduct P1P2 x P1P3 and taking the half of its norm.
MDINLINE void get_n_triangle (double *p1, double *p2, double *p3, double *n)
 Computes the normal vector to the plane given by points P1P2P3.
MDINLINE double angle_btw_triangles (double *P1, double *P2, double *P3, double *P4)
 This function returns the angle btw the triangle p1,p2,p3 and p2,p3,p4.

List operations .

int this_node
 The number of this node.
MDINLINE void init_intlist (IntList *il)
 Initialize an IntList.
MDINLINE void alloc_intlist (IntList *il, int size)
 Allocate an IntList of size size.
MDINLINE void realloc_intlist (IntList *il, int size)
 Reallocate an IntList.
MDINLINE void alloc_grained_intlist (IntList *il, int size, int grain)
 Allocate an IntList, but only to multiples of grain.
MDINLINE void realloc_grained_intlist (IntList *il, int size, int grain)
 Reallocate an IntList, but only to multiples of grain.
MDINLINE int intlist_contains (IntList *il, int c)
 Check wether an IntList contains the value c.
MDINLINE void init_doublelist (DoubleList *il)
 Initialize an DoubleList.
MDINLINE void alloc_doublelist (DoubleList *dl, int size)
 Allocate an DoubleList of size size.
MDINLINE void realloc_doublelist (DoubleList *dl, int size)
 Reallocate an DoubleList.
MDINLINE void alloc_grained_doublelist (DoubleList *dl, int size, int grain)
 Allocate an DoubleList, but only to multiples of grain.
MDINLINE void realloc_grained_doublelist (DoubleList *dl, int size, int grain)
 Reallocate an DoubleList, but only to multiples of grain.

Detailed Description

Small functions that are useful not only for one modul.

just some nice utilities... and some constants...

Definition in file utils.h.


Define Documentation

#define AS_a1   0.254829592

Referenced by AS_erfc_part().

#define AS_a2   -0.284496736

Referenced by AS_erfc_part().

#define AS_a3   1.421413741

Referenced by AS_erfc_part().

#define AS_a4   -1.453152027

Referenced by AS_erfc_part().

#define AS_a5   1.061405429

Referenced by AS_erfc_part().

#define AS_p   0.3275911

Referenced by AS_erfc_part().

#define c2   -0.1666666666667e-0

Referenced by sinc().

#define c4   0.8333333333333e-2

Referenced by sinc().

#define c6   -0.1984126984127e-3

Referenced by sinc().

#define c8   0.2755731922399e-5

Referenced by sinc().

#define driwu2   1.25992104989487316476721060728

Pi to the power 1/3.

Definition at line 49 of file utils.h.

Referenced by lj_cos_set_params().

#define epsi   0.1

Referenced by sinc().

#define ES_DOUBLE_SPACE   27
#define ES_ERROR   1

error code if an error occured

Definition at line 54 of file utils.h.

Referenced by add_particle_to_list(), analyze_activate(), analyze_fold_molecules(), angle_cosine_set_params(), angle_cossquare_set_params(), angle_harmonic_set_params(), angle_set_params(), angledist_set_params(), area_force_global_set_params(), area_force_local_set_params(), bending_force_set_params(), BMHTF_set_params(), buckingham_set_params(), change_exclusion(), change_particle_bond(), coulomb_set_bjerrum(), counterionsC(), crosslinkC(), cuda_check_gpu(), cuda_set_device(), dawaanr_set_params(), delete_particle_of_type(), diamondC(), dihedral_set_params(), dipolar_set_Dbjerrum(), dp3m_adaptive_tune(), dp3m_set_mesh_offset(), dp3m_set_ninterpol(), ELC_init(), ELC_set_params(), ELC_tune(), endangledist_set_params(), fene_set_params(), find_particle_type(), find_particle_type_id(), gaussian_set_params(), gay_berne_set_params(), gc_status(), get_lipid_orients(), get_particle_data(), harmonic_set_params(), hat_set_params(), hertzian_set_params(), icosaederC(), init_gc(), init_type_array(), inter_dpd_set_params(), interrf_set_params(), lb_lbfluid_load_checkpoint(), lb_lbfluid_save_checkpoint(), lb_lbnode_set_extforce_GPU(), lbboundary_get_force(), lbnode_parse_set(), lennard_jones_set_params(), lipid_orientation(), lj_cos_set_params(), ljangle_set_params(), ljcos2_set_params(), ljgen_set_params(), maxwell_velocitiesC(), mdds_set_params(), mdlc_set_params(), mdlc_tune(), mmm1d_tune(), MMM2D_set_params(), molcut_set_params(), morse_set_params(), mpi_gather_runtime_errors(), orient_order(), p3m_adaptive_tune(), p3m_set_mesh_offset(), p3m_set_ninterpol(), part_parse_gc(), polymerC(), reallocate_global_type_list(), reallocate_type_array(), remove_particle(), rigid_bond_set_params(), saltC(), set_molecule_trap(), set_particle_dip(), set_particle_dipm(), set_particle_ext_force(), set_particle_ext_torque(), set_particle_f(), set_particle_fix(), set_particle_gamma(), set_particle_mass(), set_particle_mol_id(), set_particle_mu_E(), set_particle_omega_body(), set_particle_omega_lab(), set_particle_q(), set_particle_quat(), set_particle_rotation(), set_particle_rotational_inertia(), set_particle_solvation(), set_particle_temperature(), set_particle_torque_body(), set_particle_torque_lab(), set_particle_type(), set_particle_v(), set_particle_virtual(), set_particle_vs_relative(), smooth_step_set_params(), soft_sphere_set_params(), stretching_force_set_params(), subt_lj_set_params(), tclcommand_cuda(), tclcommand_inter_coulomb_parse_p3m_tune(), tclcommand_inter_magnetic_parse_dp3m_tune_params(), tclcommand_inter_parse_BMHTF(), tclcommand_inter_parse_buckingham(), tclcommand_inter_parse_gaussian(), tclcommand_inter_parse_gb(), tclcommand_inter_parse_hat(), tclcommand_inter_parse_hertzian(), tclcommand_inter_parse_inter_dpd(), tclcommand_inter_parse_interrf(), tclcommand_inter_parse_lj(), tclcommand_inter_parse_ljcos(), tclcommand_inter_parse_ljcos2(), tclcommand_inter_parse_ljgen(), tclcommand_inter_parse_molcut(), tclcommand_inter_parse_morse(), tclcommand_inter_parse_SmSt(), tclcommand_inter_parse_soft(), tclcommand_inter_parse_tunable_slip(), tclcommand_lbnode_extforce_gpu(), try_delete_bond(), tunable_slip_set_params(), update_particle_array(), velocitiesC(), virtual_set_params(), volume_force_set_params(), and vs_relate_to().

#define ES_INTEGER_SPACE   24
#define ES_OK   0

error code if no error occured

Definition at line 52 of file utils.h.

Referenced by add_particle_to_list(), analyze_fold_molecules(), angle_cosine_set_params(), angle_cossquare_set_params(), angle_harmonic_set_params(), angle_set_params(), angledist_set_params(), area_force_global_set_params(), area_force_local_set_params(), bending_force_set_params(), BMHTF_set_params(), buckingham_set_params(), calc_radial_density_map(), change_exclusion(), comfixed_set_params(), coulomb_set_bjerrum(), cuda_check_gpu(), cuda_set_device(), dawaanr_set_params(), delete_particle_of_type(), dihedral_set_params(), dipolar_set_Dbjerrum(), dp3m_adaptive_tune(), dp3m_set_eps(), dp3m_set_mesh_offset(), dp3m_set_ninterpol(), ELC_set_params(), ELC_tune(), endangledist_set_params(), fene_set_params(), find_particle_type(), find_particle_type_id(), forcecap_set_params(), free_particle_lists(), gather_runtime_errors(), gaussian_set_params(), gay_berne_set_params(), gc_status(), get_particle_data(), gpu_init_particle_comm(), harmonic_set_params(), hat_set_params(), hertzian_set_params(), init_gc(), init_type_array(), inter_dpd_set_params(), interrf_set_params(), lb_lbfluid_load_checkpoint(), lb_lbfluid_save_checkpoint(), lb_lbnode_set_extforce_GPU(), lbnode_parse_set(), lennard_jones_set_params(), list_gpus(), lj_cos_set_params(), ljangle_set_params(), ljcos2_set_params(), ljforcecap_set_params(), ljgen_set_params(), local_change_bond(), maggs_set_parameters(), mdds_set_params(), mdlc_set_params(), mdlc_tune(), mmm1d_tune(), MMM2D_set_params(), molcut_set_params(), morse_set_params(), mpi_gather_runtime_errors(), nemd_free(), number_of_particles_with_type(), orient_order(), p3m_adaptive_tune(), p3m_set_eps(), p3m_set_mesh_offset(), p3m_set_ninterpol(), reallocate_global_type_list(), reallocate_type_array(), remove_id_type_array(), remove_particle(), rigid_bond_set_params(), set_molecule_trap(), set_particle_dip(), set_particle_dipm(), set_particle_ext_force(), set_particle_ext_torque(), set_particle_f(), set_particle_fix(), set_particle_gamma(), set_particle_mass(), set_particle_mol_id(), set_particle_mu_E(), set_particle_omega_body(), set_particle_omega_lab(), set_particle_q(), set_particle_quat(), set_particle_rotation(), set_particle_rotational_inertia(), set_particle_solvation(), set_particle_temperature(), set_particle_torque_body(), set_particle_torque_lab(), set_particle_type(), set_particle_v(), set_particle_virtual(), set_particle_vs_relative(), smooth_step_set_params(), soft_sphere_set_params(), stretching_force_set_params(), subt_lj_set_params(), tabulated_bonded_set_params(), tclcommand_cuda(), tclcommand_inter_coulomb_parse_maggs(), tclcommand_inter_coulomb_parse_mmm1d(), tclcommand_inter_magnetic_parse_dawaanr(), tclcommand_inter_magnetic_parse_mdds(), tf_set_params(), try_delete_bond(), tunable_slip_set_params(), update_particle_array(), virtual_set_params(), volume_force_set_params(), and vs_relate_to().

#define PI   3.14159265358979323846264338328

Pi.

Definition at line 43 of file utils.h.

Referenced by adress_wf(), Aliasing_sums_ik(), analyze_rdfchain(), apply_diff_op(), build_verlet_lists(), build_verlet_lists_and_calc_verlet_ia(), build_verlet_lists_and_calc_verlet_ia_iccp3m(), calc_angledist_param(), calc_cell_gpb(), calc_dihedral_angle(), calc_dihedral_force(), calc_endangledist_pair_force(), calc_radial_density_map(), calc_rdf(), calc_rdf_adress(), calc_rdf_av(), calc_rdf_intermol_av(), calc_structurefactor(), calc_wallrdfyz(), calculate_influence_function(), convert_quatu_to_quat(), dp3m_average_dipolar_self_energy(), dp3m_calc_kspace_forces(), dp3m_compute_constants_energy_dipolar(), dp3m_k_space_error(), dp3m_perform_aliasing_sums_energy(), dp3m_perform_aliasing_sums_force(), dp3m_tune_aliasing_sums(), endangledist_pair_energy(), lj_cos_set_params(), maxwell_velocitiesC(), mdlc_tune(), observable_radial_density_profile(), observable_radial_flux_density_profile(), observable_structure_factor(), p3m_analytic_cotangent_sum(), p3m_calc_influence_function_energy(), p3m_calc_influence_function_force(), p3m_calc_kspace_forces(), p3m_calc_kspace_stress(), p3m_perform_aliasing_sums_energy(), p3m_perform_aliasing_sums_force(), p3m_tune_aliasing_sums(), polymerC(), sinc(), tabulated_bonded_set_params(), tclcommand_analyze_parse_structurefactor(), tclcommand_inter_parse_angle(), tclcommand_inter_parse_angle_cosine(), tclcommand_inter_parse_angle_cossquare(), tclcommand_inter_parse_angle_harmonic(), tclcommand_parse_radial_profile(), and tclcommand_polymer().

#define PMASS (   pt)    (pt).p.mass
#define wupi   1.77245385090551602729816748334

Square root of Pi.

Definition at line 45 of file utils.h.

#define wupii   0.56418958354775627928034964498

Function Documentation

MDINLINE void alloc_doublelist ( DoubleList dl,
int  size 
)
MDINLINE void alloc_grained_doublelist ( DoubleList dl,
int  size,
int  grain 
)

Allocate an DoubleList, but only to multiples of grain.

Definition at line 254 of file utils.h.

References DoubleList::e, malloc, and DoubleList::max.

MDINLINE void alloc_grained_intlist ( IntList il,
int  size,
int  grain 
)

Allocate an IntList, but only to multiples of grain.

Definition at line 200 of file utils.h.

References IntList::e, malloc, and IntList::max.

MDINLINE void alloc_intlist ( IntList il,
int  size 
)
MDINLINE double angle_btw_triangles ( double *  P1,
double *  P2,
double *  P3,
double *  P4 
)

This function returns the angle btw the triangle p1,p2,p3 and p2,p3,p4.

Be careful, the angle depends on the orientation of the trianlges! You need to be sure that the orientation (direction of normal vector) of p1p2p3 is given by the cross product p2p1 x p2p3. The orientation of p2p3p4 must be given by p2p3 x p2p4.

Example: p1 = (0,0,1), p2 = (0,0,0), p3=(1,0,0), p4=(0,1,0). The orientation of p1p2p3 should be in the direction (0,1,0) and indeed: p2p1 x p2p3 = (0,0,1)x(1,0,0) = (0,1,0) This function is called in the beginning of the simulation when creating bonds depending on the angle btw the triangles, the bending_force. Here, we determine the orientations by looping over the triangles and checking the correct orientation. So when defining the bonds by tcl command "part p2 bond xxxx p1 p3 p4", we correctly input the particle id's. So if you have the access to the order of particles, you are safe to call this function with exactly this order. Otherwise you need to check the orientations.

Definition at line 991 of file utils.h.

References M_PI, scalar(), sqrlen(), and vector_product().

Referenced by calc_bending_force().

MDINLINE double area_triangle ( double *  P1,
double *  P2,
double *  P3 
)

Computes the area of triangle between vectors P1,P2,P3, by computing the crossproduct P1P2 x P1P3 and taking the half of its norm.

Definition at line 953 of file utils.h.

References normr(), and vector_product().

Referenced by add_volume_force(), calc_area_force_local(), calc_area_global(), and calc_volume().

MDINLINE double area_triangle_new ( double *  P1,
double *  P2 
)

Computes the area of triangle between vectors P1 and P2, by computing the crossproduct P1 x P2 and taking the half of its norm.

Definition at line 942 of file utils.h.

References normr(), and vector_product().

Referenced by calc_area_force_local_complicated().

MDINLINE double AS_erfc_part ( double  d)

approximates $ \exp(d^2) \mathrm{erfc}(d)$ by applying a formula from: Abramowitz/Stegun: Handbook of Mathematical Functions, Dover (9.

ed.), chapter 7

Definition at line 343 of file utils.h.

References AS_a1, AS_a2, AS_a3, AS_a4, AS_a5, and AS_p.

Referenced by dp3m_add_pair_force(), dp3m_pair_energy(), p3m_add_pair_force(), and p3m_pair_energy().

MDINLINE int calc_eigenvalues_3x3 ( double *  q,
double *  eva 
)

Calc eigevalues of a 3x3 matrix stored in q as a 9x1 array.

Definition at line 492 of file utils.h.

Referenced by calc_comforce(), calc_gyration_tensor(), and tclcommand_analyze_parse_find_principal_axis().

MDINLINE int calc_eigenvector_3x3 ( double *  a,
double  eva,
double *  eve 
)

Calc eigevectors of a 3x3 matrix stored in a as a 9x1 array.

Given an eigenvalue (eva) returns the corresponding eigenvector (eve)

Definition at line 552 of file utils.h.

References i.

Referenced by calc_comforce(), calc_gyration_tensor(), and tclcommand_analyze_parse_find_principal_axis().

MDINLINE int calc_factors ( int  n,
int *  factors,
int  max 
)

factorizes small numbers up to a maximum of max factors.

Definition at line 390 of file utils.h.

References i.

MDINLINE double distance ( double  pos1[3],
double  pos2[3] 
)

returns the distance between two position.

Parameters:
pos1Position one.
pos2Position two.

Definition at line 859 of file utils.h.

References SQR().

Referenced by add_partner(), adress_dw_dir(), adress_wf_vector(), auto_exclusion(), calc_vanhove(), lipid_orientation(), tclcommand_analyze_parse_and_print_check_mol(), tclcommand_part_parse_print(), and tclcommand_part_print_bond_partners().

MDINLINE double distance2 ( double  pos1[3],
double  pos2[3] 
)

returns the distance between two positions squared.

Parameters:
pos1Position one.
pos2Position two.

Definition at line 868 of file utils.h.

References SQR().

Referenced by build_verlet_lists(), check_resort_particles(), clusters_connected(), propagate_pos(), propagate_vel_pos(), and tclcommand_analyze_print_MSD().

MDINLINE double distance2vec ( double  pos1[3],
double  pos2[3],
double  vec[3] 
)

Returns the distance between two positions squared and stores the distance vector pos1-pos2 in vec.

Parameters:
pos1Position one.
pos2Position two.
vecvecotr pos1-pos2.
Returns:
distance squared

Definition at line 880 of file utils.h.

References SQR().

Referenced by build_verlet_lists_and_calc_verlet_ia(), build_verlet_lists_and_calc_verlet_ia_iccp3m(), calc_link_cell(), calc_link_cell_iccp3m(), calculate_link_cell_energies(), calculate_link_cell_virials(), calculate_verlet_energies(), calculate_verlet_ia(), calculate_verlet_ia_iccp3m(), calculate_verlet_virials(), and detect_collision().

MDINLINE double dmax ( double  a,
double  b 
)

Calculates the maximum of 'double'-typed a and b, returning 'double'.

Definition at line 281 of file utils.h.

Referenced by determine_bessel_cutoff(), MMM2D_tune_near(), tclcommand_crosslink(), tclcommand_metadynamics_parse_distance(), and tclcommand_metadynamics_parse_relative_z().

MDINLINE double dmin ( double  a,
double  b 
)
MDINLINE double drem_down ( double  a,
double  b 
)

Calculates the remainder of a division.

Definition at line 293 of file utils.h.

Referenced by distribute_tensors(), getintersection(), getlength(), and local_stress_tensor_calc().

MDINLINE double dround ( double  x)
MDINLINE void get_grid_pos ( int  i,
int *  a,
int *  b,
int *  c,
int  adim[3] 
)

get the position a[] from the linear index in a 3D grid of dimensions adim[].

Parameters:
ilinear index
ax position (return value)
by position (return value)
cz position (return value)
adimdimensions of the underlying grid

Definition at line 777 of file utils.h.

References i.

Referenced by cluster_neighbors().

MDINLINE int get_linear_index ( int  a,
int  b,
int  c,
int  adim[3] 
)
MDINLINE void get_n_triangle ( double *  p1,
double *  p2,
double *  p3,
double *  n 
)

Computes the normal vector to the plane given by points P1P2P3.

Definition at line 969 of file utils.h.

Referenced by add_volume_force(), calc_area_global(), calc_bending_force(), and calc_volume().

MDINLINE int imax ( int  a,
int  b 
)

Calculates the maximum of 'int'-typed a and b, returning 'int'.

Definition at line 287 of file utils.h.

Referenced by counterionsC(), fft_calc_send_block(), get_ia_param_safe(), layered_topology_init(), polymerC(), and saltC().

MDINLINE int imin ( int  a,
int  b 
)

Calculates the minimum of 'int'-typed a and b, returning 'int'.

Definition at line 290 of file utils.h.

Referenced by fft_calc_send_block(), fft_print_global_fft_mesh(), p3m_mc_time(), and print_block().

MDINLINE void init_doublelist ( DoubleList il)
MDINLINE void init_intlist ( IntList il)
MDINLINE int intlist_contains ( IntList il,
int  c 
)

Check wether an IntList contains the value c.

Definition at line 220 of file utils.h.

References IntList::e, i, and IntList::n.

Referenced by get_local_trapped_mols(), mindist(), and mpi_comm_mol_info().

MDINLINE int lu_decompose_matrix ( double **  A,
int  n,
int *  perms 
)

Calculate the LU decomposition of a matrix A.

Uses Crout's method with partial implicit pivoting. The original matrix A is replaced by its LU decomposition. Due to the partial pivoting the result may contain row permutations which are recorded in perms.

Returns:
0 for success, -1 otherwise (i.e. matrix is singular)
Parameters:
AMatrix to be decomposed (Input/Output)
nDimension of the matrix (Input)
permsRecords row permutations effected by pivoting (Output)

Crout's algorithm: Calculate L and U columnwise from top to bottom. The diagonal elements of L are chosen to be 1. Only previously determined entries are used in the calculation. The original matrix elements are used only once and can be overwritten with the elements of L and U, the diagonal of L not being stored. Rows may be permuted according to the largest element (pivot) in the lower part, where rows are normalized to have the largest element scaled to unity.

Definition at line 628 of file utils.h.

References free, i, malloc, and max().

MDINLINE void lu_solve_system ( double **  A,
int  n,
int *  perms,
double *  b 
)

Solve the linear equation system for a LU decomposed matrix A.

Uses forward substitution for the lower triangle part and backsubstitution for the upper triangle part. Row permutations as indicated in perms are applied to b accordingly. The solution is written to b in place.

Parameters:
AMatrix in LU decomposed form (Input)
nDimension of the matrix (Input)
permsIndicates row permutations due to pivoting (Input)
bRight-hand side of equation system (Input). Is destroyed and contains the solution x afterwards (Output).

Definition at line 722 of file utils.h.

References i.

MDINLINE int malloc_3d_grid ( double ****  grid,
int  dim[3] 
)

Malloc a 3d grid for doubles with dimension dim[3] .

Parameters:
gridpointer to grid.
dimdimension of the grid.

Definition at line 790 of file utils.h.

References i, and malloc.

MDINLINE double normr ( double  v[3])
MDINLINE void permute_ifield ( int *  field,
int  size,
int  permute 
)

permute an interger array field of size size about permute positions.

Definition at line 320 of file utils.h.

References i.

Referenced by dfft_init(), and fft_init().

MDINLINE void print_block ( double *  data,
int  start[3],
int  size[3],
int  dim[3],
int  element,
int  num 
)

print a block of a 3D array.

Parameters:
data3D array.
startstart coordinate for the block.
sizesize of the block.
dimdimension of the array.
elementsize of the elements in the array.
numnumber of element to print.

Definition at line 815 of file utils.h.

References imin().

MDINLINE void realloc_doublelist ( DoubleList dl,
int  size 
)
MDINLINE void realloc_grained_doublelist ( DoubleList dl,
int  size,
int  grain 
)

Reallocate an DoubleList, but only to multiples of grain.

Definition at line 261 of file utils.h.

References DoubleList::e, DoubleList::max, and realloc.

MDINLINE void realloc_grained_intlist ( IntList il,
int  size,
int  grain 
)

Reallocate an IntList, but only to multiples of grain.

Definition at line 207 of file utils.h.

References IntList::e, IntList::max, and realloc.

Referenced by wall_sort_particles().

MDINLINE void realloc_intlist ( IntList il,
int  size 
)
MDINLINE double scalar ( double  a[3],
double  b[3] 
)
MDINLINE double sinc ( double  d)

Calculates the sinc-function as sin(PI*x)/(PI*x).

(same convention as in Hockney/Eastwood). In order to avoid divisions by 0, arguments, whose modulus is smaller than epsi, will be evaluated by an 8th order Taylor expansion of the sinc function. Note that the difference between sinc(x) and this expansion is smaller than 0.235e-12, if x is smaller than 0.1. (The next term in the expansion is the 10th order contribution PI^10/39916800 * x^10 = 0.2346...*x^12). This expansion should also save time, since it reduces the number of function calls to sin().

Definition at line 370 of file utils.h.

References c2, c4, c6, c8, epsi, PI, and SQR().

Referenced by Aliasing_sums_ik(), dp3m_perform_aliasing_sums_dipolar_self_energy(), dp3m_perform_aliasing_sums_energy(), dp3m_perform_aliasing_sums_force(), dp3m_tune_aliasing_sums(), p3m_perform_aliasing_sums_energy(), p3m_perform_aliasing_sums_force(), and p3m_tune_aliasing_sums().

MDINLINE void sort_int_array ( int *  data,
int  size 
)

Very slow sort routine for small integer arrays.

Sorts the values in decending order.

Parameters:
datathe integer array
sizesize of the array

Definition at line 308 of file utils.h.

References i.

MDINLINE double SQR ( double  x)

Calculates the SQuaRe of 'double' x, returning 'double'.

Definition at line 338 of file utils.h.

Referenced by add_dpd_thermo_pair_force(), add_force_contribution(), add_gaussian_pair_force(), add_inter_dpd_pair_force(), add_kinetic_energy(), add_kinetic_virials(), add_lj_pair_force(), add_ljangle_pair_force(), add_ljcos2_pair_force(), add_ljcos_pair_force(), add_rod_force(), add_SmSt_pair_force(), angle_cosine_energy(), angle_cossquare_energy(), angle_energy(), angle_harmonic_energy(), angledist_energy(), buf_mindist4(), build_verlet_lists(), build_verlet_lists_and_calc_verlet_ia(), build_verlet_lists_and_calc_verlet_ia_iccp3m(), calc_angle_3body_forces(), calc_angle_3body_tabulated_forces(), calc_angle_cosine_3body_forces(), calc_angle_cosine_force(), calc_angle_cossquare_3body_forces(), calc_angle_force(), calc_angle_harmonic_3body_forces(), calc_bond_dist(), calc_bond_dist_av(), calc_bond_l(), calc_bond_l_av(), calc_buck_cap_radii(), calc_endangledist_pair_force(), calc_g123(), calc_g1_av(), calc_g2_av(), calc_g3_av(), calc_internal_dist(), calc_internal_dist_av(), calc_kinetic(), calc_link_cell_iccp3m(), calc_lj_cap_radii(), calc_ljangle_cap_radii(), calc_ljcos2_cap_radii(), calc_local_temp(), calc_part_distribution(), calc_re(), calc_re_av(), calc_rg(), calc_rg_av(), calc_scaling(), calc_scaling2(), calc_self_energy_coeffs(), calc_subt_lj_pair_force(), calc_wallbondyz(), calc_wallmsdx(), calc_wallmsdyz(), calc_wallrdfyz(), calculate_cylinder_dist(), calculate_maze_dist(), calculate_plane_dist(), calculate_pore_dist(), calculate_sphere_dist(), check_resort_particles(), dipole_energy(), distance(), distance2(), distance2vec(), distto(), dp3m_average_dipolar_self_energy(), dp3m_calc_influence_function_energy(), dp3m_calc_influence_function_force(), dp3m_calc_kspace_forces(), dp3m_count_magnetic_particles(), dp3m_get_accuracy(), dp3m_k_space_error(), dp3m_perform_aliasing_sums_energy(), dp3m_perform_aliasing_sums_force(), dp3m_tune_aliasing_sums(), ELC_add_force(), ELC_energy(), ELC_P3M_modify_p3m_sums_both(), ELC_P3M_modify_p3m_sums_image(), ELC_P3M_restore_p3m_sums(), ELC_set_params(), ELC_tune(), endangledist_pair_energy(), energy_contribution(), fene_set_params(), finalize_p_inst_npt(), force_and_velocity_check(), gaussian_pair_energy(), get_mol_dist(), get_mol_dist_partcfg(), get_nonbonded_interaction(), harmonic_pair_energy(), icosaederC(), init_ghost_force(), init_local_particle_force(), integrate_vv(), lb_calc_local_fields(), lb_reinit_parameters(), lb_relax_modes(), lj_cos_set_params(), lj_pair_energy(), ljangle_pair_energy(), ljcos2_pair_energy(), ljcos_pair_energy(), maggs_add_transverse_field(), maggs_calc_init_e_field(), maggs_electric_energy(), maggs_magnetic_energy(), maxwell_velocitiesC(), mindist(), mindist3(), mindist4(), MMM1D_init(), MMM1D_set_params(), mmm1d_tune(), MMM2D_add_far(), MMM2D_self_energy(), MMM2D_set_params(), MMM2D_tune_far(), MMM2D_tune_near(), normr(), p3m_analytic_cotangent_sum(), p3m_caf(), p3m_calc_dipole_term(), p3m_calc_influence_function_force(), p3m_calc_kspace_forces(), p3m_calc_kspace_stress(), p3m_count_charged_particles(), p3m_get_accuracy(), p3m_k_space_error(), p3m_perform_aliasing_sums_energy(), p3m_perform_aliasing_sums_force(), p3m_real_space_error(), p3m_tune_aliasing_sums(), polymerC(), propagate_press_box_pos_and_rescale_npt(), propagate_vel(), rescale_forces_propagate_vel(), rod_energy(), sinc(), sqrlen(), subt_lj_pair_energy(), subt_lj_set_params(), tab_bond_energy(), tabulated_pair_energy(), tclcommand_analyze_parse_necklace(), tclcommand_analyze_parse_Vkappa(), tclcommand_constraint_parse_cylinder(), tclcommand_constraint_parse_pore(), tclcommand_constraint_parse_wall(), tclcommand_lbboundary_cylinder(), tclcommand_lbboundary_pore(), tclcommand_lbboundary_wall(), unfolded_distance(), vec_rotate(), and velocitiesC().

MDINLINE double sqrlen ( double  v[3])

calculates the squared length of a vector

Definition at line 436 of file utils.h.

References i, and SQR().

Referenced by add_ljangle_pair_force(), angle_btw_triangles(), angle_cosine_energy(), angle_cossquare_energy(), angle_energy(), angle_harmonic_energy(), angledist_energy(), bilayer_density_profile_sphere(), calc_angle_3body_forces(), calc_angle_3body_tabulated_forces(), calc_angle_cosine_3body_forces(), calc_angle_cosine_force(), calc_angle_cossquare_3body_forces(), calc_angle_cossquare_force(), calc_angle_force(), calc_angle_harmonic_3body_forces(), calc_angle_harmonic_force(), calc_angledist_force(), calc_angledist_param(), calc_dihedral_angle(), calc_endangledist_pair_force(), calc_energy_kinetic_mol(), calc_fene_pair_force(), calc_force_between_mol(), calc_harmonic_pair_force(), calc_mol_gyr_radius2(), calc_mol_hydro_radius(), calc_overlap_angle_force(), calc_overlap_bond_force(), calc_pwangle(), calc_radial_density_map(), calc_stretching_force_pair_force(), calc_subt_lj_pair_force(), calc_tab_angle_force(), calc_tab_bond_force(), compute_pos_corr_vec(), distribute_mol_force(), distto(), ELC_P3M_dielectric_layers_energy_contribution(), ELC_P3M_dielectric_layers_energy_self(), ELC_P3M_dielectric_layers_force_contribution(), ELC_P3M_self_forces(), fene_pair_energy(), harmonic_pair_energy(), integrate_reaction(), layered_calculate_energies(), layered_calculate_ia(), layered_calculate_ia_iccp3m(), layered_calculate_virials(), ljangle_pair_energy(), meta_perform(), min_distance2(), MMM2D_dielectric_layers_energy_contribution(), MMM2D_dielectric_layers_force_contribution(), nbhood(), nsq_calculate_energies(), nsq_calculate_ia(), nsq_calculate_ia_iccp3m(), nsq_calculate_virials(), overlap_angle_energy(), overlap_bond_energy(), polymerC(), print_bond_len(), subt_lj_pair_energy(), tab_angle_energy(), tab_bond_energy(), tclcommand_analyze_parse_and_print_energy_kinetic(), test_mesh_elements(), unit_vector(), update_mol_pos_particle(), update_mol_vel_particle(), and vs_relate_to().

MDINLINE char* strcat_alloc ( char *  left,
char *  right 
)

extend a string with another one.

Like strcat, just automatically increases the string space

Definition at line 919 of file utils.h.

References malloc, and realloc.

Referenced by dp3m_adaptive_tune(), dp3m_mc_time(), mmm1d_tune(), p3m_adaptive_tune(), and p3m_mc_time().

MDINLINE double unfolded_distance ( double  pos1[3],
int  image_box1[3],
double  pos2[3],
int  image_box2[3],
double  box_l[3] 
)

returns the distance between the unfolded coordintes of two particles.

Parameters:
pos1Position of particle one.
image_box1simulation box index of particle one .
pos2Position of particle two.
image_box2simulation box index of particle two .
box_lsize of simulation box.

Definition at line 895 of file utils.h.

References i, and SQR().

MDINLINE void unit_vector ( double  v[3],
double  y[3] 
)

calculates unit vector

Definition at line 445 of file utils.h.

References i, and sqrlen().

Referenced by calc_comforce(), and meta_perform().

MDINLINE void vec_rotate ( double *  axis,
double  alpha,
double *  vector,
double *  result 
)

rotates vector around axis by alpha

Definition at line 474 of file utils.h.

References scalar(), and SQR().

Referenced by polymerC().

MDINLINE void vecsub ( double  v1[3],
double  v2[3],
double  dv[3] 
)

Subtracts vector v2 from vector v1 and stores resuld in vector dv.

Definition at line 417 of file utils.h.

Referenced by add_area_global_force(), calc_area_force_local(), calc_mol_gyr_radius2(), calc_mol_hydro_radius(), calc_radial_density_map(), and compute_vel_corr_vec().

MDINLINE void vector_product ( double  a[3],
double  b[3],
double  c[3] 
)
MDINLINE void vector_subt ( double  res[3],
double  a[3],
double  b[3] 
)

vector difference

Definition at line 296 of file utils.h.

References i.

Referenced by meta_perform().


Variable Documentation

int this_node

The number of this node.

Definition at line 68 of file communication.c.

Referenced by __free(), __malloc(), __realloc(), add_buck_pair_force(), add_dh_coulomb_pair_force(), add_forces_from_recv_buffer(), add_hat_pair_force(), add_interrf_pair_force(), add_lj_pair_force(), add_ljangle_pair_force(), add_ljcos2_pair_force(), add_ljcos_pair_force(), add_ljgen_pair_force(), add_mdlc_energy_corrections(), add_morse_pair_force(), add_non_bonded_pair_force(), add_non_bonded_pair_force_iccp3m(), add_P_force(), add_PQ_force(), add_Q_force(), add_rf_coulomb_pair_force_no_cutoff(), add_soft_pair_force(), add_tunable_slip_pair_force(), add_z_force(), announce_resort_particles(), bcast_iccp3m_cfg(), build_verlet_lists(), build_verlet_lists_and_calc_verlet_ia(), build_verlet_lists_and_calc_verlet_ia_iccp3m(), calc_buck_cap_radii(), calc_endangledist_pair_force(), calc_fene_pair_force(), calc_fluctuations(), calc_harmonic_pair_force(), calc_lj_cap_radii(), calc_ljangle_cap_radii(), calc_ljcos2_cap_radii(), calc_ljgen_cap_radii(), calc_long_range_forces(), calc_mol_info(), calc_morse_cap_radii(), calc_node_neighbors(), calc_overlap_bond_force(), calc_particle_lattice_ia(), calc_stretching_force_pair_force(), calc_subt_lj_pair_force(), calc_tab_bond_force(), calculate_link_cell_energies(), calculate_link_cell_virials(), calculate_verlet_energies(), calculate_verlet_virials(), cell_cell_transfer(), cells_on_geometry_change(), cells_re_init(), cells_resort_particles(), check_cells_consistency(), check_particle_consistency(), check_particles(), clear_image_contributions(), convert_initial_torques(), convert_torques_propagate_omega(), copy_forces_from_GPU(), copy_part_data_to_gpu(), core(), correct_pos_shake(), correct_vel_shake(), cuda_bcast_global_part_params(), cuda_mpi_get_particles(), cuda_mpi_get_particles_slave(), cuda_mpi_send_forces(), cuda_mpi_send_forces_slave(), dd_append_particles(), dd_create_cell_grid(), dd_exchange_and_sort_particles(), dd_fill_comm_cell_lists(), dd_on_geometry_change(), dd_prepare_comm(), dd_revert_comm_order(), dd_topology_init(), dd_topology_release(), dfft_back_grid_comm(), dfft_forw_grid_comm(), dfft_init(), dfft_perform_back(), dfft_perform_forw(), dipole_energy(), distribute(), distribute_tensors(), does_line_go_through_cube(), dp3m_adaptive_tune(), dp3m_assign_dipole(), dp3m_assign_forces_dip(), dp3m_calc_kspace_forces(), dp3m_calc_send_mesh(), dp3m_compute_constants_energy_dipolar(), dp3m_gather_fft_grid(), dp3m_init(), dp3m_interpolate_dipole_assignment_function(), dp3m_realloc_ca_fields(), dp3m_spread_force_grid(), fft_back_grid_comm(), fft_find_comm_groups(), fft_forw_grid_comm(), fft_init(), fft_perform_back(), fft_perform_forw(), fft_print_fft_plan(), fft_print_global_fft_mesh(), finalize_p_inst_npt(), force_and_velocity_check(), force_and_velocity_display(), force_calc(), free_comm(), friction_thermo_langevin(), friction_thermo_langevin_rotation(), gather_image_contributions(), get_DLC_energy_dipolar(), get_lipid_orients(), get_name_of_bonded_ia(), ghmc_close(), ghmc_init(), ghmc_mc(), ghmc_momentum_update(), ghost_communicator(), gpu_change_number_of_part_to_comm(), gpu_init_particle_comm(), grid_changed_box_l(), grid_changed_n_nodes(), halo_communication(), halo_copy_vector(), halo_dtcopy(), hamiltonian_calc(), init_bit_random(), init_lattice(), init_random(), init_random_seed(), integrate_ensemble_init(), integrate_vv(), is_recv_op(), is_send_op(), layered_append_particles(), layered_calculate_energies(), layered_calculate_ia(), layered_calculate_ia_iccp3m(), layered_exchange_and_sort_particles(), layered_prepare_comm(), layered_topology_init(), layered_topology_release(), lb_calc_densprof(), lb_calc_velprof(), lb_init_boundaries(), lb_reinit_parameters(), lb_viscous_coupling(), local_place_particle(), local_remove_particle(), local_stress_tensor_calc(), maggs_calc_init_e_field(), maggs_exchange_surface_patch(), main(), map_position_to_lattice(), map_to_2dgrid(), mdlc_set_params(), mdlc_tune(), MMM2D_dielectric_layers_energy_contribution(), MMM2D_dielectric_layers_force_contribution(), MMM2D_setup_constants(), modes2d(), momentum_flip(), mpi_bcast_coulomb_params_slave(), mpi_bit_random_seed(), mpi_bit_random_seed_slave(), mpi_bit_random_stat(), mpi_bit_random_stat_slave(), mpi_call(), mpi_core(), mpi_gather_stats(), mpi_gather_stats_slave(), mpi_get_particles(), mpi_get_particles_slave(), mpi_iccp3m_init(), mpi_iccp3m_init_slave(), mpi_iccp3m_iteration(), mpi_init(), mpi_integrate(), mpi_integrate_slave(), mpi_local_stress_tensor(), mpi_local_stress_tensor_slave(), mpi_loop(), mpi_place_new_particle(), mpi_place_new_particle_slave(), mpi_place_particle(), mpi_place_particle_slave(), mpi_random_seed(), mpi_random_seed_slave(), mpi_random_stat(), mpi_random_stat_slave(), mpi_recv_fluid(), mpi_recv_fluid_boundary_flag(), mpi_recv_fluid_boundary_flag_slave(), mpi_recv_fluid_populations(), mpi_recv_fluid_populations_slave(), mpi_recv_fluid_slave(), mpi_recv_part(), mpi_recv_part_slave(), mpi_remove_particle_slave(), mpi_rescale_particles(), mpi_send_bond(), mpi_send_bond_slave(), mpi_send_dip(), mpi_send_dip_slave(), mpi_send_dipm(), mpi_send_dipm_slave(), mpi_send_ext_force(), mpi_send_ext_force_slave(), mpi_send_ext_torque(), mpi_send_ext_torque_slave(), mpi_send_f(), mpi_send_f_slave(), mpi_send_fluid(), mpi_send_fluid_populations(), mpi_send_fluid_populations_slave(), mpi_send_fluid_slave(), mpi_send_mass(), mpi_send_mass_slave(), mpi_send_mol_id(), mpi_send_mol_id_slave(), mpi_send_mu_E(), mpi_send_mu_E_slave(), mpi_send_omega(), mpi_send_omega_slave(), mpi_send_q(), mpi_send_q_slave(), mpi_send_quat(), mpi_send_quat_slave(), mpi_send_rotation(), mpi_send_rotation_slave(), mpi_send_rotational_inertia(), mpi_send_rotational_inertia_slave(), mpi_send_solvation(), mpi_send_solvation_slave(), mpi_send_torque(), mpi_send_torque_slave(), mpi_send_type(), mpi_send_type_slave(), mpi_send_v(), mpi_send_v_slave(), mpi_send_virtual(), mpi_send_virtual_slave(), mpi_send_vs_relative(), mpi_send_vs_relative_slave(), mpi_set_particle_gamma(), mpi_set_particle_gamma_slave(), mpi_set_particle_temperature(), mpi_set_particle_temperature_slave(), mpi_stop_slave(), mpi_system_CMS(), mpi_system_CMS_velocity(), mpi_who_has(), nemd_change_momentum(), nemd_free(), nemd_init(), nemd_store_velocity_profile(), nsq_balance_particles(), nsq_topology_init(), nsq_topology_release(), on_boxl_change(), on_cell_structure_change(), on_constraint_change(), on_coulomb_change(), on_ghost_flags_change(), on_integration_start(), on_lb_params_change(), on_lb_params_change_gpu(), on_lbboundary_change(), on_observable_calc(), on_parameter_change(), on_particle_change(), on_program_start(), on_resort_particles(), on_short_range_ia_change(), on_temperature_change(), p3m_adaptive_tune(), p3m_add_pair_force(), p3m_analytic_cotangent_sum(), p3m_assign_charge(), P3M_assign_forces(), P3M_assign_torques(), p3m_caf(), p3m_calc_kspace_forces(), p3m_calc_send_mesh(), p3m_count_charged_particles(), p3m_gather_fft_grid(), p3m_gpu_init(), p3m_init(), p3m_interpolate_charge_assignment_function(), p3m_mcr_time(), p3m_p3m_print_local_mesh(), p3m_p3m_print_send_mesh(), p3m_p3m_print_struct(), p3m_print(), p3m_print_dp3m_struct(), p3m_realloc_ca_fields(), p3m_spread_force_grid(), prepare_comm(), prepare_halo_communication(), prepare_recv_buffer(), prepare_send_buffer(), print_bond_len(), print_ghost_positions(), print_local_particle_positions(), print_particle_forces(), print_particle_positions(), propagate_omega_quat_particle(), propagate_pos(), propagate_press_box_pos_and_rescale_npt(), propagate_vel(), propagate_vel_pos(), put_recv_buffer(), realloc_cells(), realloc_particlelist(), recalc_maximal_cutoff_nonbonded(), recv_particles(), reduce_forces_sum(), remove_all_bonds_to(), rescale_forces(), rescale_forces_propagate_vel(), send_particles(), setup_P(), setup_PQ(), setup_Q(), setup_z_energy(), setup_z_force(), tclcommand_analyze_parse_bilayer_set(), tclcommand_analyze_parse_get_folded_positions(), tclcommand_analyze_parse_get_lipid_orients(), tclcommand_analyze_parse_local_stress_tensor(), tclcommand_analyze_parse_modes2d(), tclcommand_ghmc(), tclcommand_integrate(), tclcommand_inter_magnetic_parse_mdlc_params(), tclcommand_load_state(), tclcommand_nemd(), tclcommand_nemd_parse_and_print_profile(), tclcommand_nemd_parse_and_print_viscosity(), tclcommand_save_state(), tclcommand_thermostat(), thermo_init_dpd(), thermo_init_ghmc(), thermo_init_langevin(), thermo_init_npt_isotropic(), and z_energy().