![]() |
ESPResSo 3.2.0-167-g2c9ead1-git
Extensible Simulation Package for Soft Matter Research
|
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"
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 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. | |
Small functions that are useful not only for one modul.
just some nice utilities... and some constants...
Definition in file utils.h.
| #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 |
| #define epsi 0.1 |
Referenced by sinc().
| #define ES_DOUBLE_SPACE 27 |
space necessary for an double with sprintf.
Precision is 17 digits, plus sign, dot, e, sign of exponent and 3 digits exponent etc. Analog to Tcl
Definition at line 64 of file utils.h.
Referenced by analyze_fold_molecules(), dd_create_cell_grid(), dd_position_to_cell(), dp3m_adaptive_tune(), dp3m_mc_time(), dp3m_sanity_checks_boxl(), fold_coordinate(), layered_exchange_and_sort_particles(), layered_topology_init(), mmm1d_tune(), p3m_adaptive_tune(), p3m_mc_time(), p3m_sanity_checks_boxl(), propagate_press_box_pos_and_rescale_npt(), and tclprint_to_result_comfixedIA().
| #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 |
space necessary for an (64-bit) integer with sprintf.
Analog to Tcl
Definition at line 59 of file utils.h.
Referenced by add_area_global_force(), add_bonded_energy(), add_bonded_force(), add_bonded_virials(), add_constraints_energy(), add_constraints_forces(), add_three_body_bonded_stress(), add_volume_force(), analyze_activate(), analyze_fold_molecules(), calc_area_global(), calc_bonded_force(), calc_local_mol_info(), calc_mol_info(), calc_mol_pos(), calc_mol_vel(), calc_three_body_bonded_forces(), calc_trap_force(), calc_volume(), change_particle_bond(), compute_pos_corr_vec(), compute_vel_corr_vec(), correct_pos_shake(), dd_create_cell_grid(), dd_on_geometry_change(), distribute_tensors(), dp3m_adaptive_tune(), dp3m_mc_time(), fene_pair_energy(), fold_coordinate(), get_local_trapped_mols(), get_mol_com_particle(), get_mol_dist(), getintersection(), handle_collisions(), layered_topology_init(), local_stress_tensor_calc(), map_to_2dgrid(), meta_init(), meta_perform(), mindist3(), mmm1d_tune(), nemd_change_momentum(), p3m_adaptive_tune(), p3m_mc_time(), print_bond_len(), put_mol_force_on_parts(), update_mol_pos_particle(), update_mol_vel_particle(), and vs_relate_to().
| #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 |
macro for easy use of mass.
If masses are not switched on, the particle mass is defined to 1, so it should be compiled out in most cases.
Definition at line 163 of file utils.h.
Referenced by add_dpd_thermo_pair_force(), add_inter_dpd_pair_force(), add_kinetic_energy(), add_kinetic_virials(), analyze_rdfchain(), angularmomentum(), calc_comfixed(), calc_energy_kinetic_mol(), calc_g123(), calc_g2_av(), calc_g3_av(), calc_kinetic(), calc_local_mol_info(), calc_local_temp(), calc_mol_center_of_mass(), calc_mol_gyr_radius2(), calc_mol_pos(), calc_mol_pos_cfg(), calc_mol_vel(), calc_rg(), calc_rg_av(), centermass(), centermass_conf(), compute_pos_corr_vec(), compute_vel_corr_vec(), friction_thermo_langevin(), init_g123(), local_stress_tensor_calc(), momentofinertiamatrix(), observable_blocked_com_position(), observable_blocked_com_velocity(), observable_com_position(), observable_com_velocity(), partial_momentum_update(), propagate_vel(), put_mol_force_on_parts(), rescale_forces(), rescale_forces_propagate_vel(), simple_momentum_update(), and tclcommand_analyze_parse_and_print_energy_kinetic().
| #define wupi 1.77245385090551602729816748334 |
| #define wupii 0.56418958354775627928034964498 |
One over square root of Pi.
Definition at line 47 of file utils.h.
Referenced by dp3m_add_pair_force(), dp3m_calc_kspace_forces(), dp3m_compute_constants_energy_dipolar(), dp3m_pair_energy(), p3m_add_pair_force(), and p3m_calc_kspace_forces().
| MDINLINE void alloc_doublelist | ( | DoubleList * | dl, |
| int | size | ||
| ) |
Allocate an DoubleList of size size.
If you need an DoubleList with variable size better use realloc_doublelist
Definition at line 238 of file utils.h.
References DoubleList::e, malloc, and DoubleList::max.
Referenced by mpi_local_stress_tensor(), mpi_local_stress_tensor_slave(), parse_corr_operation(), preparePolygammaEven(), tclcommand_analyze_parse_bilayer_density_profile(), tclcommand_analyze_parse_local_stress_tensor(), tclcommand_analyze_parse_radial_density_map(), and tclcommand_bin().
| 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 | ||
| ) |
Allocate an IntList of size size.
If you need an IntList with variable size better use realloc_intlist
Definition at line 184 of file utils.h.
References IntList::e, malloc, and IntList::max.
Referenced by calc_vanhove(), check_cells_consistency(), mpi_recv_part(), parse_id_list(), recv_particles(), tclcommand_analyze_parse_holes(), tclcommand_analyze_parse_radial_density_map(), and tclcommand_analyze_set_parse_trapmol().
| 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
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 | ||
| ) |
| MDINLINE double distance | ( | double | pos1[3], |
| double | pos2[3] | ||
| ) |
returns the distance between two position.
| pos1 | Position one. |
| pos2 | Position 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.
| pos1 | Position one. |
| pos2 | Position 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.
| pos1 | Position one. |
| pos2 | Position two. |
| vec | vecotr pos1-pos2. |
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 | ||
| ) |
Calculates the minimum of 'double'-typed a and b, returning 'double'.
Definition at line 284 of file utils.h.
Referenced by buf_mindist4(), calc_minimal_box_dimensions(), dd_create_cell_grid(), dd_on_geometry_change(), distto(), dp3m_adaptive_tune(), dp3m_mc_time(), ELC_init(), ELC_set_params(), ELC_tune(), mindist(), mindist4(), MMM2D_tune_far(), p3m_adaptive_tune(), p3m_mc_time(), tclcommand_metadynamics_parse_distance(), and tclcommand_metadynamics_parse_relative_z().
| 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 | ) |
Mathematically rounds 'double'-typed x, returning 'double'.
Definition at line 335 of file utils.h.
Referenced by add_ljangle_pair_force(), buf_mindist4(), calc_dihedral_angle(), crosslinkC(), distribute_tensors(), dp3m_calc_differential_operator(), dp3m_calc_meshift(), get_mi_vector(), layered_get_mi_vector(), ljangle_pair_energy(), meta_perform(), mindist3(), and mindist4().
| 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[].
| i | linear index |
| a | x position (return value) |
| b | y position (return value) |
| c | z position (return value) |
| adim | dimensions 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] | ||
| ) |
get the linear index from the position (a,b,c) in a 3D grid of dimensions adim[].
returns linear index.
| a | x position |
| b | y position |
| c | z position |
| adim | dimensions of the underlying grid |
Definition at line 763 of file utils.h.
Referenced by cluster_neighbors(), dd_append_particles(), dd_fill_comm_cell_lists(), dd_init_cell_interactions(), dd_position_to_cell(), dd_save_position_to_cell(), dfft_init(), fft_find_comm_groups(), fft_init(), halo_push_communication(), init_lattice(), lb_bounce_back(), lb_calc_densprof(), lb_calc_fluid_mass(), lb_calc_fluid_momentum(), lb_calc_fluid_temp(), lb_calc_n_from_modes_push(), lb_calc_velprof(), lb_check_halo_regions(), lb_init_boundaries(), lb_lbnode_get_boundary(), lb_lbnode_get_pi_neq(), lb_lbnode_get_pop(), lb_lbnode_get_rho(), lb_lbnode_get_u(), lb_lbnode_set_pop(), lb_lbnode_set_rho(), lb_lbnode_set_u(), and map_position_to_lattice().
| 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 | ) |
Initialize an DoubleList.
Definition at line 229 of file utils.h.
References DoubleList::e, DoubleList::max, and DoubleList::n.
Referenced by force_and_energy_tables_init(), mpi_local_stress_tensor(), mpi_local_stress_tensor_slave(), preparePolygammaEven(), preparePolygammaOdd(), tclcommand_analyze_parse_bilayer_density_profile(), tclcommand_analyze_parse_local_stress_tensor(), tclcommand_analyze_parse_radial_density_map(), tclcommand_analyze_set_parse_trapmol(), tclcommand_analyze_wallstuff(), tclcommand_bin(), tclcommand_metadynamics_parse_load_stat(), and tf_tables_init().
| MDINLINE void init_intlist | ( | IntList * | il | ) |
Initialize an IntList.
Definition at line 174 of file utils.h.
References IntList::e, IntList::max, and IntList::n.
Referenced by auto_exclusion(), calc_mol_info(), calc_vanhove(), init_particle(), mpi_get_particles(), mpi_get_particles_slave(), nbhood(), orient_order(), parse_id_list(), realloc_topology(), recv_particles(), send_particles(), tclcommand_analyze_parse_bilayer_density_profile(), tclcommand_analyze_parse_distribution(), tclcommand_analyze_parse_generic_structure(), tclcommand_analyze_parse_get_lipid_orients(), tclcommand_analyze_parse_mindist(), tclcommand_analyze_parse_radial_density_map(), tclcommand_analyze_parse_rdf(), tclcommand_analyze_set_parse_trapmol(), tclcommand_inter_coulomb_parse_p3m(), tclcommand_inter_coulomb_parse_p3m_tune(), tclcommand_part_print_bond_partners(), and wall_sort_particles().
| 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.
| A | Matrix to be decomposed (Input/Output) |
| n | Dimension of the matrix (Input) |
| perms | Records 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.
| 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.
| A | Matrix in LU decomposed form (Input) |
| n | Dimension of the matrix (Input) |
| perms | Indicates row permutations due to pivoting (Input) |
| b | Right-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] | ||
| ) |
| MDINLINE double normr | ( | double | v[3] | ) |
calculates the length of a vector
Definition at line 426 of file utils.h.
Referenced by add_area_global_force(), add_volume_force(), area_triangle(), area_triangle_new(), calc_area_force_local(), calc_area_force_local_complicated(), calc_bending_force(), and calc_volume().
| 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 | ||
| ) |
| MDINLINE void realloc_doublelist | ( | DoubleList * | dl, |
| int | size | ||
| ) |
Reallocate an DoubleList.
Definition at line 245 of file utils.h.
References DoubleList::e, DoubleList::max, and realloc.
Referenced by mpi_bcast_ia_params_slave(), mpi_bcast_tf_params_slave(), mpi_local_stress_tensor_slave(), obsstat_realloc_and_clear(), obsstat_realloc_and_clear_non_bonded(), parse_double_list(), prepareBernoulliNumbers(), preparePolygammaEven(), preparePolygammaOdd(), setup_linear_bins(), setup_log_bins(), tabulated_set_params(), tclcommand_analyze_parse_bilayer_density_profile(), tclcommand_analyze_parse_local_stress_tensor(), tclcommand_analyze_parse_radial_density_map(), tclcommand_analyze_set_parse_trapmol(), tclcommand_analyze_wallstuff(), tclcommand_bin(), tclcommand_metadynamics_parse_load_stat(), and tf_set_params().
| 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 | ||
| ) |
Reallocate an IntList.
Definition at line 191 of file utils.h.
References IntList::e, IntList::max, and realloc.
Referenced by add_link(), add_partner(), auto_exclusion(), calc_mol_info(), calc_vanhove(), check_cells_consistency(), collectBonds(), convert_types_to_ids(), free_particle(), freePartCfg(), get_local_trapped_mols(), local_change_bond(), local_change_exclusion(), local_remove_all_particles(), MMM2D_tune_near(), mpi_get_particles(), mpi_get_particles_slave(), mpi_sync_topo_part_info_slave(), nbhood(), orient_order(), parse_int_list(), realloc_topology(), recv_particles(), remove_all_bonds_to(), send_particles(), tclcommand_analyze_parse_bilayer_density_profile(), tclcommand_analyze_parse_generic_structure(), tclcommand_analyze_parse_get_lipid_orients(), tclcommand_analyze_parse_holes(), tclcommand_analyze_parse_nbhood(), tclcommand_analyze_parse_radial_density_map(), tclcommand_analyze_set_parse_chain_topology(), tclcommand_analyze_set_parse_trapmol(), tclcommand_part_print_bond_partners(), try_add_exclusion(), try_delete_bond(), try_delete_exclusion(), and wall_sort_particles().
| MDINLINE double scalar | ( | double | a[3], |
| double | b[3] | ||
| ) |
calculates the scalar product of two vectors a nd b
Definition at line 457 of file utils.h.
References i.
Referenced by add_ljangle_pair_force(), angle_btw_triangles(), angle_cosine_energy(), angle_cossquare_energy(), angle_energy(), angle_harmonic_energy(), angledist_energy(), 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_comforce(), calc_dihedral_angle(), calc_overlap_angle_force(), calc_pwangle(), calc_radial_density_map(), calc_tab_angle_force(), compute_pos_corr_vec(), compute_vel_corr_vec(), ext_magn_field_energy(), lb_apply_forces(), lb_calc_fluid_temp(), lb_calc_local_fields(), lb_calc_n_equilibrium(), lb_relax_modes(), ljangle_pair_energy(), orient_order(), overlap_angle_energy(), tab_angle_energy(), and vec_rotate().
| 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 | ||
| ) |
| 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.
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.
| pos1 | Position of particle one. |
| image_box1 | simulation box index of particle one . |
| pos2 | Position of particle two. |
| image_box2 | simulation box index of particle two . |
| box_l | size of simulation box. |
| MDINLINE void unit_vector | ( | double | v[3], |
| double | y[3] | ||
| ) |
calculates unit vector
Definition at line 445 of file utils.h.
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] | ||
| ) |
calculates the vector product c of two vectors a and b
Definition at line 466 of file utils.h.
Referenced by angle_btw_triangles(), angularmomentum(), area_triangle(), area_triangle_new(), calc_comforce(), calc_dihedral_angle(), calc_dihedral_force(), calc_overlap_dihedral_force(), calc_radial_density_map(), calc_tab_dihedral_force(), distribute_mol_force(), polymerC(), and update_mol_vel_particle().
| 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().
| 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().
1.7.5.1