[liggghts] 03/06: Merge
Anton Gladky
gladk at moszumanska.debian.org
Mon Jul 17 22:20:50 UTC 2017
This is an automated email from the git hooks/post-receive script.
gladk pushed a commit to branch master
in repository liggghts.
commit ea5da7671e11bfa47e083cb073d7b5cced06f9ca
Merge: a769922 e042cd2
Author: Anton Gladky <gladk at debian.org>
Date: Mon Jul 17 23:21:20 2017 +0200
Merge
doc/Eqs/cna_cutoff1.tex | 28 +-
doc/Eqs/cna_cutoff2.tex | 24 +-
doc/Eqs/eff_ECP1.tex | 16 +-
doc/Eqs/fix_wall_lj1043.tex | 22 +-
doc/Eqs/heat_flux_k.tex | 22 +-
doc/Eqs/pair_comb1.tex | 14 +-
doc/Eqs/pair_comb2.tex | 44 +-
doc/Eqs/pair_lubricate_GRM.jpg | Bin 0 -> 83152 bytes
doc/Eqs/pair_lubricate_GRM.tex | 17 +
doc/JPG/screenshot_atomeye.jpg | Bin 426608 -> 0 bytes
doc/JPG/screenshot_atomeye_small.jpg | Bin 7498 -> 0 bytes
doc/JPG/screenshot_gl.jpg | Bin 306252 -> 0 bytes
doc/JPG/screenshot_gl_small.jpg | Bin 5875 -> 0 bytes
doc/JPG/screenshot_pymol.jpg | Bin 417093 -> 0 bytes
doc/JPG/screenshot_pymol_small.jpg | Bin 7660 -> 0 bytes
doc/JPG/screenshot_vmd.jpg | Bin 327211 -> 0 bytes
doc/JPG/screenshot_vmd_small.jpg | Bin 6787 -> 0 bytes
doc/Makefile | 161 +-
doc/Manual.html | 407 +-
doc/Manual.pdf | Bin 3368441 -> 0 bytes
doc/Manual.txt | 69 +-
doc/Section_commands.html | 699 +-
doc/Section_commands.txt | 11 +-
doc/Section_commands_LAMMPS.html | 226 +-
doc/Section_errors.html | 13235 ++++-------
doc/Section_errors.txt | 12 +-
doc/Section_gran_models.html | 380 +-
doc/Section_gran_models.txt | 2 +-
doc/Section_gran_models_prev.html | 19 -
doc/Section_gran_models_prev.txt | 17 -
doc/Section_howto.html | 1649 +-
doc/Section_input_script.html | 621 +-
doc/Section_input_script.txt | 6 +-
doc/Section_intro.html | 544 +-
doc/Section_intro.txt | 31 +-
doc/Section_mesh_modules.html | 251 +
doc/Section_mesh_modules.txt | 23 +
doc/Section_modify.html | 1339 +-
doc/Section_packages.html | 369 +-
doc/Section_python.html | 1177 +-
doc/Section_start.html | 2109 +-
doc/Section_start.txt | 385 +-
doc/_downloads/yi_jing_01_chien.jpg | Bin 0 -> 9498 bytes
doc/_images/LIGGGHTS_logo.png | Bin 0 -> 168803 bytes
doc/_images/bond_harmonic.jpg | Bin 0 -> 1861 bytes
doc/_images/box.jpg | Bin 0 -> 11093 bytes
doc/_images/box_inverse.jpg | Bin 0 -> 10250 bytes
doc/_images/centro_symmetry.jpg | Bin 0 -> 4111 bytes
doc/_images/cna_cutoff1.jpg | Bin 0 -> 13431 bytes
doc/_images/cna_cutoff2.jpg | Bin 0 -> 2518 bytes
doc/_images/compute_gyration.jpg | Bin 0 -> 3658 bytes
doc/_images/compute_msd_nongauss.jpg | Bin 0 -> 7277 bytes
doc/_images/fix_box_relax1.jpg | Bin 0 -> 3375 bytes
doc/_images/fix_box_relax2.jpg | Bin 0 -> 3029 bytes
doc/_images/fix_sph_density_continuity_eq1.jpg | Bin 0 -> 2445 bytes
doc/_images/fix_sph_density_continuity_eq2.jpg | Bin 0 -> 3227 bytes
doc/_images/fix_sph_density_corr_eq1.jpg | Bin 0 -> 3031 bytes
doc/_images/fix_sph_density_summation.jpg | Bin 0 -> 1885 bytes
doc/_images/fix_spring_rg.jpg | Bin 0 -> 16204 bytes
doc/_images/fix_wall_colloid.jpg | Bin 0 -> 17879 bytes
doc/_images/fix_wall_harmonic.jpg | Bin 0 -> 2413 bytes
doc/_images/fix_wall_lj93.jpg | Bin 0 -> 4883 bytes
doc/_images/fix_wall_region_sph.jpg | Bin 0 -> 3835 bytes
doc/_images/heat_gran.png | Bin 0 -> 41637 bytes
doc/_images/pair_gran_hooke_eqEpsd1.gif | Bin 0 -> 1093 bytes
doc/_images/pair_gran_hooke_eqEpsd2.gif | Bin 0 -> 5188 bytes
doc/_images/pair_gran_hooke_eqEpsd3.gif | Bin 0 -> 4048 bytes
doc/_images/pair_gran_hooke_eqEpsd4.gif | Bin 0 -> 4046 bytes
doc/_images/pair_gran_hooke_eqEpsd5.gif | Bin 0 -> 814 bytes
doc/_images/pair_gran_html_147eaf38.png | Bin 0 -> 19784 bytes
doc/_images/pair_gran_html_60b8ced2.png | Bin 0 -> 17270 bytes
doc/_images/pair_gran_html_m225ba7de.png | Bin 0 -> 16778 bytes
doc/_images/pair_gran_html_m566a9984.png | Bin 0 -> 10573 bytes
doc/_images/pair_gran_html_m5aad056c.png | Bin 0 -> 25028 bytes
doc/_images/pair_gran_html_m76cd8bd9.png | Bin 0 -> 8736 bytes
doc/_images/pair_lj.jpg | Bin 0 -> 4547 bytes
doc/_images/pair_soft.jpg | Bin 0 -> 4085 bytes
doc/_images/pair_sph_artvisc_tenscorr_eq1.jpg | Bin 0 -> 4337 bytes
doc/_images/pair_sph_artvisc_tenscorr_eq2.jpg | Bin 0 -> 6276 bytes
doc/_images/pair_sph_artvisc_tenscorr_eq3.jpg | Bin 0 -> 4429 bytes
doc/_images/pair_sph_artvisc_tenscorr_eq4.jpg | Bin 0 -> 3338 bytes
doc/_images/pair_sph_artvisc_tenscorr_eq5.jpg | Bin 0 -> 4286 bytes
doc/_images/pair_sph_artvisc_tenscorr_eq6.jpg | Bin 0 -> 2515 bytes
doc/_images/pair_sph_artvisc_tenscorr_eq7.jpg | Bin 0 -> 1871 bytes
doc/_images/pair_sph_artvisc_tenscorr_eq8.jpg | Bin 0 -> 2474 bytes
doc/_images/pressure.jpg | Bin 0 -> 4097 bytes
doc/_images/pressure_tensor.jpg | Bin 0 -> 5038 bytes
doc/_images/rotate.jpg | Bin 0 -> 17991 bytes
doc/_images/screen_mobile.png | Bin 0 -> 96294 bytes
doc/_images/stress_tensor.jpg | Bin 0 -> 22403 bytes
doc/_images/stress_tensor_granular.png | Bin 0 -> 1928 bytes
doc/_images/transform.jpg | Bin 0 -> 60790 bytes
doc/_images/viblin.jpg | Bin 0 -> 24293 bytes
doc/_images/vibrot.jpg | Bin 0 -> 24866 bytes
doc/_images/yi_jing_01_chien.jpg | Bin 0 -> 9498 bytes
doc/_static/ajax-loader.gif | Bin 0 -> 673 bytes
doc/_static/basic.css | 540 +
doc/_static/comment-bright.png | Bin 0 -> 3500 bytes
doc/_static/comment-close.png | Bin 0 -> 3578 bytes
doc/_static/comment.png | Bin 0 -> 3445 bytes
doc/_static/css/badge_only.css | 2 +
doc/_static/css/badge_only.css.map | 7 +
doc/_static/css/theme.css | 5 +
doc/_static/css/theme.css.map | 7 +
doc/_static/doctools.js | 247 +
doc/_static/down-pressed.png | Bin 0 -> 368 bytes
doc/_static/down.png | Bin 0 -> 363 bytes
doc/_static/file.png | Bin 0 -> 392 bytes
doc/_static/fonts/FontAwesome.otf | Bin 0 -> 85908 bytes
doc/_static/fonts/Inconsolata-Bold.ttf | Bin 0 -> 66352 bytes
doc/_static/fonts/Inconsolata-Regular.ttf | Bin 0 -> 84548 bytes
doc/_static/fonts/Lato-Bold.ttf | Bin 0 -> 121788 bytes
doc/_static/fonts/Lato-Regular.ttf | Bin 0 -> 120196 bytes
doc/_static/fonts/RobotoSlab-Bold.ttf | Bin 0 -> 170616 bytes
doc/_static/fonts/RobotoSlab-Regular.ttf | Bin 0 -> 169064 bytes
doc/_static/fonts/fontawesome-webfont.eot | Bin 0 -> 56006 bytes
doc/_static/fonts/fontawesome-webfont.svg | 520 +
doc/_static/fonts/fontawesome-webfont.ttf | Bin 0 -> 112160 bytes
doc/_static/fonts/fontawesome-webfont.woff | Bin 0 -> 65452 bytes
doc/_static/jquery.js | 9266 ++++++++
doc/_static/minus.png | Bin 0 -> 199 bytes
doc/_static/plus.png | Bin 0 -> 199 bytes
doc/_static/pygments.css | 62 +
doc/_static/searchtools.js | 560 +
doc/_static/underscore.js | 807 +
doc/_static/up-pressed.png | Bin 0 -> 372 bytes
doc/_static/up.png | Bin 0 -> 363 bytes
doc/_static/websupport.js | 808 +
doc/atom_modify.html | 361 +-
doc/atom_style.html | 465 +-
doc/atom_style.txt | 4 +-
doc/bond_coeff.html | 330 +-
doc/bond_harmonic.html | 297 +-
doc/bond_hybrid.html | 316 +-
doc/bond_none.html | 250 +-
doc/bond_style.html | 354 +-
doc/boundary.html | 334 +-
doc/box.html | 301 +-
doc/change_box.html | 640 +-
doc/change_box.txt | 8 +-
doc/clear.html | 262 +-
doc/communicate.html | 378 +-
doc/compute.html | 439 +-
doc/compute.txt | 29 +-
doc/compute_atom_molecule.html | 339 +-
doc/compute_atom_molecule.txt | 3 +-
doc/compute_bond_local.html | 322 +-
doc/compute_bond_local.txt | 3 +-
doc/compute_centro_atom.html | 363 +-
doc/compute_centro_atom.txt | 3 +-
doc/compute_cluster_atom.html | 291 +-
doc/compute_cluster_atom.txt | 3 +-
doc/compute_cna_atom.html | 349 +-
doc/compute_cna_atom.txt | 3 +-
doc/compute_com.html | 313 +-
doc/compute_com.txt | 5 +-
doc/compute_com_molecule.html | 317 +-
doc/compute_com_molecule.txt | 5 +-
doc/compute_contact_atom.html | 330 +-
doc/compute_contact_atom.txt | 32 +-
doc/compute_coord_atom.html | 380 +-
doc/compute_coord_atom.txt | 27 +-
doc/compute_coord_gran.html | 286 +-
doc/compute_coord_gran.txt | 5 +-
doc/compute_displace_atom.html | 324 +-
doc/compute_displace_atom.txt | 5 +-
doc/compute_erotate.html | 250 +
doc/compute_erotate.txt | 53 +
doc/compute_erotate_asphere.html | 310 +-
doc/compute_erotate_asphere.txt | 5 +-
doc/compute_erotate_multisphere.html | 288 +-
doc/compute_erotate_multisphere.txt | 5 +-
doc/compute_erotate_sphere.html | 317 +-
doc/compute_erotate_sphere.txt | 16 +-
doc/compute_erotate_sphere_atom.html | 308 +-
doc/compute_erotate_sphere_atom.txt | 5 +-
doc/compute_group_group.html | 314 +-
doc/compute_group_group.txt | 3 +-
doc/compute_gyration.html | 316 +-
doc/compute_gyration.txt | 5 +-
doc/compute_gyration_molecule.html | 332 +-
doc/compute_gyration_molecule.txt | 3 +-
doc/compute_inertia_molecule.html | 318 +-
doc/compute_inertia_molecule.txt | 5 +-
doc/compute_ke.html | 316 +-
doc/compute_ke.txt | 16 +-
doc/compute_ke_atom.html | 300 +-
doc/compute_ke_atom.txt | 5 +-
doc/compute_ke_multisphere.html | 289 +-
doc/compute_ke_multisphere.txt | 5 +-
doc/compute_modify.html | 314 +-
doc/compute_msd.html | 350 +-
doc/compute_msd.txt | 3 +-
doc/compute_msd_molecule.html | 343 +-
doc/compute_msd_molecule.txt | 5 +-
doc/compute_msd_nongauss.html | 321 +-
doc/compute_msd_nongauss.txt | 3 +-
doc/compute_nparticles_tracer_region.html | 363 +-
doc/compute_nparticles_tracer_region.txt | 3 +-
doc/compute_pair_gran_local.html | 418 +-
doc/compute_pair_gran_local.txt | 5 +-
doc/compute_pe.html | 324 +-
doc/compute_pe.txt | 3 +-
doc/compute_pe_atom.html | 350 +-
doc/compute_pe_atom.txt | 3 +-
doc/compute_pressure.html | 367 +-
doc/compute_pressure.txt | 3 +-
doc/compute_property_atom.html | 437 +-
doc/compute_property_atom.txt | 3 +-
doc/compute_property_local.html | 362 +-
doc/compute_property_local.txt | 3 +-
doc/compute_property_molecule.html | 298 +-
doc/compute_property_molecule.txt | 3 +-
doc/compute_rdf.html | 411 +-
doc/compute_rdf.txt | 3 +-
doc/compute_reduce.html | 462 +-
doc/compute_reduce.txt | 3 +-
doc/compute_rigid.html | 359 +-
doc/compute_rigid.txt | 26 +-
doc/compute_slice.html | 348 +-
doc/compute_slice.txt | 3 +-
doc/compute_stress_atom.html | 398 +-
doc/compute_stress_atom.txt | 3 +-
doc/compute_voronoi_atom.html | 399 +-
doc/compute_voronoi_atom.txt | 3 +-
doc/create_atoms.html | 478 +-
doc/create_atoms.txt | 2 +-
doc/create_box.html | 347 +-
doc/create_box.txt | 22 +-
doc/delete_atoms.html | 354 +-
doc/delete_atoms.txt | 4 +-
doc/delete_bonds.html | 352 +-
doc/dielectric.html | 268 +-
doc/dimension.html | 284 +-
doc/displace_atoms.html | 405 +-
doc/displace_atoms.txt | 2 +-
doc/dump.html | 985 +-
doc/dump.txt | 80 +-
doc/dump_custom_vtk.html | 692 +-
doc/dump_custom_vtk.txt | 13 +-
doc/dump_image.html | 986 +-
doc/dump_image.txt | 4 +-
doc/dump_modify.html | 1424 +-
doc/dump_modify_vtk.html | 591 +-
doc/echo.html | 268 +-
doc/fix.html | 454 +-
doc/fix_adapt.html | 517 +-
doc/fix_addforce.html | 418 +-
doc/fix_addforce.txt | 10 +
doc/fix_ave_atom.html | 410 +-
doc/fix_ave_correlate.html | 714 +-
doc/fix_ave_euler.html | 371 +-
doc/fix_ave_euler.txt | 14 +
doc/fix_ave_histo.html | 651 +-
doc/fix_ave_spatial.html | 725 +-
doc/fix_ave_time.html | 627 +-
doc/fix_aveforce.html | 341 +-
doc/fix_bond_break.html | 410 +-
doc/fix_bond_break.txt | 4 +-
doc/fix_bond_create.html | 495 +-
doc/fix_bond_create.txt | 4 +-
doc/fix_box_relax.html | 635 +-
doc/fix_buoyancy.html | 337 +-
doc/fix_check_timestep_gran.html | 333 +-
doc/fix_continuum_weighted.html | 450 +-
doc/fix_couple_cfd.html | 214 +
doc/fix_couple_cfd.txt | 15 +
doc/fix_deform.html | 874 +-
doc/fix_drag.html | 314 +-
doc/fix_drag.txt | 10 +
doc/fix_dt_reset.html | 366 +-
doc/fix_efield.html | 418 +-
doc/fix_enforce2d.html | 279 +-
doc/fix_external.html | 433 +-
doc/fix_freeze.html | 294 +-
doc/fix_gravity.html | 370 +-
doc/fix_heat_gran_conduction.html | 432 +-
doc/fix_heat_gran_conduction.txt | 29 +-
doc/fix_insert_pack.html | 614 +-
doc/fix_insert_pack.txt | 26 +-
doc/fix_insert_rate_region.html | 596 +-
doc/fix_insert_rate_region.txt | 31 +-
doc/fix_insert_stream.html | 662 +-
doc/fix_insert_stream.txt | 18 +-
doc/fix_lineforce.html | 288 +-
doc/fix_massflow_mesh.html | 391 +-
doc/fix_massflow_mesh.txt | 12 +-
doc/fix_massflow_mesh_sieve.html | 349 +-
doc/fix_mesh_surface.html | 630 +-
doc/fix_mesh_surface.txt | 70 +-
doc/fix_mesh_surface_stress.html | 76 -
doc/fix_mesh_surface_stress.txt | 65 -
doc/fix_mesh_surface_stress_servo.html | 112 -
doc/fix_mesh_surface_stress_servo.txt | 102 -
doc/fix_modify.html | 305 +-
doc/fix_momentum.html | 312 +-
doc/fix_move.html | 517 +-
doc/fix_move_mesh.html | 585 +-
doc/fix_move_mesh.txt | 8 +-
doc/fix_multicontact_halfspace.html | 311 +-
doc/fix_multicontact_halfspace.txt | 4 +-
doc/fix_multisphere.html | 355 +-
doc/fix_multisphere_break.html | 311 +-
doc/fix_nve.html | 276 +-
doc/fix_nve_asphere.html | 299 +-
doc/fix_nve_asphere_noforce.html | 297 +-
doc/fix_nve_limit.html | 333 +-
doc/fix_nve_line.html | 294 +-
doc/fix_nve_noforce.html | 292 +-
doc/fix_nve_sphere.html | 313 +-
doc/fix_particledistribution_discrete.html | 332 +-
doc/fix_particledistribution_discrete.txt | 6 +-
doc/fix_particletemplate_multisphere.html | 394 +-
doc/fix_particletemplate_multisphere.txt | 9 +-
doc/fix_particletemplate_sphere.html | 326 +-
doc/fix_particletemplate_sphere.txt | 4 +-
doc/fix_planeforce.html | 288 +-
doc/fix_poems.html | 333 +-
doc/fix_poems.txt | 6 +-
doc/fix_print.html | 339 +-
doc/fix_property.html | 348 +-
doc/fix_property_atom_region_tracer_time.html | 273 +
doc/fix_property_atom_region_tracer_time.txt | 74 +
doc/fix_property_atom_timetracer.html | 82 -
doc/fix_property_atom_timetracer.txt | 73 -
doc/fix_property_atom_tracer.html | 327 +-
doc/fix_property_atom_tracer_stream.html | 325 +-
doc/fix_rigid.html | 764 +-
doc/fix_rigid.txt | 2 +-
doc/fix_setforce.html | 341 +-
doc/fix_sph_density_continuity.html | 326 +-
doc/fix_sph_density_corr.html | 325 +-
doc/fix_sph_density_summation.html | 326 +-
doc/fix_sph_pressure.html | 297 +-
doc/fix_sph_pressure.txt | 0
doc/fix_spring.html | 389 +-
doc/fix_spring_rg.html | 322 +-
doc/fix_spring_self.html | 322 +-
doc/fix_store_force.html | 303 +-
doc/fix_store_state.html | 435 +-
doc/fix_viscous.html | 340 +-
doc/fix_wall_gran.html | 549 +-
doc/fix_wall_reflect.html | 443 +-
doc/fix_wall_region.html | 485 +-
doc/fix_wall_region_sph.html | 268 +
doc/genindex.html | 1312 ++
doc/githubAccess_non-public.html | 101 -
doc/githubAccess_non-public.txt | 84 -
doc/githubAccess_public.html | 55 -
doc/githubAccess_public.txt | 46 -
doc/gran_cohesion_easo_capillary_viscous.html | 463 +-
doc/gran_cohesion_easo_capillary_viscous.txt | 18 +-
doc/gran_cohesion_sjkr.html | 313 +-
doc/gran_cohesion_sjkr.txt | 8 +
doc/gran_cohesion_sjkr2.html | 321 +-
doc/gran_cohesion_sjkr2.txt | 12 +
doc/gran_cohesion_washino_capillary_viscous.html | 472 +-
doc/gran_cohesion_washino_capillary_viscous.txt | 16 +-
doc/gran_model_hertz.html | 409 +-
doc/gran_model_hertz.txt | 34 +-
doc/gran_model_hertz_stiffness.html | 378 +-
doc/gran_model_hertz_stiffness.txt | 10 +
doc/gran_model_hooke.html | 485 +-
doc/gran_model_hooke.txt | 29 +-
doc/gran_model_hooke_stiffness.html | 396 +-
doc/gran_model_hooke_stiffness.txt | 10 +-
doc/gran_rolling_friction_cdt.html | 296 +-
doc/gran_rolling_friction_cdt.txt | 24 +-
doc/gran_rolling_friction_epsd.html | 334 +-
doc/gran_rolling_friction_epsd.txt | 24 +-
doc/gran_rolling_friction_epsd2.html | 304 +-
doc/gran_rolling_friction_epsd2.txt | 24 +-
doc/gran_rolling_friction_epsd3.html | 351 +-
doc/gran_rolling_friction_epsd3.txt | 25 +-
doc/gran_surface_multicontact.html | 254 +-
doc/gran_surface_multicontact.txt | 10 +-
doc/gran_surface_sphere.html | 244 +-
doc/gran_surface_sphere.txt | 9 +
doc/gran_tangential_history.html | 296 +-
doc/gran_tangential_history.txt | 15 +
doc/gran_tangential_no_history.html | 290 +-
doc/gran_tangential_no_history.txt | 31 +-
doc/group.html | 454 +-
doc/group.txt | 8 +-
doc/if.html | 459 +-
doc/include.html | 267 +-
doc/info.html | 331 +-
doc/install_liggghts_windows.html | 456 +-
doc/jump.html | 366 +-
doc/label.html | 259 +-
doc/lattice.html | 500 +-
doc/liggghts_2.X_tutorial.html | 556 +-
doc/liggghts_3.X_tutorial.html | 399 +-
doc/log.html | 280 +-
doc/make.bat | 484 +-
doc/mass.html | 319 +-
doc/mesh_module_liquidtransfer.html | 273 +
doc/mesh_module_liquidtransfer.txt | 73 +
doc/mesh_module_servo.html | 299 +
doc/mesh_module_servo.txt | 100 +
doc/mesh_module_stress.html | 273 +
doc/mesh_module_stress.txt | 71 +
doc/neigh_modify.html | 476 +-
doc/neigh_modify.txt | 28 +-
doc/neighbor.html | 334 +-
doc/neighbor.txt | 13 +-
doc/newton.html | 323 +-
doc/next.html | 389 +-
doc/objects.inv | Bin 0 -> 1569 bytes
doc/orient.html | 284 +-
doc/origin.html | 271 +-
doc/pair_coeff.html | 358 +-
doc/pair_gran.html | 439 +-
doc/pair_hybrid.html | 426 +-
doc/pair_none.html | 262 +-
doc/pair_soft.html | 366 +-
doc/pair_sph.html | 335 +-
doc/pair_sph_artvisc_tenscorr.html | 443 +-
doc/pair_style.html | 333 +-
doc/partition.html | 297 +-
doc/print.html | 307 +-
doc/processors.html | 645 +-
doc/quit.html | 282 +-
doc/read_data.html | 1229 +-
doc/read_dump.html | 593 +-
doc/read_restart.html | 385 +-
doc/region.html | 743 +-
doc/replicate.html | 324 +-
doc/replicate.txt | 48 +-
doc/reset_timestep.html | 286 +-
doc/restart.html | 390 +-
doc/run.html | 447 +-
doc/run.txt | 8 +-
doc/run_style.html | 418 +-
doc/search.html | 216 +
doc/searchindex.js | 1 +
doc/set.html | 718 +-
doc/set.txt | 20 +-
doc/shell.html | 354 +-
doc/thermo.html | 295 +-
doc/thermo_modify.html | 386 +-
doc/thermo_style.html | 591 +-
doc/thermo_style.txt | 4 +-
doc/timestep.html | 285 +-
doc/uncompute.html | 262 +-
doc/undump.html | 276 +-
doc/unfix.html | 262 +-
doc/units.html | 572 +-
doc/variable.html | 1477 +-
doc/variable.txt | 18 +-
doc/velocity.html | 464 +-
doc/write_data.html | 356 +-
doc/write_dump.html | 332 +-
doc/write_restart.html | 343 +-
.../ParScale/fluidizedBedTempParScale/README.md | 15 +
.../ParScale/fluidizedBedTempParScale/cleanCase.sh | 38 +
.../fluidizedBedTempParScale/codeInfo.pascal | 6 +
.../ParScale/fluidizedBedTempParScale/in.DEM | 59 +
.../fluidizedBedTempParScale/in.liggghts_init | 99 +
.../fluidizedBedTempParScale/in.liggghts_run | 139 +
.../fluidizedBedTempParScale/particle.data | 12 +
.../fluidizedBedTempParScale/particleFew.data | 34 +
.../fluidizedBedTempParScale/particleTemp.profile | 3 +
.../fluidizedBedTempParScale/pascal/0/heat.json | 16 +
.../pascal/0/heat_fewParticle.json | 16 +
.../pascal/0/heat_multiParticle.json | 1006 +
.../pascal/0/heat_singleParticle.json | 7 +
.../fluidizedBedTempParScale/pascal/0/radius.json | 16 +
.../pascal/0/radius_fewParticle.json | 16 +
.../pascal/0/radius_multiParticle.json | 1006 +
.../pascal/0/radius_singleParticle.json | 7 +
.../pascal/genPascalInput.m | 58 +
.../fluidizedBedTempParScale/pascal/in.pascal | 19 +
.../fluidizedBedTempParScale/pascal/plotMe.m | 83 +
.../pascal/settings/coupling_liggghts.json | 7 +
.../pascal/settings/integrator.json | 18 +
.../pascal/settings/model_heatCapacity_solid.json | 8 +
.../pascal/settings/model_heatDensity_solid.json | 7 +
.../model_heatThermalConductivity_solid.json | 8 +
.../fluidizedBedTempParScale/post/.gitignore | 0
.../fluidizedBedTempParScale/post/restart/.dummy | 0
.../post/restart/.gitignore | 0
.../settings/parscale.json | 7 +
.../ParScale/heatTransferBed_paScal/in.liggghts | 2 +-
.../Tutorials_public/chute_wear/in.chute_wear | 80 +-
.../chute_wear/meshes/insertion_face.stl | 10 +-
.../chute_wear/meshes/simple_chute.stl | 22628 +++++++++----------
.../LIGGGHTS/Tutorials_public/cohesion/in.cohesion | 2 +-
.../Tutorials_public/cohesion/in.noCohesion | 2 +-
.../Tutorials_public/contactModels/in.newModels | 2 +-
.../Tutorials_public/contactModels/in.oldModels | 2 +-
.../LIGGGHTS/Tutorials_public/conveyor/in.conveyor | 2 +-
.../Tutorials_public/conveyor/meshes/box.stl | 144 +-
.../Tutorials_public/conveyor/meshes/conveyor.stl | 32 +-
.../Tutorials_public/heatTransfer_1/in.heatGran | 2 +-
.../Tutorials_public/heatTransfer_2/in.heatGran | 2 +-
.../hydrogel_multicontact/data/input.data | 1043 +
.../hydrogel_multicontact/force_comparison.plot | 20 +
.../hydrogel_multicontact/in.hydrogel_default | 103 +
.../hydrogel_multicontact/in.hydrogel_multicontact | 105 +
.../meshes/piston_hydrogel.stl | 16 +
.../hydrogel_multicontact/post/.gitignore | 2 +
.../Tutorials_public/hysteresis/in.hysteresis | 2 +-
.../Tutorials_public/hysteresis/in.noHysteresis | 2 +-
.../insert_stream/in.insert_stream | 4 +-
.../insert_stream/in.insert_stream_reset_timestep | 13 +-
.../Tutorials_public/insert_stream/meshes/face.stl | 1208 +-
.../LIGGGHTS/Tutorials_public/meshGran/in.meshGran | 2 +-
.../Tutorials_public/mesh_tet/data/test.vtk | 6370 +++---
.../LIGGGHTS/Tutorials_public/mesh_tet/in.mesh_tet | 2 +-
.../movingMeshGran/in.movingMeshGran | 2 +-
.../movingMeshGran/meshes/bucket.stl | 396 +-
.../multisphere_stone_restitution/in.multisphere | 3 +-
.../LIGGGHTS/Tutorials_public/packing/in.packing | 2 +-
examples/LIGGGHTS/Tutorials_public/sph_1/in.sph_1 | 2 +-
examples/LIGGGHTS/Tutorials_public/sph_2/in.sph_2 | 2 +-
src/.gitignore | 13 +
src/ASPHERE/compute_erotate_asphere.cpp | 7 +-
src/ASPHERE/compute_erotate_asphere.h | 2 +-
src/CMakeLists.txt | 18 +-
src/MAKE/CMakeLists_Catalyst.txt | 30 +
src/MAKE/Makefile.auto | 936 +
src/MAKE/Makefile.fedora_vtk_fpic | 118 -
src/MAKE/Makefile.fedora_vtk_fpic_debug | 118 -
src/MAKE/Makefile.lise_fpic | 118 +
src/MAKE/Makefile.mpi | 123 +
src/MAKE/Makefile.serial | 35 +-
src/MAKE/Makefile.ubuntuVTK | 118 -
src/MAKE/Makefile.ubuntuVTK6 | 116 -
src/MAKE/Makefile.ubuntuVTK_debug | 118 -
src/MAKE/Makefile.ubuntuVTK_fpic | 118 -
src/MAKE/Makefile.ubuntuVTK_fpic_debug | 119 -
src/MAKE/Makefile.ubuntu_15p10_vtk | 118 -
src/MAKE/Makefile.ubuntu_15p10_vtk_debug | 118 -
src/MAKE/Makefile.ubuntu_15p10_vtk_fpic | 118 -
src/MAKE/Makefile.ubuntu_convex_vtk5p10 | 116 -
src/MAKE/Makefile.user_default | 153 +
src/MAKE/{ => deprecated}/Makefile.altix | 0
src/MAKE/{ => deprecated}/Makefile.bgl | 0
src/MAKE/{ => deprecated}/Makefile.chama | 0
src/MAKE/{ => deprecated}/Makefile.clang | 0
src/MAKE/{ => deprecated}/Makefile.cygwin | 0
src/MAKE/{ => deprecated}/Makefile.encanto | 0
src/MAKE/{ => deprecated}/Makefile.fedora | 0
src/MAKE/{ => deprecated}/Makefile.fedora_debug | 0
.../{ => deprecated}/Makefile.fedora_debug_opt | 0
src/MAKE/{ => deprecated}/Makefile.fedora_fpic | 0
.../{ => deprecated}/Makefile.fedora_fpic_debug | 0
src/MAKE/{ => deprecated}/Makefile.fedora_gp | 0
src/MAKE/deprecated/Makefile.fedora_vtk_fpic | 118 +
src/MAKE/deprecated/Makefile.fedora_vtk_fpic_debug | 118 +
src/MAKE/{ => deprecated}/Makefile.fink | 0
src/MAKE/{ => deprecated}/Makefile.g++ | 0
src/MAKE/{ => deprecated}/Makefile.g++3 | 0
src/MAKE/{ => deprecated}/Makefile.g++_mingw64 | 0
src/MAKE/{ => deprecated}/Makefile.glory | 0
src/MAKE/{ => deprecated}/Makefile.jaguar | 0
src/MAKE/{ => deprecated}/Makefile.lam | 0
src/MAKE/{ => deprecated}/Makefile.linux | 0
src/MAKE/{ => deprecated}/Makefile.mac | 0
src/MAKE/{ => deprecated}/Makefile.mac_mpi | 0
src/MAKE/{ => deprecated}/Makefile.mingw | 0
src/MAKE/{ => deprecated}/Makefile.mkl | 0
src/MAKE/{ => deprecated}/Makefile.odin | 0
src/MAKE/{ => deprecated}/Makefile.openmpi | 0
src/MAKE/{ => deprecated}/Makefile.pgi | 0
src/MAKE/{ => deprecated}/Makefile.power5 | 0
src/MAKE/{ => deprecated}/Makefile.qed | 0
src/MAKE/{ => deprecated}/Makefile.redsky | 0
src/MAKE/{ => deprecated}/Makefile.sdsc | 0
src/MAKE/{ => deprecated}/Makefile.seaborg | 0
src/MAKE/{ => deprecated}/Makefile.serial_debug | 0
src/MAKE/{ => deprecated}/Makefile.sgi | 0
src/MAKE/{ => deprecated}/Makefile.solaris | 0
src/MAKE/{ => deprecated}/Makefile.spirit | 0
src/MAKE/{ => deprecated}/Makefile.storm | 0
src/MAKE/{ => deprecated}/Makefile.tacc | 0
src/MAKE/{ => deprecated}/Makefile.tbird | 0
src/MAKE/{ => deprecated}/Makefile.tesla | 0
src/MAKE/{ => deprecated}/Makefile.tunnison | 0
src/MAKE/deprecated/Makefile.ubuntuVTK | 119 +
src/MAKE/deprecated/Makefile.ubuntuVTK6 | 116 +
src/MAKE/deprecated/Makefile.ubuntuVTKConvex | 116 +
src/MAKE/deprecated/Makefile.ubuntuVTKConvex_debug | 116 +
src/MAKE/deprecated/Makefile.ubuntuVTK_debug | 118 +
src/MAKE/deprecated/Makefile.ubuntuVTK_fpic | 118 +
src/MAKE/deprecated/Makefile.ubuntuVTK_fpic_debug | 119 +
src/MAKE/{ => deprecated}/Makefile.xe6 | 0
src/MAKE/{ => deprecated}/Makefile.xt3 | 0
src/MAKE/{ => deprecated}/Makefile.xt5 | 0
src/MAKE/deprecated/_README | 3 +
src/Make.sh | 254 +-
src/Makefile | 36 +-
src/Makefile.lib | 33 +-
src/Makefile.list | 33 +-
src/Makefile.shlib | 39 +-
src/PASCAL/fix_pascal_couple.cpp | 9 +-
src/POEMS/Install.sh | 19 +-
src/STUBS/mpi.c | 9 +
src/STUBS/mpi.h | 2 +
src/VORONOI/compute_voronoi_atom.cpp | 5 +-
src/VORONOI/compute_voronoi_atom.h | 2 +-
src/WINDOWS/GenerateHeaders.bat | 16 -
src/WINDOWS/extra/dirent.h | 372 -
src/WINDOWS/extra/erf.h | 20 -
src/WINDOWS/extra/erf_namd.c | 345 -
src/WINDOWS/extra/fftw2/FFTW2dll.dll | Bin 263168 -> 0 bytes
src/WINDOWS/extra/fftw2/FFTW2dll.lib | Bin 22998 -> 0 bytes
src/WINDOWS/extra/fftw2/FFTW2st.lib | Bin 404572 -> 0 bytes
src/WINDOWS/extra/fftw2/RFFTW2dll.dll | Bin 481792 -> 0 bytes
src/WINDOWS/extra/fftw2/RFFTW2dll.lib | Bin 35830 -> 0 bytes
src/WINDOWS/extra/fftw2/RFFTW2st.lib | Bin 337962 -> 0 bytes
src/WINDOWS/extra/fftw2/fftw.h | 421 -
src/WINDOWS/extra/fftw2/x64/FFTW2dll.dll | Bin 228864 -> 0 bytes
src/WINDOWS/extra/fftw2/x64/FFTW2dll.lib | Bin 9588 -> 0 bytes
src/WINDOWS/extra/fftw2/x64/FFTW2st.lib | Bin 797762 -> 0 bytes
src/WINDOWS/extra/fftw2/x64/RFFTW2dll.dll | Bin 411648 -> 0 bytes
src/WINDOWS/extra/fftw2/x64/RFFTW2dll.lib | Bin 14618 -> 0 bytes
src/WINDOWS/extra/fftw2/x64/RFFTW2st.lib | Bin 668694 -> 0 bytes
src/WINDOWS/extra/inttypes.h | 305 -
src/WINDOWS/extra/sleep.cpp | 10 -
src/WINDOWS/extra/sleep.h | 1 -
src/WINDOWS/extra/stdint.h | 247 -
src/WINDOWS/extra/sys/time.h | 28 -
src/WINDOWS/extra/unistd.h | 4 -
src/abstract_mesh.h | 25 +-
src/angle.cpp | 4 +-
src/associative_pointer_array.h | 19 +-
src/associative_pointer_array_I.h | 74 +-
src/atom.cpp | 39 +-
src/atom.h | 1 +
src/cfd_datacoupling.cpp | 4 +-
src/cfd_datacoupling.h | 4 +-
src/cfd_datacoupling_file.cpp | 35 +-
src/cfd_datacoupling_mpi.cpp | 4 +-
src/cfd_datacoupling_mpi.h | 4 +-
src/change_box.cpp | 14 +-
src/cleanAllNonSpherical.sh | 3 +
src/cleanAllParScale.sh | 3 +
src/cohesion_model_base.h | 106 +
src/cohesion_model_easo_capillary_viscous.h | 108 +-
src/cohesion_model_sjkr.h | 28 +-
src/cohesion_model_sjkr2.h | 28 +-
src/cohesion_model_washino_capillary_viscous.h | 197 +-
src/compute.cpp | 22 +-
src/compute.h | 14 +-
src/compute_atom_molecule.cpp | 10 +-
src/compute_atom_molecule.h | 2 +-
src/compute_bond_local.cpp | 21 +-
src/compute_bond_local.h | 2 +-
src/compute_centro_atom.cpp | 17 +-
src/compute_centro_atom.h | 2 +-
src/compute_cluster_atom.cpp | 8 +-
src/compute_cluster_atom.h | 2 +-
src/compute_cna_atom.cpp | 9 +-
src/compute_cna_atom.h | 2 +-
src/compute_com.cpp | 6 +-
src/compute_com.h | 2 +-
src/compute_com_molecule.cpp | 6 +-
src/compute_com_molecule.h | 2 +-
src/compute_contact_atom.cpp | 20 +-
src/compute_contact_atom.h | 2 +-
src/compute_coord_atom.cpp | 27 +-
src/compute_coord_atom.h | 2 +-
src/compute_displace_atom.cpp | 6 +-
src/compute_displace_atom.h | 2 +-
src/compute_erotate.cpp | 197 +
src/compute_erotate.h | 84 +
src/compute_erotate_multisphere.cpp | 6 +-
src/compute_erotate_multisphere.h | 2 +-
src/compute_erotate_sphere.cpp | 78 +-
src/compute_erotate_sphere.h | 5 +-
src/compute_erotate_sphere_atom.cpp | 7 +-
src/compute_erotate_sphere_atom.h | 2 +-
src/compute_group_group.cpp | 12 +-
src/compute_group_group.h | 2 +-
src/compute_gyration.cpp | 6 +-
src/compute_gyration.h | 2 +-
src/compute_gyration_molecule.cpp | 8 +-
src/compute_gyration_molecule.h | 2 +-
src/compute_inertia_molecule.cpp | 7 +-
src/compute_inertia_molecule.h | 2 +-
src/compute_ke.cpp | 95 +-
src/compute_ke.h | 3 +-
src/compute_ke_atom.cpp | 6 +-
src/compute_ke_atom.h | 2 +-
src/compute_ke_multisphere.cpp | 7 +-
src/compute_ke_multisphere.h | 2 +-
src/compute_msd.cpp | 7 +-
src/compute_msd.h | 2 +-
src/compute_msd_molecule.cpp | 6 +-
src/compute_msd_molecule.h | 2 +-
src/compute_nparticles_tracer_region.cpp | 7 +-
src/compute_nparticles_tracer_region.h | 2 +-
src/compute_pair_gran_local.cpp | 123 +-
src/compute_pair_gran_local.h | 17 +-
src/compute_pe.cpp | 9 +-
src/compute_pe.h | 2 +-
src/compute_pe_atom.cpp | 9 +-
src/compute_pe_atom.h | 2 +-
src/compute_pressure.cpp | 14 +-
src/compute_pressure.h | 2 +-
src/compute_property_atom.cpp | 46 +-
src/compute_property_atom.h | 4 +-
src/compute_property_local.cpp | 13 +-
src/compute_property_local.h | 2 +-
src/compute_property_molecule.cpp | 14 +-
src/compute_property_molecule.h | 2 +-
src/compute_rdf.cpp | 15 +-
src/compute_rdf.h | 2 +-
src/compute_reduce.cpp | 33 +-
src/compute_reduce.h | 2 +-
src/compute_reduce_region.cpp | 9 +-
src/compute_reduce_region.h | 2 +-
src/compute_rigid.cpp | 191 +-
src/compute_rigid.h | 8 +-
src/compute_slice.cpp | 25 +-
src/compute_slice.h | 2 +-
src/compute_stress_atom.cpp | 9 +-
src/compute_stress_atom.h | 2 +-
src/compute_surface.cpp | 7 +-
src/compute_surface.h | 2 +-
src/compute_temp.cpp | 6 +-
src/compute_temp.h | 2 +-
src/contact_interface.h | 39 +-
src/contact_model_base.h | 76 +
src/contact_model_constants.h | 96 +-
src/contact_models.cpp | 179 +-
src/contact_models.h | 567 +-
src/container_base.cpp | 37 +-
src/container_base.h | 61 +-
src/container_base_I.h | 9 +
src/create_box.cpp | 20 +-
src/custom_value_tracker.cpp | 8 +-
src/custom_value_tracker.h | 190 +-
src/custom_value_tracker_I.h | 137 +-
src/delete_atoms.cpp | 4 +
src/displace_atoms.cpp | 10 +-
src/domain.cpp | 187 +-
src/domain.h | 6 +-
src/dump.cpp | 438 +-
src/dump.h | 23 +-
src/dump_atom_vtk.cpp | 38 +-
src/dump_atom_vtk.h | 11 +-
src/dump_custom.cpp | 1 -
src/dump_custom_vtk.cpp | 3267 +--
src/dump_custom_vtk.h | 154 +-
src/dump_custom_vtm.cpp | 602 +
src/dump_custom_vtm.h | 288 +
src/dump_euler_vtk.cpp | 2 +-
src/dump_image.cpp | 2 +-
src/dump_local.cpp | 3 +-
src/dump_local_gran.cpp | 801 +
src/dump_local_gran.h | 162 +
src/dump_local_gran_vtk.cpp | 705 +-
src/dump_local_gran_vtk.h | 62 +-
src/dump_mesh.cpp | 928 +
src/dump_mesh.h | 133 +
src/dump_mesh_vtk.cpp | 83 +-
src/dump_mesh_vtk.h | 2 +
src/dump_particle.cpp | 3225 +++
src/dump_particle.h | 434 +
src/dump_vtk.cpp | 134 +
src/dump_vtk.h | 84 +
src/dump_xyz.cpp | 3 +-
src/error.cpp | 78 +-
src/error.h | 4 +
src/error_special.h | 138 +
src/finish.cpp | 11 +-
src/fix.cpp | 18 +-
src/fix.h | 52 +-
src/fix_adapt.cpp | 2 +
src/fix_ave_atom.cpp | 2 -
src/fix_ave_correlate.cpp | 4 -
src/fix_ave_euler.cpp | 29 +-
src/fix_ave_histo.cpp | 6 -
src/fix_ave_spatial.cpp | 27 +-
src/fix_ave_time.cpp | 4 -
src/fix_base_liggghts.cpp | 4 +-
src/fix_calculate_energy_wall.h | 2 +
src/fix_cfd_coupling_convection.cpp | 70 +-
src/fix_cfd_coupling_convection.h | 10 +-
src/fix_cfd_coupling_force.cpp | 53 +-
src/fix_cfd_coupling_force.h | 2 +-
src/fix_cfd_coupling_force_implicit.cpp | 1 +
src/fix_check_timestep_gran.cpp | 69 +-
src/fix_contact_history.cpp | 36 +-
src/fix_contact_history.h | 3 +
src/fix_contact_history_mesh.cpp | 44 +-
src/fix_contact_history_mesh.h | 4 +-
src/fix_contact_history_mesh_I.h | 4 +-
src/fix_contact_property_atom.cpp | 2 +-
src/fix_contact_property_atom.h | 3 +
src/fix_contact_property_atom_wall.cpp | 11 +-
src/fix_contact_property_atom_wall.h | 23 +-
src/fix_dummy.h | 109 +
src/fix_heat_gran.cpp | 15 +-
src/fix_heat_gran.h | 2 +-
src/fix_heat_gran_conduction.cpp | 160 +-
src/fix_heat_gran_conduction.h | 18 +-
src/fix_insert.cpp | 56 +-
src/fix_insert.h | 17 +-
src/fix_insert_pack.cpp | 20 +-
src/fix_insert_pack.h | 3 +
src/fix_insert_rate_region.cpp | 5 +-
src/fix_insert_stream.cpp | 110 +-
src/fix_insert_stream.h | 14 +
src/fix_insert_stream_predefined.h | 2 +
src/fix_massflow_mesh.cpp | 95 +-
src/fix_massflow_mesh.h | 13 +-
src/fix_massflow_mesh_sieve.cpp | 32 +-
src/fix_massflow_mesh_sieve.h | 2 -
src/fix_mesh.cpp | 137 +-
src/fix_mesh.h | 41 +-
src/fix_mesh_surface.cpp | 571 +-
src/fix_mesh_surface.h | 82 +-
src/fix_mesh_surface_stress.cpp | 442 -
src/fix_mesh_surface_stress.h | 172 -
src/fix_mesh_surface_stress_servo.h | 144 -
src/fix_move.cpp | 6 +-
src/fix_move_mesh.cpp | 52 +-
src/fix_move_mesh.h | 10 +-
src/fix_multicontact_halfspace.cpp | 4 +-
src/fix_multisphere.cpp | 268 +-
src/fix_multisphere.h | 36 +-
src/fix_multisphere_break.cpp | 9 +-
src/fix_multisphere_break.h | 4 +-
src/fix_neighlist_mesh.cpp | 12 +-
src/fix_nve_sphere.cpp | 1 +
src/fix_particledistribution_discrete.cpp | 135 +-
src/fix_particledistribution_discrete.h | 18 +
src/fix_print.cpp | 6 +-
src/fix_property_atom.cpp | 11 +-
src/fix_property_atom.h | 4 +-
src/fix_property_atom_region_tracer.cpp | 273 +
src/fix_property_atom_region_tracer.h | 89 +
src/fix_property_atom_timetracer.cpp | 234 -
src/fix_property_atom_timetracer.h | 81 -
src/fix_property_atom_tracer_stream.cpp | 10 +-
src/fix_property_atom_tracer_stream.h | 9 +-
src/fix_property_global.cpp | 22 +-
src/fix_property_global.h | 1 +
src/fix_store_state.cpp | 2 -
src/fix_template_multiplespheres.cpp | 140 +-
src/fix_template_multiplespheres.h | 40 +-
src/fix_template_multisphere.cpp | 80 +-
src/fix_template_multisphere.h | 2 +-
src/fix_template_sphere.cpp | 333 +-
src/fix_template_sphere.h | 124 +-
src/fix_wall_gran.cpp | 279 +-
src/fix_wall_gran.h | 18 +-
src/fix_wall_gran_base.h | 159 +-
src/force.cpp | 10 +-
src/force.h | 97 +-
src/general_container.h | 11 +-
src/general_container_I.h | 1397 +-
src/global_properties.cpp | 241 +-
src/global_properties.h | 145 +-
src/granular_pair_style.h | 2 +-
src/granular_styles.cpp | 131 -
src/granular_styles.h | 153 +
src/granular_wall.h | 2 +-
src/group.cpp | 228 +-
src/group.h | 4 +
src/input.cpp | 59 +-
src/input.h | 3 +-
src/input_mesh_tri.cpp | 16 +-
src/lammps.cpp | 121 +-
src/lammps.h | 4 +
src/library.cpp | 18 +-
src/library.h | 16 +-
src/library_cfd_coupling.cpp | 14 +-
src/library_cfd_coupling.h | 8 +-
src/lmpwindows.h | 4 +-
src/main.cpp | 28 +
src/math_const.h | 1 +
src/math_extra.cpp | 16 +-
src/math_extra.h | 12 +-
src/math_extra_liggghts.h | 40 +-
src/mesh_module.cpp | 57 +
src/mesh_module.h | 93 +
src/mesh_module_liquidtransfer.cpp | 210 +
src/mesh_module_liquidtransfer.h | 113 +
src/mesh_module_stress.cpp | 441 +
src/mesh_module_stress.h | 195 +
src/mesh_module_stress_servo.cpp | 734 +
src/mesh_module_stress_servo.h | 152 +
src/mesh_mover.cpp | 722 -
src/mesh_mover.h | 443 +-
src/mesh_mover_linear.cpp | 364 +
src/mesh_mover_linear.h | 156 +
src/mesh_mover_rotation.cpp | 420 +
src/mesh_mover_rotation.h | 157 +
src/min.cpp | 8 +-
src/modified_andrew.cpp | 20 +-
src/modified_andrew.h | 14 +-
src/modify.cpp | 118 +-
src/modify.h | 19 +-
src/modify_liggghts.cpp | 87 +
src/mpi_liggghts.h | 2 +-
src/multi_node_mesh.h | 42 +-
src/multi_node_mesh_I.h | 108 +-
src/multi_node_mesh_parallel.h | 29 +-
src/multi_node_mesh_parallel_I.h | 206 +-
src/multi_node_mesh_parallel_buffer_I.h | 59 +-
src/multisphere.cpp | 30 +-
src/multisphere.h | 11 +-
src/multisphere_I.h | 17 +
src/multisphere_parallel.cpp | 2 +-
src/neigh_modify.h | 71 +
src/neighbor.cpp | 53 +-
src/neighbor.h | 21 +-
src/nonspherical_flags.h | 18 -
src/normal_model_base.h | 107 +
src/normal_model_hertz.h | 326 +-
src/normal_model_hertz_stiffness.h | 46 +-
src/normal_model_hooke.h | 287 +-
src/normal_model_hooke_hysteresis.h | 48 +-
src/normal_model_hooke_stiffness.h | 30 +-
src/output.cpp | 134 +-
src/output.h | 49 +-
src/pair.cpp | 22 +-
src/pair_gran.cpp | 27 +
src/pair_gran.h | 44 +-
src/pair_gran_base.h | 73 +-
src/pair_gran_proxy.cpp | 25 +-
src/particleToInsert.cpp | 53 +-
src/particleToInsert.h | 23 +-
src/particleToInsert_multisphere.cpp | 21 +-
src/particleToInsert_multisphere.h | 2 +
src/primitive_wall_definitions.h | 11 +-
src/probability_distribution.h | 90 +-
src/properties.cpp | 38 +-
src/properties.h | 9 +
src/random_park.cpp | 13 +-
src/read_dump.cpp | 65 +-
src/reader_native.cpp | 17 +-
src/region.cpp | 5 +-
src/region.h | 2 +-
src/region_mesh_tet.cpp | 2 +-
src/region_neighbor_list.h | 44 +-
src/region_neighbor_list_I.h | 169 +-
src/region_neighbor_list_base.h | 76 +
src/region_neighbor_list_definitions.h | 64 +-
src/replicate.cpp | 460 +-
src/respa.cpp | 4 +
src/rolling_model_base.h | 102 +
src/rolling_model_cdt.h | 58 +-
src/rolling_model_epsd.h | 121 +-
src/rolling_model_epsd2.h | 72 +-
src/rolling_model_epsd3.h | 93 +-
src/run.cpp | 51 +-
src/run.h | 12 +-
src/run_time.cpp | 97 +
src/run_time.h | 118 +
src/set.cpp | 94 +-
src/settings.h | 43 +-
src/signal_handling.cpp | 113 +
src/signal_handling.h | 59 +
src/sort_buffer.cpp | 486 +
src/sort_buffer.h | 104 +
src/string_liggghts.h | 16 +
src/style_angle.h | 1 -
src/style_atom.h | 8 -
src/style_bond.h | 1 -
src/style_cfd_datacoupling.h | 2 -
src/style_cohesion_model.h | 4 -
src/style_command.h | 18 -
src/style_compute.h | 38 -
src/style_contact_model.h | 750 -
src/style_dihedral.h | 1 -
src/style_dump.h | 12 -
src/style_fix.h | 95 -
src/style_improper.h | 1 -
src/style_integrate.h | 2 -
src/style_lb.h | 0
src/style_minimize.h | 1 -
src/style_normal_model.h | 5 -
src/style_pair.h | 7 -
src/style_reader.h | 2 -
src/style_region.h | 10 -
src/style_rolling_model.h | 4 -
src/style_sph_kernel.h | 6 -
src/style_surface_model.h | 2 -
src/style_tangential_model.h | 2 -
src/superquadric_flag.h | 8 -
src/surface_mesh.h | 15 +-
src/surface_mesh_I.h | 269 +-
src/surface_model_base.h | 127 +
src/surface_model_default.h | 92 +-
src/surface_model_multicontact.h | 62 +-
src/tangential_model_base.h | 102 +
src/tangential_model_history.h | 23 +-
src/tangential_model_no_history.h | 209 +-
src/thermo.cpp | 57 +-
src/thermo.h | 4 +
src/tracking_mesh.h | 50 +-
src/tracking_mesh_I.h | 62 +-
src/tri_mesh.h | 5 +-
src/tri_mesh_planar_I.h | 32 +-
src/update.cpp | 5 +
src/update.h | 5 +
src/utils.h | 41 +-
src/variable.cpp | 38 +-
src/vector_liggghts.h | 311 +-
src/verlet.cpp | 26 +-
src/version_liggghts.h | 1 -
src/version_liggghts.txt | 2 +-
src/volume_mesh.h | 8 +-
src/volume_mesh_I.h | 8 +-
src/write_data.cpp | 1 +
src/write_restart.cpp | 2 +
1012 files changed, 135480 insertions(+), 66986 deletions(-)
diff --cc src/domain.h
index 2fc9141,c390852..ace2984
--- a/src/domain.h
+++ b/src/domain.h
@@@ -162,12 -164,9 +164,12 @@@ class Domain : protected Pointers
void set_lattice(int, char **);
void add_region(int, char **);
void delete_region(int, char **);
- int find_region(char *);
+ int find_region(const char *);
virtual void set_boundary(int, char **, int);
+<<<<<<< HEAD
+=======
void set_box(int, char **);
+>>>>>>> upstream/3.0.0
virtual void print_box(const char *);
void boundary_string(char *);
diff --cc src/general_container_I.h
index 67cc7f2,4a179b2..0090ac6
--- a/src/general_container_I.h
+++ b/src/general_container_I.h
@@@ -45,899 -45,875 +45,942 @@@
#ifndef LMP_GENERAL_CONTAINER_I_H
#define LMP_GENERAL_CONTAINER_I_H
++<<<<<<< HEAD
+ /* ----------------------------------------------------------------------
+ constructors
+ ------------------------------------------------------------------------- */
+
+ template<typename T, int NUM_VEC, int LEN_VEC>
+<<<<<<< HEAD
+ GeneralContainer<T,NUM_VEC,LEN_VEC>::GeneralContainer(char *_id)
+=======
+ GeneralContainer<T,NUM_VEC,LEN_VEC>::GeneralContainer(const char *_id)
+>>>>>>> upstream/3.0.0
+ : ContainerBase(_id),
+ numElem_(0),
+ maxElem_(GROW_CONTAINER()),
+ defaultValue_(0)
+ {
+ create<T>(arr_,GROW_CONTAINER(),NUM_VEC,LEN_VEC);
+ }
+
+ template<typename T, int NUM_VEC, int LEN_VEC>
+ GeneralContainer<T,NUM_VEC,LEN_VEC>::GeneralContainer(const char *_id, const char *_comm, const char *_ref, const char *_restart, int _scalePower)
+ : ContainerBase(_id, _comm, _ref, _restart, _scalePower),
+ numElem_(0),
+ maxElem_(GROW_CONTAINER()),
+ defaultValue_(0)
+ {
+ create<T>(arr_,GROW_CONTAINER(),NUM_VEC,LEN_VEC);
+ }
+
+ template<typename T, int NUM_VEC, int LEN_VEC>
+ GeneralContainer<T,NUM_VEC,LEN_VEC>::GeneralContainer(GeneralContainer<T,NUM_VEC,LEN_VEC> const &orig)
+ : ContainerBase(orig),
+ numElem_(orig.numElem_),
+ maxElem_(orig.numElem_),
+ defaultValue_(orig.defaultValue_)
+ {
+ create<T>(arr_,maxElem_,NUM_VEC,LEN_VEC);
+ for(int i=0;i<maxElem_;i++)
+ for(int ii=0;ii<NUM_VEC;ii++)
+ for(int jj=0;jj<LEN_VEC;jj++)
+ arr_[i][ii][jj] = orig.arr_[i][ii][jj];
+ }
+
+ /* ----------------------------------------------------------------------
+ destructor
+ ------------------------------------------------------------------------- */
+
+ template<typename T, int NUM_VEC, int LEN_VEC>
+ GeneralContainer<T,NUM_VEC,LEN_VEC>::~GeneralContainer()
+ {
+ destroy<T>(arr_);
+ }
+
+ /* ----------------------------------------------------------------------
+ check if data is of type double
+ ------------------------------------------------------------------------- */
+
+ template<typename T, int NUM_VEC, int LEN_VEC>
+ bool GeneralContainer<T,NUM_VEC,LEN_VEC>::isDoubleData()
+ {
+ // partial templatization does not work
+ // std::is_same<T,double>::value is from C++11
+ // this is work-around
+
+ if(sizeof(T) == sizeof(double))
++=======
+ /* ----------------------------------------------------------------------
+ constructors
+ ------------------------------------------------------------------------- */
+
+ template<typename T, int NUM_VEC, int LEN_VEC>
+ GeneralContainer<T,NUM_VEC,LEN_VEC>::GeneralContainer(const char *_id)
+ : ContainerBase(_id),
+ numElem_(0),
+ maxElem_(GROW_CONTAINER()),
+ defaultValue_(0)
+ {
+ create<T>(arr_,GROW_CONTAINER(),NUM_VEC,LEN_VEC);
+ }
+
+ template<typename T, int NUM_VEC, int LEN_VEC>
+ GeneralContainer<T,NUM_VEC,LEN_VEC>::GeneralContainer(const char *_id, const char *_comm, const char *_ref, const char *_restart, int _scalePower)
+ : ContainerBase(_id, _comm, _ref, _restart, _scalePower),
+ numElem_(0),
+ maxElem_(GROW_CONTAINER()),
+ defaultValue_(0)
+ {
+ create<T>(arr_,GROW_CONTAINER(),NUM_VEC,LEN_VEC);
+ }
+
+ template<typename T, int NUM_VEC, int LEN_VEC>
+ GeneralContainer<T,NUM_VEC,LEN_VEC>::GeneralContainer(GeneralContainer<T,NUM_VEC,LEN_VEC> const &orig)
+ : ContainerBase(orig),
+ numElem_(orig.numElem_),
+ maxElem_(orig.numElem_),
+ defaultValue_(orig.defaultValue_)
+ {
+ create<T>(arr_,maxElem_,NUM_VEC,LEN_VEC);
+ for(int i=0;i<maxElem_;i++)
+ for(int ii=0;ii<NUM_VEC;ii++)
+ for(int jj=0;jj<LEN_VEC;jj++)
+ arr_[i][ii][jj] = orig.arr_[i][ii][jj];
+ }
+
+ /* ----------------------------------------------------------------------
+ destructor
+ ------------------------------------------------------------------------- */
+
+ template<typename T, int NUM_VEC, int LEN_VEC>
+ GeneralContainer<T,NUM_VEC,LEN_VEC>::~GeneralContainer()
+ {
+ destroy<T>(arr_);
+ }
+
+ /* ----------------------------------------------------------------------
+ check if data is of type double
+ ------------------------------------------------------------------------- */
+
+ template<typename T, int NUM_VEC, int LEN_VEC>
+ bool GeneralContainer<T,NUM_VEC,LEN_VEC>::isDoubleData()
+ {
+ // partial templatization does not work
+ // std::is_same<T,double>::value is from C++11
+ // this is work-around
+
+ if(sizeof(T) == sizeof(double))
++>>>>>>> upstream/3.7.0+repack1
return true;
- else
+ else
return false;
- }
+ }
- template<typename T, int NUM_VEC, int LEN_VEC>
- bool GeneralContainer<T,NUM_VEC,LEN_VEC>::isIntData()
- {
- // partial templatization does not work
- // std::is_same<T,double>::value is from C++11
- // this is work-around
+ template<typename T, int NUM_VEC, int LEN_VEC>
+ bool GeneralContainer<T,NUM_VEC,LEN_VEC>::isIntData()
+ {
+ // partial templatization does not work
+ // std::is_same<T,double>::value is from C++11
+ // this is work-around
- if(sizeof(T) == sizeof(int))
+ if(sizeof(T) == sizeof(int))
return true;
- else
+ else
return false;
- }
+ }
- /* ----------------------------------------------------------------------
- add element(s)
- ------------------------------------------------------------------------- */
+ /* ----------------------------------------------------------------------
+ add element(s)
+ ------------------------------------------------------------------------- */
- template<typename T, int NUM_VEC, int LEN_VEC>
- bool GeneralContainer<T,NUM_VEC,LEN_VEC>::subtract(GeneralContainer<T,NUM_VEC,LEN_VEC> const &A,
- GeneralContainer<T,NUM_VEC,LEN_VEC> const &minusB)
- {
- int len = size();
- int lenA = A.size();
- int lenB = minusB.size();
+ template<typename T, int NUM_VEC, int LEN_VEC>
+ bool GeneralContainer<T,NUM_VEC,LEN_VEC>::subtract(GeneralContainer<T,NUM_VEC,LEN_VEC> const &A,
+ GeneralContainer<T,NUM_VEC,LEN_VEC> const &minusB)
+ {
+ int len = size();
+ int lenA = A.size();
+ int lenB = minusB.size();
- if(lenA != lenB)
+ if(lenA != lenB)
return false;
- if(len < lenA)
+ if(len < lenA)
addUninitialized(lenA-len);
- for(int i = 0; i < len; i++)
- for(int j = 0; j < NUM_VEC; j++)
- for(int k = 0; k < LEN_VEC; k++)
- arr_[i][j][k] = A(i)[j][k] - minusB(i)[j][k];
-
- return true;
- }
-
- /* ----------------------------------------------------------------------
- add element(s)
- ------------------------------------------------------------------------- */
-
- template<typename T, int NUM_VEC, int LEN_VEC>
- void GeneralContainer<T,NUM_VEC,LEN_VEC>::add(T** elem)
- {
- if(numElem_ == maxElem_)
- {
- grow<T>(arr_,maxElem_+GROW_CONTAINER(),NUM_VEC,LEN_VEC);
- maxElem_ += GROW_CONTAINER();
- }
- for(int i=0;i<NUM_VEC;i++)
- for(int j=0;j<LEN_VEC;j++)
- arr_[numElem_][i][j] = elem[i][j];
- numElem_++;
- }
-
- template<typename T, int NUM_VEC, int LEN_VEC>
- void GeneralContainer<T,NUM_VEC,LEN_VEC>::addZero()
- {
- if(numElem_ == maxElem_)
- {
- grow<T>(arr_,maxElem_+GROW_CONTAINER(),NUM_VEC,LEN_VEC);
- maxElem_ += GROW_CONTAINER();
- }
- for(int i=0;i<NUM_VEC;i++)
- for(int j=0;j<LEN_VEC;j++)
- arr_[numElem_][i][j] = static_cast<T>(0);
- numElem_++;
- }
+ for(int i = 0; i < len; i++)
+ for(int j = 0; j < NUM_VEC; j++)
+ for(int k = 0; k < LEN_VEC; k++)
+ arr_[i][j][k] = A(i)[j][k] - minusB(i)[j][k];
- template<typename T, int NUM_VEC, int LEN_VEC>
- void GeneralContainer<T,NUM_VEC,LEN_VEC>::addUninitialized(int n)
- {
- numElem_ += n;
- if(numElem_ >= maxElem_)
- {
- T init_val = static_cast<T>(0);
- grow(arr_,numElem_+GROW_CONTAINER(),NUM_VEC,LEN_VEC);
- for(int i = numElem_; i < numElem_+GROW_CONTAINER(); i++)
- for(int j=0;j<NUM_VEC;j++)
- for(int k=0;k<LEN_VEC;k++)
- arr_[i][j][k] = init_val;
- maxElem_ = numElem_ + GROW_CONTAINER();
- }
- }
+ return true;
+ }
- /* ----------------------------------------------------------------------
- delete an element
- ------------------------------------------------------------------------- */
+ /* ----------------------------------------------------------------------
+ add element(s)
+ ------------------------------------------------------------------------- */
- template<typename T, int NUM_VEC, int LEN_VEC>
- void GeneralContainer<T,NUM_VEC,LEN_VEC>::del(int n)
- {
-
- numElem_--;
- if(numElem_ == n) return;
- for(int i=0;i<NUM_VEC;i++)
- for(int j=0;j<LEN_VEC;j++)
- arr_[n][i][j] = arr_[numElem_][i][j];
- }
+ template<typename T, int NUM_VEC, int LEN_VEC>
+ void GeneralContainer<T,NUM_VEC,LEN_VEC>::add(T** elem)
+ {
+ if(numElem_ == maxElem_)
+ {
+ grow<T>(arr_,maxElem_+GROW_CONTAINER(),NUM_VEC,LEN_VEC);
+ maxElem_ += GROW_CONTAINER();
+ }
+ for(int i=0;i<NUM_VEC;i++)
+ for(int j=0;j<LEN_VEC;j++)
+ arr_[numElem_][i][j] = elem[i][j];
+ numElem_++;
+ }
+
+ template<typename T, int NUM_VEC, int LEN_VEC>
+ void GeneralContainer<T,NUM_VEC,LEN_VEC>::addZero()
+ {
+ if(numElem_ == maxElem_)
+ {
+ grow<T>(arr_,maxElem_+GROW_CONTAINER(),NUM_VEC,LEN_VEC);
+ maxElem_ += GROW_CONTAINER();
+ }
+ for(int i=0;i<NUM_VEC;i++)
+ for(int j=0;j<LEN_VEC;j++)
+ arr_[numElem_][i][j] = static_cast<T>(0);
+ numElem_++;
+ }
+
+ template<typename T, int NUM_VEC, int LEN_VEC>
+ void GeneralContainer<T,NUM_VEC,LEN_VEC>::addUninitialized(int n)
+ {
+ numElem_ += n;
+ if(numElem_ >= maxElem_)
+ {
+ T init_val = static_cast<T>(0);
+ grow(arr_,numElem_+GROW_CONTAINER(),NUM_VEC,LEN_VEC);
+ for(int i = numElem_; i < numElem_+GROW_CONTAINER(); i++)
+ for(int j=0;j<NUM_VEC;j++)
+ for(int k=0;k<LEN_VEC;k++)
+ arr_[i][j][k] = init_val;
+ maxElem_ = numElem_ + GROW_CONTAINER();
+ }
+ }
- /* ----------------------------------------------------------------------
- copy element data
- ------------------------------------------------------------------------- */
+ /* ----------------------------------------------------------------------
+ delete an element
+ ------------------------------------------------------------------------- */
- template<typename T, int NUM_VEC, int LEN_VEC>
- void GeneralContainer<T,NUM_VEC,LEN_VEC>::copy(int from,int to)
- {
- for(int i=0;i<NUM_VEC;i++)
- for(int j=0;j<LEN_VEC;j++)
- arr_[to][i][j] = arr_[from][i][j];
- }
+ template<typename T, int NUM_VEC, int LEN_VEC>
+ void GeneralContainer<T,NUM_VEC,LEN_VEC>::del(int n)
+ {
+
+ numElem_--;
+ if(numElem_ == n) return;
+ for(int i=0;i<NUM_VEC;i++)
+ for(int j=0;j<LEN_VEC;j++)
+ arr_[n][i][j] = arr_[numElem_][i][j];
+ }
- /* ----------------------------------------------------------------------
- delete an element
- ------------------------------------------------------------------------- */
+ /* ----------------------------------------------------------------------
+ copy element data
+ ------------------------------------------------------------------------- */
- template<typename T, int NUM_VEC, int LEN_VEC>
- void GeneralContainer<T,NUM_VEC,LEN_VEC>::delForward(int n,bool scale,bool translate,bool rotate)
- {
- // do only delete property if it is a forward comm property
- if(!decidePackUnpackOperation(OPERATION_COMM_FORWARD, scale, translate, rotate))
- return;
-
- numElem_--;
- if(numElem_ == n) return;
- for(int i=0;i<NUM_VEC;i++)
- for(int j=0;j<LEN_VEC;j++)
- arr_[n][i][j] = arr_[numElem_][i][j];
- }
+ template<typename T, int NUM_VEC, int LEN_VEC>
+ void GeneralContainer<T,NUM_VEC,LEN_VEC>::copy(int from,int to)
+ {
+ for(int i=0;i<NUM_VEC;i++)
+ for(int j=0;j<LEN_VEC;j++)
+ arr_[to][i][j] = arr_[from][i][j];
+ }
- /* ----------------------------------------------------------------------
- clear reverse properties, i.e. reset all of them to 0
- ------------------------------------------------------------------------- */
+ /* ----------------------------------------------------------------------
+ delete an element
+ ------------------------------------------------------------------------- */
- template<typename T, int NUM_VEC, int LEN_VEC>
- void GeneralContainer<T,NUM_VEC,LEN_VEC>::clearReverse(bool scale,bool translate,bool rotate)
- {
- // do only reset property if it is a reverse comm property
- if(!decidePackUnpackOperation(OPERATION_COMM_REVERSE, scale, translate, rotate))
+ template<typename T, int NUM_VEC, int LEN_VEC>
+ void GeneralContainer<T,NUM_VEC,LEN_VEC>::delForward(int n,bool scale,bool translate,bool rotate)
+ {
+ // do only delete property if it is a forward comm property
+ if(!decidePackUnpackOperation(OPERATION_COMM_FORWARD, scale, translate, rotate))
return;
- int len = size();
- for(int i = 0; i < len; i++)
- for(int j = 0; j < NUM_VEC; j++)
- for(int k = 0; k < LEN_VEC; k++)
- arr_[i][j][k] = 0.;
- }
+ numElem_--;
+ if(numElem_ == n) return;
+ for(int i=0;i<NUM_VEC;i++)
+ for(int j=0;j<LEN_VEC;j++)
+ arr_[n][i][j] = arr_[numElem_][i][j];
+ }
- /* ----------------------------------------------------------------------
- delete an element if restart
- ------------------------------------------------------------------------- */
-
- template<typename T, int NUM_VEC, int LEN_VEC>
- void GeneralContainer<T,NUM_VEC,LEN_VEC>::delRestart(int n,bool scale,bool translate,bool rotate)
- {
- // do only delete property if it is a restart property
- if(!decidePackUnpackOperation(OPERATION_RESTART, scale, translate, rotate))
- return;
-
- numElem_--;
- if(numElem_ == n) return;
- for(int i=0;i<NUM_VEC;i++)
- for(int j=0;j<LEN_VEC;j++)
- arr_[n][i][j] = arr_[numElem_][i][j];
- }
+ /* ----------------------------------------------------------------------
+ clear reverse properties, i.e. reset all of them to 0
+ ------------------------------------------------------------------------- */
- /* ----------------------------------------------------------------------
- delete all elements if restart
- ------------------------------------------------------------------------- */
+ template<typename T, int NUM_VEC, int LEN_VEC>
+ void GeneralContainer<T,NUM_VEC,LEN_VEC>::clearReverse(bool scale,bool translate,bool rotate)
+ {
+ // do only reset property if it is a reverse comm property
+ if(!decidePackUnpackOperation(OPERATION_COMM_REVERSE, scale, translate, rotate))
+ return;
- template<typename T, int NUM_VEC, int LEN_VEC>
- void GeneralContainer<T,NUM_VEC,LEN_VEC>::delRestart(bool scale,bool translate,bool rotate)
- {
- // do only delete property if it is a restart property
- if(!decidePackUnpackOperation(OPERATION_RESTART, scale, translate, rotate))
- return;
+ int len = size();
+ for(int i = 0; i < len; i++)
+ for(int j = 0; j < NUM_VEC; j++)
+ for(int k = 0; k < LEN_VEC; k++)
+ arr_[i][j][k] = 0.;
+ }
- numElem_ = 0;
- }
+ /* ----------------------------------------------------------------------
+ delete an element if restart
+ ------------------------------------------------------------------------- */
- /* ----------------------------------------------------------------------
- get an element
- ------------------------------------------------------------------------- */
+ template<typename T, int NUM_VEC, int LEN_VEC>
+ void GeneralContainer<T,NUM_VEC,LEN_VEC>::delRestart(int n,bool scale,bool translate,bool rotate)
+ {
+ // do only delete property if it is a restart property
+ if(!decidePackUnpackOperation(OPERATION_RESTART, scale, translate, rotate))
+ return;
- template<typename T, int NUM_VEC, int LEN_VEC>
- void GeneralContainer<T,NUM_VEC,LEN_VEC>::get(int n, T** elem)
- {
- for(int i=0;i<NUM_VEC;i++)
- for(int j=0;j<LEN_VEC;j++)
- elem[i][j] = arr_[n][i][j];
- }
+ numElem_--;
+ if(numElem_ == n) return;
+ for(int i=0;i<NUM_VEC;i++)
+ for(int j=0;j<LEN_VEC;j++)
+ arr_[n][i][j] = arr_[numElem_][i][j];
+ }
- /* ----------------------------------------------------------------------
- operator()
- ------------------------------------------------------------------------- */
+ /* ----------------------------------------------------------------------
+ delete all elements if restart
+ ------------------------------------------------------------------------- */
- template<typename T, int NUM_VEC, int LEN_VEC>
- T**& GeneralContainer<T,NUM_VEC,LEN_VEC>::operator() (int n)
- {
- return arr_[n];
- }
+ template<typename T, int NUM_VEC, int LEN_VEC>
+ void GeneralContainer<T,NUM_VEC,LEN_VEC>::delRestart(bool scale,bool translate,bool rotate)
+ {
+ // do only delete property if it is a restart property
+ if(!decidePackUnpackOperation(OPERATION_RESTART, scale, translate, rotate))
+ return;
- template<typename T, int NUM_VEC, int LEN_VEC>
- T** const& GeneralContainer<T,NUM_VEC,LEN_VEC>::operator() (int n) const
- {
- return arr_[n];
- }
+ numElem_ = 0;
+ }
- /* ----------------------------------------------------------------------
- set all data by copy from other container
- ------------------------------------------------------------------------- */
+ /* ----------------------------------------------------------------------
+ get an element
+ ------------------------------------------------------------------------- */
- template<typename T, int NUM_VEC, int LEN_VEC>
- bool GeneralContainer<T,NUM_VEC,LEN_VEC>::setFromContainer(ContainerBase *cont)
- {
- GeneralContainer<T,NUM_VEC,LEN_VEC> *gcont = static_cast<GeneralContainer<T,NUM_VEC,LEN_VEC>* >(cont);
+ template<typename T, int NUM_VEC, int LEN_VEC>
+ void GeneralContainer<T,NUM_VEC,LEN_VEC>::get(int n, T** elem)
+ {
+ for(int i=0;i<NUM_VEC;i++)
+ for(int j=0;j<LEN_VEC;j++)
+ elem[i][j] = arr_[n][i][j];
+ }
- if(size() != gcont->size() || nVec() != gcont->nVec() || lenVec() != gcont->lenVec())
- return false;
+ /* ----------------------------------------------------------------------
+ operator()
+ ------------------------------------------------------------------------- */
- int len = size();
- for(int n = 0; n < len; n++)
- for(int i=0;i<NUM_VEC;i++)
- for(int j=0;j<LEN_VEC;j++)
- {
- arr_[n][i][j] = gcont->arr_[n][i][j];
-
- }
-
- return true;
- }
+ template<typename T, int NUM_VEC, int LEN_VEC>
+ T**& GeneralContainer<T,NUM_VEC,LEN_VEC>::operator() (int n)
+ {
+ return arr_[n];
+ }
- /* ----------------------------------------------------------------------
- average from other container
- ------------------------------------------------------------------------- */
+ template<typename T, int NUM_VEC, int LEN_VEC>
+ T** const& GeneralContainer<T,NUM_VEC,LEN_VEC>::operator() (int n) const
+ {
+ return arr_[n];
+ }
- template<typename T, int NUM_VEC, int LEN_VEC>
- bool GeneralContainer<T,NUM_VEC,LEN_VEC>::calcAvgFromContainer()
- {
-
- GeneralContainer<T,NUM_VEC,LEN_VEC> *gcont = static_cast<GeneralContainer<T,NUM_VEC,LEN_VEC>* >(container_statistics_raw_data_);
- GeneralContainer<T,1,1> *gscale = dynamic_cast<GeneralContainer<T,1,1>* >(container_statistics_scale_data_);
- GeneralContainer<T,1,1> *gRedScale = dynamic_cast<GeneralContainer<T,1,1>* >(container_statistics_reduced_scale_data_);
+ /* ----------------------------------------------------------------------
+ set all data by copy from other container
+ ------------------------------------------------------------------------- */
- // source has to be defined
- if (!gcont)
- return false;
+ template<typename T, int NUM_VEC, int LEN_VEC>
+ bool GeneralContainer<T,NUM_VEC,LEN_VEC>::setFromContainer(ContainerBase *cont)
+ {
+ GeneralContainer<T,NUM_VEC,LEN_VEC> *gcont = static_cast<GeneralContainer<T,NUM_VEC,LEN_VEC>* >(cont);
- // only use if identical dimensions
- if(size() != gcont->size() || nVec() != gcont->nVec() || lenVec() != gcont->lenVec())
+ if(size() != gcont->size() || nVec() != gcont->nVec() || lenVec() != gcont->lenVec())
return false;
- const int len = size();
-
- if (!gscale || !gRedScale)
- {
- for(int n = 0; n < len; n++)
- for(int i=0;i<NUM_VEC;i++)
- for(int j=0;j<LEN_VEC;j++)
- if(averaging_forget_ || (*gcont)(n)[i][j] != 0 )
- arr_[n][i][j] = (1.-weighting_factor_)*arr_[n][i][j]+weighting_factor_*(*gcont)(n)[i][j];
- }
- else
- {
- if(size() != gscale->size() || size() != gRedScale->size())
- return false;
+ int len = size();
+ for(int n = 0; n < len; n++)
+ for(int i=0;i<NUM_VEC;i++)
+ for(int j=0;j<LEN_VEC;j++)
+ {
+ arr_[n][i][j] = gcont->arr_[n][i][j];
+
+ }
- for(int n = 0; n < len; n++)
- for(int i=0;i<NUM_VEC;i++)
- for(int j=0;j<LEN_VEC;j++)
- arr_[n][i][j] = (1.-weighting_factor_)*(1.-weighting_factor_)*arr_[n][i][j]*(*gRedScale)(n)[1][1]+(*gcont)(n)[i][j]*(*gscale)(n)[1][1];
- }
- return true;
- }
+ return true;
+ }
- /* ----------------------------------------------------------------------
- mean square from other container
- ------------------------------------------------------------------------- */
+ /* ----------------------------------------------------------------------
+ average from other container
+ ------------------------------------------------------------------------- */
- template<typename T, int NUM_VEC, int LEN_VEC>
- bool GeneralContainer<T,NUM_VEC,LEN_VEC>::calcMeanSquareFromContainer()
- {
-
- GeneralContainer<T,NUM_VEC,LEN_VEC> *gcont = static_cast<GeneralContainer<T,NUM_VEC,LEN_VEC>* >(container_statistics_raw_data_);
- GeneralContainer<T,1,1> *gscale = dynamic_cast<GeneralContainer<T,1,1>* >(container_statistics_scale_data_);
- GeneralContainer<T,1,1> *gRedScale = dynamic_cast<GeneralContainer<T,1,1>* >(container_statistics_reduced_scale_data_);
+ template<typename T, int NUM_VEC, int LEN_VEC>
+ bool GeneralContainer<T,NUM_VEC,LEN_VEC>::calcAvgFromContainer()
+ {
+
+ GeneralContainer<T,NUM_VEC,LEN_VEC> *gcont = static_cast<GeneralContainer<T,NUM_VEC,LEN_VEC>* >(container_statistics_raw_data_);
+ GeneralContainer<T,1,1> *gscale = dynamic_cast<GeneralContainer<T,1,1>* >(container_statistics_scale_data_);
+ GeneralContainer<T,1,1> *gscaleAvg = dynamic_cast<GeneralContainer<T,1,1>* >(container_statistics_scale_average_data_);
- // at least source has to be defined
- if (!gcont)
+ // source has to be defined
+ if (!gcont)
return false;
- // only copy if identical
- if(size() != gcont->size() || nVec() != gcont->nVec() || lenVec() != gcont->lenVec())
+ // only use if identical dimensions
+ if(size() != gcont->size() || nVec() != gcont->nVec() || lenVec() != gcont->lenVec())
return false;
- const int len = size();
+ const int len = size();
- if (!gscale || !gRedScale)
- {
- for(int n = 0; n < len; n++)
- for(int i=0;i<NUM_VEC;i++)
- for(int j=0;j<LEN_VEC;j++)
- {
- const T contribution = gcont->arr_[n][i][j];
- if(averaging_forget_ || contribution != 0)
- arr_[n][i][j] = (1.-weighting_factor_)*arr_[n][i][j]+weighting_factor_*contribution*contribution;
-
- }
- }
- else
- {
- if(size() != gscale->size() || size() != gRedScale->size())
- return false;
-
- for(int n = 0; n < len; n++)
- for(int i=0;i<NUM_VEC;i++)
- for(int j=0;j<LEN_VEC;j++)
- {
- const T contribution = gcont->arr_[n][i][j];
- const T scale = (*gscale)(n)[i][j];
- const T redScale = (*gRedScale)(n)[i][j];
- arr_[n][i][j] = (1.-weighting_factor_)*(1.-weighting_factor_)*arr_[n][i][j]*redScale+scale*contribution*contribution;
- }
- }
+ T epsilon = std::numeric_limits<T>::epsilon();
- return true;
- }
+ if (enable_favre_)
+ {
+ for(int n = 0; n < len; n++)
+ {
+ const double scale = (*gscaleAvg)(n)[0][0] < epsilon ? 0.0 : (*gscale)(n)[0][0]/(*gscaleAvg)(n)[0][0];
+ for(int i=0;i<NUM_VEC;i++)
+ for(int j=0;j<LEN_VEC;j++)
+ {
+ const T contribution = gcont->arr_[n][i][j];
+
+ if(MathExtraLiggghts::abs(arr_[n][i][j]) < epsilon)
+ arr_[n][i][j] = contribution;
+ else
+ arr_[n][i][j] = (1.-weighting_factor_*scale)*arr_[n][i][j] +
+ weighting_factor_*scale*contribution;
+ }
+ }
+ }
+ else
+ {
+ for(int n = 0; n < len; n++)
+ for(int i=0;i<NUM_VEC;i++)
+ for(int j=0;j<LEN_VEC;j++)
+ {
+ const T contribution = gcont->arr_[n][i][j];
+
+ if(MathExtraLiggghts::abs(arr_[n][i][j]) < epsilon)
+ arr_[n][i][j] = contribution;
+ else
+ arr_[n][i][j] = (1.-weighting_factor_)*arr_[n][i][j] +
+ weighting_factor_*contribution;
+ }
+ }
+ return true;
+ }
- template<typename T, int NUM_VEC, int LEN_VEC>
- bool GeneralContainer<T,NUM_VEC,LEN_VEC>::normalizeContainer()
- {
-
- GeneralContainer<T,NUM_VEC,LEN_VEC> *gcont = static_cast<GeneralContainer<T,NUM_VEC,LEN_VEC>* >(container_statistics_raw_data_);
- GeneralContainer<T,1,1> *gscale = dynamic_cast<GeneralContainer<T,1,1>* >(container_statistics_scale_data_);
- GeneralContainer<T,1,1> *gRedScale = dynamic_cast<GeneralContainer<T,1,1>* >(container_statistics_reduced_scale_data_);
+ /* ----------------------------------------------------------------------
+ mean square from other container
+ ------------------------------------------------------------------------- */
+
+ template<typename T, int NUM_VEC, int LEN_VEC>
+ bool GeneralContainer<T,NUM_VEC,LEN_VEC>::calcMeanSquareFromContainer()
+ {
+
+ GeneralContainer<T,NUM_VEC,LEN_VEC> *gcont = static_cast<GeneralContainer<T,NUM_VEC,LEN_VEC>* >(container_statistics_raw_data_);
+ GeneralContainer<T,1,1> *gscale = dynamic_cast<GeneralContainer<T,1,1>* >(container_statistics_scale_data_);
+ GeneralContainer<T,1,1> *gscaleAvg = dynamic_cast<GeneralContainer<T,1,1>* >(container_statistics_scale_average_data_);
- // at least source has to be defined
- if (!gcont)
+ // at least source has to be defined
+ if (!gcont)
return false;
- // only copy if identical
- if(size() != gcont->size() || nVec() != gcont->nVec() || lenVec() != gcont->lenVec())
+ // only copy if identical
+ if(size() != gcont->size() || nVec() != gcont->nVec() || lenVec() != gcont->lenVec())
return false;
- const int len = size();
- if (!gscale || !gRedScale)
- return true;
- else
- {
- if(size() != gscale->size() || size() != gRedScale->size())
- return false;
+ const int len = size();
- for(int n = 0; n < len; n++)
- {
- if ((*gRedScale)(n)[1][1] < std::numeric_limits<T>::epsilon())
- {
- (*gRedScale)(n)[1][1] = 0;
- for(int i=0;i<NUM_VEC;i++)
- for(int j=0;j<LEN_VEC;j++)
- arr_[n][i][j] = 0; // assumes weighting factor > 0
- continue;
- }
- else
- {
- const T redScaleInv = 1./(*gRedScale)(n)[1][1];
- for(int i=0;i<NUM_VEC;i++)
- for(int j=0;j<LEN_VEC;j++)
- arr_[n][i][j] = arr_[n][i][j]*redScaleInv;
- }
- }
- }
+ T epsilon = std::numeric_limits<T>::epsilon();
- return true;
- }
-
- template<typename T, int NUM_VEC, int LEN_VEC>
- bool GeneralContainer<T,NUM_VEC,LEN_VEC>::calcSumFromContainer()
- {
-
- GeneralContainer<T,NUM_VEC,LEN_VEC> *gcont = static_cast<GeneralContainer<T,NUM_VEC,LEN_VEC>* >(container_statistics_raw_data_);
- GeneralContainer<T,1,1> *gscale = dynamic_cast<GeneralContainer<T,1,1>* >(container_statistics_scale_data_);
- GeneralContainer<T,1,1> *gRedScale = dynamic_cast<GeneralContainer<T,1,1>* >(container_statistics_reduced_scale_data_);
+ if (enable_favre_)
+ {
+ for(int n = 0; n < len; n++)
+ {
+ const double scale = (*gscaleAvg)(n)[0][0] < epsilon ? 0.0 : (*gscale)(n)[0][0]/(*gscaleAvg)(n)[0][0];
+ for(int i=0;i<NUM_VEC;i++)
+ for(int j=0;j<LEN_VEC;j++)
+ {
+ const T contribution = gcont->arr_[n][i][j];
+
+ if(MathExtraLiggghts::abs(arr_[n][i][j]) < epsilon)
+ arr_[n][i][j] = contribution*contribution;
+ else
+ arr_[n][i][j] = (1.-weighting_factor_*scale)*arr_[n][i][j] +
+ weighting_factor_*scale*contribution*contribution;
+ }
+
+ }
+ }
+ else
+ {
+ for(int n = 0; n < len; n++)
+ for(int i=0;i<NUM_VEC;i++)
+ for(int j=0;j<LEN_VEC;j++)
+ {
+ const T contribution = gcont->arr_[n][i][j];
+
+ if(MathExtraLiggghts::abs(arr_[n][i][j]) < epsilon)
+ arr_[n][i][j] = contribution*contribution;
+ else
+ arr_[n][i][j] = (1.-weighting_factor_)*arr_[n][i][j] +
+ weighting_factor_*contribution*contribution;
+ }
+
+ }
+
+ return true;
+ }
+
+ // This is the averaging for the scaling arrays
+ template<typename T, int NUM_VEC, int LEN_VEC>
+ bool GeneralContainer<T,NUM_VEC,LEN_VEC>::calcSumFromContainer()
+ {
+
+ GeneralContainer<T,NUM_VEC,LEN_VEC> *gcont = static_cast<GeneralContainer<T,NUM_VEC,LEN_VEC>* >(container_statistics_raw_data_);
- // at least source has to be defined
- if (!gcont)
+ // at least source has to be defined
+ if (!gcont)
return false;
- // only copy if identical
- if(size() != gcont->size() || nVec() != gcont->nVec() || lenVec() != gcont->lenVec())
+ // only copy if identical
+ if(size() != gcont->size() || nVec() != gcont->nVec() || lenVec() != gcont->lenVec())
return false;
- const int len = size();
- if (!gscale || !gRedScale)
- {
- for(int n = 0; n < len; n++)
- for(int i=0;i<NUM_VEC;i++)
- for(int j=0;j<LEN_VEC;j++)
- {
- arr_[n][i][j] = (1.-weighting_factor_)*arr_[n][i][j]+(*gcont)(n)[i][j];
-
- if (arr_[n][i][j] < std::numeric_limits<T>::epsilon())
- arr_[n][i][j] = 0;
- }
- }
- else
- {
- if(size() != gscale->size() || size() != gRedScale->size())
- return false;
-
- for(int n = 0; n < len; n++)
- for(int i=0;i<NUM_VEC;i++)
- for(int j=0;j<LEN_VEC;j++)
- {
- arr_[n][i][j] = (1.-weighting_factor_)*(1.-weighting_factor_)*arr_[n][i][j]*(*gRedScale)(n)[1][1]+(*gcont)(n)[i][j]*(*gscale)(n)[1][1];
-
- if (arr_[n][i][j] < std::numeric_limits<T>::epsilon())
- arr_[n][i][j] = 0;
- }
- }
-
- return true;
- }
+ const int len = size();
+ for(int n = 0; n < len; n++)
+ for(int i=0;i<NUM_VEC;i++)
+ for(int j=0;j<LEN_VEC;j++)
+ {
+ arr_[n][i][j] = (1.-weighting_factor_)*arr_[n][i][j] +
+ weighting_factor_*(*gcont)(n)[i][j];
+
+ if (arr_[n][i][j] < std::numeric_limits<T>::epsilon())
+ arr_[n][i][j] = 0;
+ }
- /* ---------------------------------------------------------------------- */
+ return true;
+ }
+
+ /* ---------------------------------------------------------------------- */
+
+ template<typename T, int NUM_VEC, int LEN_VEC>
+ void GeneralContainer<T,NUM_VEC,LEN_VEC>::setToDefault(int n)
+ {
+
+ for(int i = 0; i < NUM_VEC; i++)
+ for(int j = 0; j < LEN_VEC; j++)
+ arr_[n][i][j] = defaultValue_;
+ }
+
+ template<typename T, int NUM_VEC, int LEN_VEC>
+ void GeneralContainer<T,NUM_VEC,LEN_VEC>::set(int n, T** elem)
+ {
+ for(int i = 0; i < NUM_VEC; i++)
+ for(int j = 0; j < LEN_VEC; j++)
+ arr_[n][i][j] = elem[i][j];
+ }
+
+ template<typename T, int NUM_VEC, int LEN_VEC>
+ void GeneralContainer<T,NUM_VEC,LEN_VEC>::set(int n, int m, T* elem)
+ {
+ for(int j = 0; j < LEN_VEC; j++)
+ arr_[n][m][j] = elem[j];
+ }
+
+ template<typename T, int NUM_VEC, int LEN_VEC>
+ void GeneralContainer<T,NUM_VEC,LEN_VEC>::setAll(T def)
+ {
+ int len = size();
+ for(int n = 0; n < len; n++)
+ for(int i = 0; i < NUM_VEC; i++)
+ for(int j = 0; j < LEN_VEC; j++)
+ arr_[n][i][j] = def;
+ }
+
+ template<typename T, int NUM_VEC, int LEN_VEC>
+ void GeneralContainer<T,NUM_VEC,LEN_VEC>::setAll(int to,T def)
+ {
+ int len = MathExtraLiggghts::min(to,size());
+ for(int n = 0; n < len; n++)
+ for(int i = 0; i < NUM_VEC; i++)
+ for(int j = 0; j < LEN_VEC; j++)
+ arr_[n][i][j] = def;
+ }
+
+ template<typename T, int NUM_VEC, int LEN_VEC>
+ T*** GeneralContainer<T,NUM_VEC,LEN_VEC>::begin()
+ {
+ return arr_;
+ }
+
+ template<typename T, int NUM_VEC, int LEN_VEC>
+ void* GeneralContainer<T,NUM_VEC,LEN_VEC>::begin_slow_dirty()
+ {
+ return (void*) arr_;
+ }
+
+ template<typename T, int NUM_VEC, int LEN_VEC>
+ int GeneralContainer<T,NUM_VEC,LEN_VEC>::getElemSize()
+ {
+ return NUM_VEC*LEN_VEC*sizeof(T);
+ }
- template<typename T, int NUM_VEC, int LEN_VEC>
- void GeneralContainer<T,NUM_VEC,LEN_VEC>::setToDefault(int n)
- {
-
- for(int i = 0; i < NUM_VEC; i++)
- for(int j = 0; j < LEN_VEC; j++)
- arr_[n][i][j] = defaultValue_;
- }
+ /* ----------------------------------------------------------------------
+ min,max
+ ------------------------------------------------------------------------- */
- template<typename T, int NUM_VEC, int LEN_VEC>
- void GeneralContainer<T,NUM_VEC,LEN_VEC>::set(int n, T** elem)
- {
- for(int i = 0; i < NUM_VEC; i++)
- for(int j = 0; j < LEN_VEC; j++)
- arr_[n][i][j] = elem[i][j];
- }
+ template<typename T, int NUM_VEC, int LEN_VEC>
+ T GeneralContainer<T,NUM_VEC,LEN_VEC>::max_scalar()
+ {
+ T max = arr_[0][0][0];
- template<typename T, int NUM_VEC, int LEN_VEC>
- void GeneralContainer<T,NUM_VEC,LEN_VEC>::set(int n, int m, T* elem)
- {
- for(int j = 0; j < LEN_VEC; j++)
- arr_[n][m][j] = elem[j];
- }
+ int len = size();
+ for(int i = 0; i < len; i++)
+ for(int j = 0; j < NUM_VEC; j++)
+ for(int k = 0; k < LEN_VEC; k++)
+ if(arr_[i][j][k] > max)
+ max = arr_[i][j][k];
- template<typename T, int NUM_VEC, int LEN_VEC>
- void GeneralContainer<T,NUM_VEC,LEN_VEC>::setAll(T def)
- {
- int len = size();
- for(int n = 0; n < len; n++)
- for(int i = 0; i < NUM_VEC; i++)
- for(int j = 0; j < LEN_VEC; j++)
- arr_[n][i][j] = def;
- }
+ return max;
+ }
- template<typename T, int NUM_VEC, int LEN_VEC>
- void GeneralContainer<T,NUM_VEC,LEN_VEC>::setAll(int to,T def)
- {
- int len = MathExtraLiggghts::min(to,size());
- for(int n = 0; n < len; n++)
- for(int i = 0; i < NUM_VEC; i++)
- for(int j = 0; j < LEN_VEC; j++)
- arr_[n][i][j] = def;
- }
+ template<typename T, int NUM_VEC, int LEN_VEC>
+ T GeneralContainer<T,NUM_VEC,LEN_VEC>::min_scalar()
+ {
+ T min = arr_[0][0][0];
- template<typename T, int NUM_VEC, int LEN_VEC>
- T*** GeneralContainer<T,NUM_VEC,LEN_VEC>::begin()
- {
- return arr_;
- }
+ int len = size();
+ for(int i = 0; i < len; i++)
+ for(int j = 0; j < NUM_VEC; j++)
+ for(int k = 0; k < LEN_VEC; k++)
+ if(arr_[i][j][k] < min)
+ min = arr_[i][j][k];
- template<typename T, int NUM_VEC, int LEN_VEC>
- void* GeneralContainer<T,NUM_VEC,LEN_VEC>::begin_slow_dirty()
- {
- return (void*) arr_;
- }
+ return min;
+ }
- template<typename T, int NUM_VEC, int LEN_VEC>
- int GeneralContainer<T,NUM_VEC,LEN_VEC>::getElemSize()
- {
- return NUM_VEC*LEN_VEC*sizeof(T);
- }
+ /* ----------------------------------------------------------------------
+ translate, rotate, scale
+ ------------------------------------------------------------------------- */
- /* ----------------------------------------------------------------------
- min,max
- ------------------------------------------------------------------------- */
+ template<typename T, int NUM_VEC, int LEN_VEC>
+ void GeneralContainer<T,NUM_VEC,LEN_VEC>::scale(double factor)
+ {
+ if(isScaleInvariant()) return;
- template<typename T, int NUM_VEC, int LEN_VEC>
- T GeneralContainer<T,NUM_VEC,LEN_VEC>::max_scalar()
- {
- T max = arr_[0][0][0];
+ double factorApplied = 1.;
+ for(int i = 0; i < scalePower_; i++)
+ factorApplied *= factor;
- int len = size();
- for(int i = 0; i < len; i++)
- for(int j = 0; j < NUM_VEC; j++)
- for(int k = 0; k < LEN_VEC; k++)
- if(arr_[i][j][k] > max)
- max = arr_[i][j][k];
+ int len = size();
+ for(int i = 0; i < len; i++)
+ for(int j = 0; j < NUM_VEC;j++)
+ for(int k = 0; k < LEN_VEC; k++)
+ arr_[i][j][k] *= factorApplied;
+ }
- return max;
- }
+ template<typename T, int NUM_VEC, int LEN_VEC>
+ void GeneralContainer<T,NUM_VEC,LEN_VEC>::move(const double * const delta)
+ {
+ if(isTranslationInvariant()) return;
- template<typename T, int NUM_VEC, int LEN_VEC>
- T GeneralContainer<T,NUM_VEC,LEN_VEC>::min_scalar()
- {
- T min = arr_[0][0][0];
+ int len = size();
- int len = size();
- for(int i = 0; i < len; i++)
- for(int j = 0; j < NUM_VEC; j++)
- for(int k = 0; k < LEN_VEC; k++)
- if(arr_[i][j][k] < min)
- min = arr_[i][j][k];
+ for(int i = 0; i < len; i++)
+ for(int j = 0; j < NUM_VEC; j++)
+ for(int k = 0; k < LEN_VEC; k++)
+ arr_[i][j][k] += delta[k];
+ }
- return min;
- }
+ template<typename T, int NUM_VEC, int LEN_VEC>
+ void GeneralContainer<T,NUM_VEC,LEN_VEC>::moveElement(const int i, const double * const delta)
+ {
+ if(isTranslationInvariant()) return;
- /* ----------------------------------------------------------------------
- translate, rotate, scale
- ------------------------------------------------------------------------- */
+ for(int j = 0; j < NUM_VEC; j++)
+ for(int k = 0; k < LEN_VEC; k++)
+ arr_[i][j][k] += delta[k];
+ }
- template<typename T, int NUM_VEC, int LEN_VEC>
- void GeneralContainer<T,NUM_VEC,LEN_VEC>::scale(double factor)
- {
- if(isScaleInvariant()) return;
+ template<typename T, int NUM_VEC, int LEN_VEC>
+ void GeneralContainer<T,NUM_VEC,LEN_VEC>::rotate(const double * const dQ)
+ {
+ if(isRotationInvariant()) return;
- double factorApplied = 1.;
- for(int i = 0; i < scalePower_; i++)
- factorApplied *= factor;
+ // ATTENTION: only correct for 3D vectors
+ int len = size();
+ for(int i = 0; i < len; i++)
+ for(int j = 0; j < NUM_VEC; j++)
+ MathExtraLiggghts::vec_quat_rotate(arr_[i][j],dQ);
+ }
- int len = size();
- for(int i = 0; i < len; i++)
- for(int j = 0; j < NUM_VEC;j++)
- for(int k = 0; k < LEN_VEC; k++)
- arr_[i][j][k] *= factorApplied;
- }
+ /* ----------------------------------------------------------------------
+ buffer size for all elements, push / pop for all elements
+ used for global properties
+ ------------------------------------------------------------------------- */
- template<typename T, int NUM_VEC, int LEN_VEC>
- void GeneralContainer<T,NUM_VEC,LEN_VEC>::move(double *delta)
- {
- if(isTranslationInvariant()) return;
+ template<typename T, int NUM_VEC, int LEN_VEC>
+ int GeneralContainer<T,NUM_VEC,LEN_VEC>::bufSize(int operation,bool scale,bool translate,bool rotate) const
+ {
+ if(!this->decidePackUnpackOperation(operation,scale,translate,rotate))
+ return 0;
- int len = size();
+ if(!this->decideCommOperation(operation))
+ return 0;
- for(int i = 0; i < len; i++)
- for(int j = 0; j < NUM_VEC; j++)
- for(int k = 0; k < LEN_VEC; k++)
- arr_[i][j][k] += delta[k];
- }
+ return (1 + size()*NUM_VEC*LEN_VEC);
+ }
- template<typename T, int NUM_VEC, int LEN_VEC>
- void GeneralContainer<T,NUM_VEC,LEN_VEC>::moveElement(int i,double *delta)
- {
- if(isTranslationInvariant()) return;
+ template<typename T, int NUM_VEC, int LEN_VEC>
+ int GeneralContainer<T,NUM_VEC,LEN_VEC>::pushToBuffer(double *buf,int operation,bool scale,bool translate, bool rotate)
+ {
+ //TODO throw error if sizeof(T) > sizeof(double)
- for(int j = 0; j < NUM_VEC; j++)
- for(int k = 0; k < LEN_VEC; k++)
- arr_[i][j][k] += delta[k];
- }
+ int m = 0;
- template<typename T, int NUM_VEC, int LEN_VEC>
- void GeneralContainer<T,NUM_VEC,LEN_VEC>::rotate(double *dQ)
- {
- if(isRotationInvariant()) return;
+ if(!this->decidePackUnpackOperation(operation,scale,translate,rotate))
+ return 0;
- // ATTENTION: only correct for 3D vectors
int len = size();
- for(int i = 0; i < len; i++)
- for(int j = 0; j < NUM_VEC; j++)
- MathExtraLiggghts::vec_quat_rotate(arr_[i][j],dQ);
- }
- /* ----------------------------------------------------------------------
- buffer size for all elements, push / pop for all elements
- used for global properties
- ------------------------------------------------------------------------- */
+ buf[m++] = static_cast<double>(len);
- template<typename T, int NUM_VEC, int LEN_VEC>
- int GeneralContainer<T,NUM_VEC,LEN_VEC>::bufSize(int operation,bool scale,bool translate,bool rotate) const
- {
- if(!this->decidePackUnpackOperation(operation,scale,translate,rotate))
- return 0;
-
- if(!this->decideCommOperation(operation))
- return 0;
-
- return (1 + size()*NUM_VEC*LEN_VEC);
- }
+ for(int i = 0; i < len; i++)
+ for(int j = 0; j < NUM_VEC; j++)
+ for(int k = 0; k < LEN_VEC; k++)
+ buf[m++] = static_cast<double>(arr_[i][j][k]);
- template<typename T, int NUM_VEC, int LEN_VEC>
- int GeneralContainer<T,NUM_VEC,LEN_VEC>::pushToBuffer(double *buf,int operation,bool scale,bool translate, bool rotate)
- {
- //TODO throw error if sizeof(T) > sizeof(double)
+ return (1 + len*NUM_VEC*LEN_VEC);
+ }
- int m = 0;
+ template<typename T, int NUM_VEC, int LEN_VEC>
+ int GeneralContainer<T,NUM_VEC,LEN_VEC>::popFromBuffer(double *buf,int operation,bool scale,bool translate, bool rotate)
+ {
+ int nNew, m = 0;
- if(!this->decidePackUnpackOperation(operation,scale,translate,rotate))
- return 0;
+ if(!this->decidePackUnpackOperation(operation,scale,translate,rotate))
+ return 0;
- int len = size();
+ if(decideCreateNewElements(operation))
+ {
+ T** tmp;
+ create<T>(tmp,NUM_VEC,LEN_VEC);
- buf[m++] = static_cast<double>(len);
+ nNew = static_cast<int>(buf[m++]);
- for(int i = 0; i < len; i++)
+ for(int i = 0; i < nNew; i++)
+ {
for(int j = 0; j < NUM_VEC; j++)
for(int k = 0; k < LEN_VEC; k++)
- buf[m++] = static_cast<double>(arr_[i][j][k]);
-
- return (1 + len*NUM_VEC*LEN_VEC);
- }
+ tmp[j][k] = static_cast<T>(buf[m++]);
+ add(tmp);
+ }
- template<typename T, int NUM_VEC, int LEN_VEC>
- int GeneralContainer<T,NUM_VEC,LEN_VEC>::popFromBuffer(double *buf,int operation,bool scale,bool translate, bool rotate)
- {
- int nNew, m = 0;
+ destroy<T>(tmp);
- if(!this->decidePackUnpackOperation(operation,scale,translate,rotate))
- return 0;
+ return (1 + nNew*NUM_VEC*LEN_VEC);
+ }
+ else return 0;
+ }
- if(decideCreateNewElements(operation))
- {
- T** tmp;
- create<T>(tmp,NUM_VEC,LEN_VEC);
+ /* ----------------------------------------------------------------------
+ buffer size for a list of elements, push / pop a list of elements
+ used for borders, fw and rev comm for element properties
+ ------------------------------------------------------------------------- */
- nNew = static_cast<int>(buf[m++]);
+ template<typename T, int NUM_VEC, int LEN_VEC>
+ int GeneralContainer<T,NUM_VEC,LEN_VEC>::elemListBufSize(int n,int operation,bool scale,bool translate,bool rotate)
+ {
+ if(!this->decidePackUnpackOperation(operation,scale,translate,rotate))
+ return 0;
- for(int i = 0; i < nNew; i++)
- {
- for(int j = 0; j < NUM_VEC; j++)
- for(int k = 0; k < LEN_VEC; k++)
- tmp[j][k] = static_cast<T>(buf[m++]);
- add(tmp);
- }
+ if(!this->decideCommOperation(operation))
+ return 0;
- destroy<T>(tmp);
+ return (n*NUM_VEC*LEN_VEC);
+ }
- return (1 + nNew*NUM_VEC*LEN_VEC);
- }
- else return 0;
- }
+ template<typename T, int NUM_VEC, int LEN_VEC>
+ int GeneralContainer<T,NUM_VEC,LEN_VEC>::pushElemListToBuffer(int n, int *list, int *wraplist, double *buf,int operation, double *dlo, double *dhi, bool scale,bool translate, bool rotate)
+ {
+ int i,m = 0;
- /* ----------------------------------------------------------------------
- buffer size for a list of elements, push / pop a list of elements
- used for borders, fw and rev comm for element properties
- ------------------------------------------------------------------------- */
+ if(!this->decidePackUnpackOperation(operation,scale,translate,rotate))
+ return 0;
- template<typename T, int NUM_VEC, int LEN_VEC>
- int GeneralContainer<T,NUM_VEC,LEN_VEC>::elemListBufSize(int n,int operation,bool scale,bool translate,bool rotate)
- {
- if(!this->decidePackUnpackOperation(operation,scale,translate,rotate))
- return 0;
+ if(!this->decideCommOperation(operation))
+ return 0;
- if(!this->decideCommOperation(operation))
- return 0;
+ for(int ii = 0; ii < n; ii++)
+ {
+ i = list[ii];
+ for(int j = 0; j < NUM_VEC; j++)
+ for(int k = 0; k < LEN_VEC; k++)
+ {
+ buf[m] = static_cast<double>(arr_[i][j][k]);
+ if (wrapPeriodic())
+ {
+ const int wrap = wraplist[ii];
+ if (wrap != IS_GHOST)
+ {
+ if ((k == 0 && wrap == IS_GHOST_WRAP_DIM_0_NEG) ||
+ (k == 1 && wrap == IS_GHOST_WRAP_DIM_1_NEG) ||
+ (k == 2 && wrap == IS_GHOST_WRAP_DIM_2_NEG) )
+ buf[m] -= dhi[k] - dlo[k];
+ else if ((k == 0 && wrap == IS_GHOST_WRAP_DIM_0_POS) ||
+ (k == 1 && wrap == IS_GHOST_WRAP_DIM_1_POS) ||
+ (k == 2 && wrap == IS_GHOST_WRAP_DIM_2_POS) )
+ buf[m] += dhi[k] - dlo[k];
+ }
+ }
+ m++;
+ }
+ }
- return (n*NUM_VEC*LEN_VEC);
- }
+ return (n*NUM_VEC*LEN_VEC);
+ }
- template<typename T, int NUM_VEC, int LEN_VEC>
- int GeneralContainer<T,NUM_VEC,LEN_VEC>::pushElemListToBuffer(int n, int *list,double *buf,int operation,bool scale,bool translate, bool rotate)
- {
- int i,m = 0;
+ template<typename T, int NUM_VEC, int LEN_VEC>
+ int GeneralContainer<T,NUM_VEC,LEN_VEC>::popElemListFromBuffer(int first, int n, double *buf,int operation,bool scale,bool translate, bool rotate)
+ {
+ int m = 0;
- if(!this->decidePackUnpackOperation(operation,scale,translate,rotate))
- return 0;
+ if(!this->decidePackUnpackOperation(operation,scale,translate,rotate))
+ return 0;
- if(!this->decideCommOperation(operation))
- return 0;
+ bool pullBuf = decideCommOperation(operation);
- for(int ii = 0; ii < n; ii++)
- {
- i = list[ii];
- for(int j = 0; j < NUM_VEC; j++)
- for(int k = 0; k < LEN_VEC; k++)
- buf[m++] = static_cast<double>(arr_[i][j][k]);
- }
-
- return (n*NUM_VEC*LEN_VEC);
- }
+ bool createElem = decideCreateNewElements(operation);
- template<typename T, int NUM_VEC, int LEN_VEC>
- int GeneralContainer<T,NUM_VEC,LEN_VEC>::popElemListFromBuffer(int first, int n, double *buf,int operation,bool scale,bool translate, bool rotate)
- {
- int m = 0;
+ T** tmp;
+ create<T>(tmp,NUM_VEC,LEN_VEC);
- if(!this->decidePackUnpackOperation(operation,scale,translate,rotate))
- return 0;
+ for(int i = first; i < first+n; i++)
+ {
+ for(int j = 0; j < NUM_VEC; j++)
+ for(int k = 0; k < LEN_VEC; k++)
+ (createElem ? tmp[j][k] : arr_[i][j][k]) = (pullBuf ? static_cast<T>(buf[m++]) : static_cast<T>(0));
- bool pullBuf = decideCommOperation(operation);
+ if(createElem) add(tmp);
+ }
- bool createElem = decideCreateNewElements(operation);
+ destroy<T>(tmp);
- T** tmp;
- create<T>(tmp,NUM_VEC,LEN_VEC);
+ return m;
+ }
- for(int i = first; i < first+n; i++)
- {
- for(int j = 0; j < NUM_VEC; j++)
- for(int k = 0; k < LEN_VEC; k++)
- (createElem ? tmp[j][k] : arr_[i][j][k]) = (pullBuf ? static_cast<T>(buf[m++]) : static_cast<T>(0));
+ template<typename T, int NUM_VEC, int LEN_VEC>
+ int GeneralContainer<T,NUM_VEC,LEN_VEC>::pushElemListToBufferReverse(int first, int n, double *buf,int operation,bool scale,bool translate, bool rotate)
+ {
+ int m = 0;
- if(createElem) add(tmp);
- }
+ if(!this->decidePackUnpackOperation(operation,scale,translate,rotate))
+ return 0;
- destroy<T>(tmp);
+ for(int i = first; i < first+n; i++)
+ {
+ for(int j = 0; j < NUM_VEC; j++)
+ for(int k = 0; k < LEN_VEC; k++)
+ buf[m++] = static_cast<double>(arr_[i][j][k]);
+ }
- return m;
- }
+ return (n*NUM_VEC*LEN_VEC);
+ }
- template<typename T, int NUM_VEC, int LEN_VEC>
- int GeneralContainer<T,NUM_VEC,LEN_VEC>::pushElemListToBufferReverse(int first, int n, double *buf,int operation,bool scale,bool translate, bool rotate)
- {
- int m = 0;
+ template<typename T, int NUM_VEC, int LEN_VEC>
+ int GeneralContainer<T,NUM_VEC,LEN_VEC>::popElemListFromBufferReverse(int n, int *list,double *buf,int operation,bool scale,bool translate, bool rotate)
+ {
+ int i,m = 0;
- if(!this->decidePackUnpackOperation(operation,scale,translate,rotate))
- return 0;
+ if(!this->decidePackUnpackOperation(operation,scale,translate,rotate))
+ return 0;
- for(int i = first; i < first+n; i++)
+ if(COMM_TYPE_REVERSE == this->communicationType())
+ {
+
+ for(int ii = 0; ii < n; ii++)
{
+ i = list[ii];
for(int j = 0; j < NUM_VEC; j++)
for(int k = 0; k < LEN_VEC; k++)
- buf[m++] = static_cast<double>(arr_[i][j][k]);
- }
-
- return (n*NUM_VEC*LEN_VEC);
- }
-
- template<typename T, int NUM_VEC, int LEN_VEC>
- int GeneralContainer<T,NUM_VEC,LEN_VEC>::popElemListFromBufferReverse(int n, int *list,double *buf,int operation,bool scale,bool translate, bool rotate)
- {
- int i,m = 0;
-
- if(!this->decidePackUnpackOperation(operation,scale,translate,rotate))
- return 0;
-
- if(COMM_TYPE_REVERSE == this->communicationType())
- {
-
- for(int ii = 0; ii < n; ii++)
- {
- i = list[ii];
- for(int j = 0; j < NUM_VEC; j++)
- for(int k = 0; k < LEN_VEC; k++)
- arr_[i][j][k] += static_cast<T>(buf[m++]);
- }
+ arr_[i][j][k] += static_cast<T>(buf[m++]);
}
- else if(sizeof(int) == sizeof(T) && COMM_TYPE_REVERSE_BITFIELD == this->communicationType())
+ }
+ else if(sizeof(int) == sizeof(T) && COMM_TYPE_REVERSE_BITFIELD == this->communicationType())
+ {
+
+ for(int ii = 0; ii < n; ii++)
{
-
- for(int ii = 0; ii < n; ii++)
- {
- i = list[ii];
- for(int j = 0; j < NUM_VEC; j++)
- for(int k = 0; k < LEN_VEC; k++)
- arr_[i][j][k] = (T) (static_cast<int>(arr_[i][j][k]) | static_cast<int>(buf[m++]));
- }
+ i = list[ii];
+ for(int j = 0; j < NUM_VEC; j++)
+ for(int k = 0; k < LEN_VEC; k++)
+ arr_[i][j][k] = (T) (static_cast<int>(arr_[i][j][k]) | static_cast<int>(buf[m++]));
}
+ }
- return (n*NUM_VEC*LEN_VEC);
- }
+ return (n*NUM_VEC*LEN_VEC);
+ }
- /* ----------------------------------------------------------------------
- buffer size for a single element, push / pop a single element
- used for exchange of single elements
- ------------------------------------------------------------------------- */
+ /* ----------------------------------------------------------------------
+ buffer size for a single element, push / pop a single element
+ used for exchange of single elements
+ ------------------------------------------------------------------------- */
- template<typename T, int NUM_VEC, int LEN_VEC>
- int GeneralContainer<T,NUM_VEC,LEN_VEC>::elemBufSize(int operation,bool scale,bool translate,bool rotate)
- {
-
- if(!this->decidePackUnpackOperation(operation,scale,translate,rotate))
- return 0;
+ template<typename T, int NUM_VEC, int LEN_VEC>
+ int GeneralContainer<T,NUM_VEC,LEN_VEC>::elemBufSize(int operation,bool scale,bool translate,bool rotate)
+ {
+
+ if(!this->decidePackUnpackOperation(operation,scale,translate,rotate))
+ return 0;
- if(!this->decideCommOperation(operation))
- return 0;
-
- return (NUM_VEC*LEN_VEC);
- }
+ if(!this->decideCommOperation(operation))
+ return 0;
+
+ return (NUM_VEC*LEN_VEC);
+ }
- template<typename T, int NUM_VEC, int LEN_VEC>
- int GeneralContainer<T,NUM_VEC,LEN_VEC>::pushElemToBuffer(int i, double *buf,int operation,bool scale,bool translate, bool rotate)
- {
- int m = 0;
+ template<typename T, int NUM_VEC, int LEN_VEC>
+ int GeneralContainer<T,NUM_VEC,LEN_VEC>::pushElemToBuffer(int i, double *buf,int operation,bool scale,bool translate, bool rotate)
+ {
+ int m = 0;
- if(!this->decidePackUnpackOperation(operation,scale,translate,rotate))
- return 0;
+ if(!this->decidePackUnpackOperation(operation,scale,translate,rotate))
+ return 0;
- if(!this->decideCommOperation(operation))
- return 0;
+ if(!this->decideCommOperation(operation))
+ return 0;
- for(int j = 0; j < NUM_VEC; j++)
- for(int k = 0; k < LEN_VEC; k++)
- buf[m++] = static_cast<double>(arr_[i][j][k]);
+ for(int j = 0; j < NUM_VEC; j++)
+ for(int k = 0; k < LEN_VEC; k++)
+ buf[m++] = static_cast<double>(arr_[i][j][k]);
- return m;
- }
+ return m;
+ }
- template<typename T, int NUM_VEC, int LEN_VEC>
- int GeneralContainer<T,NUM_VEC,LEN_VEC>::popElemFromBuffer(double *buf,int operation,bool scale,bool translate, bool rotate)
- {
- int m = 0;
+ template<typename T, int NUM_VEC, int LEN_VEC>
+ int GeneralContainer<T,NUM_VEC,LEN_VEC>::popElemFromBuffer(double *buf,int operation,bool scale,bool translate, bool rotate)
+ {
+ int m = 0;
- if(!this->decidePackUnpackOperation(operation,scale,translate,rotate))
- return 0;
+ if(!this->decidePackUnpackOperation(operation,scale,translate,rotate))
+ return 0;
- bool pullBuf = decideCommOperation(operation);
+ bool pullBuf = decideCommOperation(operation);
- T** tmp;
- create<T>(tmp,NUM_VEC,LEN_VEC);
+ T** tmp;
+ create<T>(tmp,NUM_VEC,LEN_VEC);
- for(int j = 0; j < NUM_VEC; j++)
- for(int k = 0; k < LEN_VEC; k++)
- tmp[j][k] = pullBuf ? static_cast<T>(buf[m++]) : static_cast<T>(0);
+ for(int j = 0; j < NUM_VEC; j++)
+ for(int k = 0; k < LEN_VEC; k++)
+ tmp[j][k] = pullBuf ? static_cast<T>(buf[m++]) : static_cast<T>(0);
- add(tmp);
- destroy<T>(tmp);
+ add(tmp);
+ destroy<T>(tmp);
- return m;
- }
+ return m;
+ }
#endif
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/debian-science/packages/liggghts.git
More information about the debian-science-commits
mailing list