Commit Graph

44327 Commits

Author SHA1 Message Date
cb8d8eefe4 修改了lal_gran_hooke.cpp中resize函数的输入错误,避免幽灵粒子情况下的内存越界 2025-07-13 22:57:19 +08:00
82f0d869bc lal_gran_hooke.cpp文件的resize函数的输入有bug,调整后可以正常运行幽灵粒子相关算例 2025-07-13 22:52:01 +08:00
2774fc7b10 只修改了一个resize的数据内存空间重新分配的地方 2025-07-13 14:34:03 +08:00
ec60fcf1fe build(gpu): 添加CUDA调试支持并扩展编译选项
* 在GPU.cmake中添加了${CUDA_NVCC_FLAGS_CUSTOM}变量到CUDA编译命令
* 引入gpu-granular-debug.cmake构建预设配置
* 添加调试模式支持(-g -G -O0)和详细的编译器检测
* 为所有构建模式设置-allow-unsupported-compiler标志
2025-07-10 15:07:17 +08:00
9978b23eef feat(granregion): 重构漏斗示例并添加两阶段仿真流程
* 修改 in.granregion.funnel:
  - 将颗粒尺寸从 [0.25, 0.5] 调整为 [0.2, 0.3]
  - 接触模型从 hertz/history 更改为 hooke
  - 增加单次注入颗粒数量从 2000 到 8000
  - 添加邻域列表设置 neigh_modify one 10000
* 新增两阶段仿真文件:
  - in.granregion_init.funnel: 初始化阶段,颗粒注入并生成重启文件
  - in.granregion_run.funnel: 运行阶段,从重启文件继续仿真
* 其他调整:
  - 去除初始化阶段的颗粒注入步骤注释
  - 添加边界区域重新定义逻辑
  - 优化热力学数据输出设置
2025-07-10 09:21:16 +08:00
6dcfc82be5 feat(gpu/pair): 添加 Hooke 颗粒力模型的 GPU 加速支持
实现了颗粒间 Hooke 力模型的 GPU 加速计算,主要包含以下内容:

* 引入基础类 BaseSphere 处理球形颗粒的位置、半径和角速度数据
* 新增 GranHooke 类实现法向/切向弹性力与阻尼力的 GPU 计算逻辑
* 使用纹理内存优化颗粒属性访问(半径、质量、速度、角速度)
* 实现设备端邻居列表构建和并行力计算内核
* 支持与 LAMMPS 的 FixNeighHistory 集成处理接触历史数据
* 添加 GPU 与 CPU 数据转换接口,支持混合粒子分组和冻结状态处理
* 整合到 LAMMPS 的 GPU 模块,可通过 pair_style gran/hooke/gpu 调用
2025-07-07 14:37:56 +08:00
63fcdb6e52 Merge pull request #4634 from akohlmey/static-analysis-updates
Updates for LAMMPS from static code analysis
2025-06-29 22:25:15 -04:00
cd44539429 modernize by using anonymous namespace 2025-06-29 19:56:42 -04:00
47332f8e46 no need to make member const 2025-06-29 19:28:00 -04:00
fee96bc777 make double to bool/int/tagint conversions explicit 2025-06-29 19:10:29 -04:00
b279ba9a40 follow one definition rule by moving functions into class definition 2025-06-29 18:47:40 -04:00
0c68c4d493 Merge pull request #4636 from wapisani/fix_bond_create_inter_intra
Add support for inter-/intra-molecular bonding to fix bond/create
2025-06-28 09:43:54 -04:00
3e12c3f773 flag move constructor and swap operator as noexcept for performance 2025-06-28 05:21:25 -04:00
7bc86899b3 type fixes and error message updates 2025-06-28 05:20:49 -04:00
ac7013432b don't use double as boolean, use qualified auto 2025-06-28 04:48:47 -04:00
039fb94faa improve errors and apply clang-format 2025-06-28 04:45:02 -04:00
8c64b2090f process tilt parameters correctly and consistent with FixNH class 2025-06-28 04:38:10 -04:00
77417e2223 use correct type 2025-06-28 04:37:24 -04:00
2e4f29c900 use correct type and converions function 2025-06-28 04:24:46 -04:00
8dae514e03 use correct types 2025-06-28 04:06:36 -04:00
22a42446d3 tap_flag is integer and thus we should use utils::inumeric() 2025-06-28 03:58:27 -04:00
2968bfa8d9 nsvector_total should be an int 2025-06-28 03:53:34 -04:00
669f60b692 use qualified auto and avoid redundant types 2025-06-28 03:51:09 -04:00
1bdf30103f used correct type parser and make conversions explicit 2025-06-28 03:50:51 -04:00
4992caed95 more modernization of DIFFRACTION package 2025-06-28 03:37:42 -04:00
f425f2ab26 modernize 2025-06-28 03:30:10 -04:00
309e374867 use utils::inumeric() for parsing integers, using qualified auto 2025-06-28 03:19:17 -04:00
d5a344a5c8 modernize 2025-06-28 03:18:52 -04:00
481749dc35 modernize argument processing and error messages 2025-06-28 03:07:17 -04:00
14b1241db2 use utils::inumeric() for reading integer arguments 2025-06-28 03:05:03 -04:00
4d26bd5fd5 ndouble is an int 2025-06-28 03:04:44 -04:00
5fe4c9149f use qualified auto 2025-06-28 03:04:33 -04:00
a24aeb3fc6 icut, jcut should be doubles 2025-06-28 03:04:23 -04:00
0cd4ea4d04 don't use doubles as boolean 2025-06-28 02:34:58 -04:00
8726deb9b6 newton_bond is int not double 2025-06-28 02:34:39 -04:00
46561f57bd use utils::inumeric() to parse integers 2025-06-28 02:34:22 -04:00
aacc30c4d7 no benefit from declaring _tid const 2025-06-28 02:33:55 -04:00
2833b7adbd make cast to double explicit 2025-06-28 02:33:38 -04:00
11c4a8b49c use math.h function without std:: prefix 2025-06-28 02:22:25 -04:00
c28869124b don't truncate cuberoot to single precision 2025-06-28 02:22:09 -04:00
bd98354691 make cast to double precision explicit 2025-06-28 02:17:25 -04:00
109aec74ea remove one more implicit truncation of precision. update unit test again. 2025-06-28 02:06:49 -04:00
588ed11e85 avoid comparison with different signedness 2025-06-28 02:01:48 -04:00
be5602c44f apply clang-format 2025-06-28 02:01:32 -04:00
e78d85725b convert to internal linkage with anonymous namespace 2025-06-28 02:01:23 -04:00
1b36451f6a modernize. turn static inline into just inline 2025-06-27 23:58:11 -04:00
d168de00db silence compiler warnings 2025-06-27 23:57:37 -04:00
0c6ce8f23c fix typo 2025-06-27 23:27:44 -04:00
3ffe858a8b remove dead code and protect from neighbor list with special neighbors
this addresses most of issue #4639
2025-06-27 23:25:15 -04:00
c279d194dc be paranoid about invalid molecule templates 2025-06-27 22:47:50 -04:00