PFC(1)—ball generate与ball distribute的区别、导出颗粒参数(位置及半径)、对导出的txt文件数据进行分列操作

本文主要是介绍PFC(1)—ball generate与ball distribute的区别、导出颗粒参数(位置及半径)、对导出的txt文件数据进行分列操作,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1.ball generate与ball distribute的区别
(1)ball generate生成圆柱形试样
ball generate radius [keli_rdmin] [keli_rdmax] number 100 ...range cylinder end1 0 0 [sample_hight*0.5-keli_rdmin] ...end2 0 0 [-sample_hight*0.5+keli_rdmin] radius [sample_rad-keli_rdmin]

在这里插入图片描述

ball generate生成的颗粒无接触,对生产散体有优势
(2)ball distribute生成圆柱形试样
ball distribute radius [keli_rdmin] [keli_rdmax]  porosity 0.2 ...range cylinder end1 0 0 [sample_hight*0.5-keli_rdmin] ...end2 0 0 [-sample_hight*0.5+keli_rdmin] radius [sample_rad-keli_rdmin]

在这里插入图片描述

ball distribute生成的颗粒会有重叠,能够控制孔隙率
2.生成一个圆柱试样不能够导出颗粒参数(位置及半径)
new 
def chicun_par    sample_rad=0.4sample_hight=sample_rad*2keli_rdmin=0.04keli_rdmax=0.08
end
@chicun_pardomain extent [-sample_rad*1.5] [sample_rad*1.5] [-sample_rad*1.5] [sample_rad*1.5] ...[-sample_hight*0.5*1.5] [sample_hight*0.5*1.5][n=1.4]
wall generate cylinder base 0 0 [-sample_hight*0.5*n] axis 0 0 1 ...height [sample_hight*n] radius [sample_rad] cap false falsewall generate plane position 0 0 [sample_hight*0.5] dip 0 ddir 0
wall generate plane position 0 0 [-sample_hight*0.5] dip 0 ddir 0ball generate radius [keli_rdmin] [keli_rdmax] number 100 ...range cylinder end1 0 0 [sample_hight*0.5-keli_rdmin] ...end2 0 0 [-sample_hight*0.5+keli_rdmin] radius [sample_rad-keli_rdmin]cmat default model linear method deform emod 10e8 kratio 1.5 property fric 0.5ball attribute density 2.7e3 damp 0.7
cycle 2000 calm 50solveball delete range cylinder end1 0 0 [sample_hight*0.5] ...end2 0 0 [-sample_hight*0.5] radius [sample_rad] notdef output_balls_infoball_num=ball.numfile_infp=array.create(ball_num+1)count=1file_infp(count)="pos_x      pos_y      pos_z      radius"count+=1loop foreach local bp ball.listfile_infp(count) = string.build("%1      %2      %3      %4",ball.pos.x(bp),ball.pos.y(bp),ball.pos.z(bp),ball.radius(bp)) count+=1end_loop    outflag=file.open("CubeWall.txt", 1, 1)file.write(file_infp,ball_num+1)file.close()
end
@output_balls_infosave sample
注意最后数据会导出在CubeWall.txt中,如果找不到数据可以在此电脑中进行搜索

在这里插入图片描述

3.对导出的txt文件数据进行分列操作
进行后处理,将数据导入到excel中进行分列,在导入数据的分隔符号中选择空格,分列的具体操作过程如下:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

这篇关于PFC(1)—ball generate与ball distribute的区别、导出颗粒参数(位置及半径)、对导出的txt文件数据进行分列操作的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/168585

相关文章

Go语言中make和new的区别及说明

《Go语言中make和new的区别及说明》:本文主要介绍Go语言中make和new的区别及说明,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1 概述2 new 函数2.1 功能2.2 语法2.3 初始化案例3 make 函数3.1 功能3.2 语法3.3 初始化

MySQL 删除数据详解(最新整理)

《MySQL删除数据详解(最新整理)》:本文主要介绍MySQL删除数据的相关知识,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录一、前言二、mysql 中的三种删除方式1.DELETE语句✅ 基本语法: 示例:2.TRUNCATE语句✅ 基本语

Python实现对阿里云OSS对象存储的操作详解

《Python实现对阿里云OSS对象存储的操作详解》这篇文章主要为大家详细介绍了Python实现对阿里云OSS对象存储的操作相关知识,包括连接,上传,下载,列举等功能,感兴趣的小伙伴可以了解下... 目录一、直接使用代码二、详细使用1. 环境准备2. 初始化配置3. bucket配置创建4. 文件上传到os

Java内存分配与JVM参数详解(推荐)

《Java内存分配与JVM参数详解(推荐)》本文详解JVM内存结构与参数调整,涵盖堆分代、元空间、GC选择及优化策略,帮助开发者提升性能、避免内存泄漏,本文给大家介绍Java内存分配与JVM参数详解,... 目录引言JVM内存结构JVM参数概述堆内存分配年轻代与老年代调整堆内存大小调整年轻代与老年代比例元空

mysql表操作与查询功能详解

《mysql表操作与查询功能详解》本文系统讲解MySQL表操作与查询,涵盖创建、修改、复制表语法,基本查询结构及WHERE、GROUPBY等子句,本文结合实例代码给大家介绍的非常详细,感兴趣的朋友跟随... 目录01.表的操作1.1表操作概览1.2创建表1.3修改表1.4复制表02.基本查询操作2.1 SE

MyBatisPlus如何优化千万级数据的CRUD

《MyBatisPlus如何优化千万级数据的CRUD》最近负责的一个项目,数据库表量级破千万,每次执行CRUD都像走钢丝,稍有不慎就引起数据库报警,本文就结合这个项目的实战经验,聊聊MyBatisPl... 目录背景一、MyBATis Plus 简介二、千万级数据的挑战三、优化 CRUD 的关键策略1. 查

python实现对数据公钥加密与私钥解密

《python实现对数据公钥加密与私钥解密》这篇文章主要为大家详细介绍了如何使用python实现对数据公钥加密与私钥解密,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录公钥私钥的生成使用公钥加密使用私钥解密公钥私钥的生成这一部分,使用python生成公钥与私钥,然后保存在两个文

mysql中的数据目录用法及说明

《mysql中的数据目录用法及说明》:本文主要介绍mysql中的数据目录用法及说明,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1、背景2、版本3、数据目录4、总结1、背景安装mysql之后,在安装目录下会有一个data目录,我们创建的数据库、创建的表、插入的

Golang如何对cron进行二次封装实现指定时间执行定时任务

《Golang如何对cron进行二次封装实现指定时间执行定时任务》:本文主要介绍Golang如何对cron进行二次封装实现指定时间执行定时任务问题,具有很好的参考价值,希望对大家有所帮助,如有错误... 目录背景cron库下载代码示例【1】结构体定义【2】定时任务开启【3】使用示例【4】控制台输出总结背景

c++中的set容器介绍及操作大全

《c++中的set容器介绍及操作大全》:本文主要介绍c++中的set容器介绍及操作大全,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录​​一、核心特性​​️ ​​二、基本操作​​​​1. 初始化与赋值​​​​2. 增删查操作​​​​3. 遍历方