
首先,vread命令是不能直接用ansys输入命令的。反正我和模型命令流放在一起就报错。我的解决方法是:
另外创建一个txt文档,可以把这个文档放在ansys的工作文件夹里面,比如命名为 outtxt,这个文档的命令就单纯用来读取那个txt的数据
dim,f,array,13,20
vread,f,E:\ANSYSMATLAB\shoudiangongwang100m\mw,txt,,jik,20,13
(20e169)
然后在你的模型的命令流中加上一句,这样就相当于打开了那个 out文本,也同时会读取数据:
/input,out,txt
finish
亲测可行,可能有其他更好用的方法~可以多多交流
菜单路径:
Utility Menu > Parameters > Array Parameters > Add > 在d出的对话框中,选择 Table,然后定义行数、列数等。
那就要对这个面进行 *** 作了!把这个面在网格划分之前要处理一下,这样才可以使用sfa,也就是模型上要有适当的修改!
不然就是可以选择这这个面上的单元,然后使用sfe命令把面载荷施加在单元上也是可以!这个个就要主要单元的面的问题!选择的这个面上的单元需要具有同样的单元方向,
或者可以选择这个面上的节点,然后使用命令sf来施加表面载荷!这样都不用改,只要选择这个面上的节点就可以了!
比如是把一个完整的面中间建立一个面啊,比如一个正方体,然后在正方体的中间建立一个长方体,然后两个体叠加,这样就可以在正方体上产生一个由于长方体的叠加而多余的面,这就要求楼主具有良好的建模思想,这里的要求是不一定完全按照模型需要来改,而是建立合适的模型,这也是有限元分析的一个重点与难点!
原来ansys求解完问题之后,会把计算结果保存在一个表里面,表的行是单元的编号,表的列是单元的计算结果,如节点位移、节点力、应力、应变等等。
ETABLE这个命令就是把表中的某个列取出来,赋值给某个自定义的向量,再通过GET命令可以指定某个具体的单元,就可以把该单元的对应计算结果提取出来了。ETABLE,LabltemComp将单元值形成一个表以便进一步的处。
readtable()函数是R最基本函数之一,主要用来读取矩形表格数据。
我之前处理出来的数据直接就是用的save函数来保存的,结果都是一些乱码,经过高人指点以后,发现直接用readtable函数就可以了。感觉明明就是很基础的东西,但是就是卡了很久,唉,自学r语言的无奈啊。
readtable()函数是R最基本函数之一,主要用来读取矩形表格数据。
各参数的说明如下:
(1)file
file是一个带分隔符的ASCII文本文件。
(2)header
一个表示文件是否在第一行包含了变量的逻辑型变量。
如果header设置为TRUE,则要求第一行要比数据列的数量少一列。
(3)sep
分开数据的分隔符。默认sep=""。
readtable()函数可以将1个或多个空格、tab制表符、换行符或回车符作为分隔符。
> mouse<-readtable(file="mouse_all_counttxt",sep="\t",header=T)>head(mouse) X control_1 control_2 Akap95_1 Akap95_21 ENSMUSG0000006000214 431 341 669 3842 ENSMUSG000000725765 3 2 2 53 ENSMUSG0000003054614 5 5 1 34 ENSMUSG000000731164 0 0 0 25 ENSMUSG000000262286 2 0 2 36 ENSMUSG000000951021 0 0 0 0
(4)quote
用于对有特殊字符的字符串划定接线的字符串,默认值是TRUE(")或单引号。(`)
(5)dec
decimal用于指明数据文件中小数的小数点。
(6)numerals
字符串类型。用于指定文件中的数字转换为双精度数据时丢失精度的情况下如何进行转换。
(7) rownames
保存行名的向量。可以使用此参数以 向量的形式 给出每行的实际行名。或者要读取的表中 包含行名称的列序号 或 列名字符串 。
在数据文件中有行头且首行的字段名比数据列少一个的情况下,数据文件中第1列将被视为行名称。除此情况外,在没有给定rownames参数时,读取的行名将会自动编号。
可以使用rownames = NULL强制行进行编号。
(8) colnames
指定列名的向量。缺省情况下是又"V"加上列序构成,即V1,V2,V3
> mouse<-readtable(file="mouse_all_counttxt",sep="\t",header=T,rownames=1)>head(mouse) control_1 control_2 Akap95_1 Akap95_2ENSMUSG0000006000214 431 341 669 384ENSMUSG000000725765 3 2 2 5ENSMUSG0000003054614 5 5 1 3ENSMUSG000000731164 0 0 0 2ENSMUSG000000262286 2 0 2 3ENSMUSG000000951021 0 0 0 0
Tip:
rownames、colnames是base包中的行名、列名函数;
而rownames、colnames是readtable函数中的行名、参数
(9)asis
该参数用于确定readtable()函数读取字符型数据时是否转换为因子型变量。当其取值为FALSE时,该函数将把字符型数据转换为因子型数据,取值为TRUE时,仍将其保留为字符型数据。其取值可以是逻辑值向量(必要时可以循环赋值),数值型向量或字符型向量,以控制哪些列不被转换为因子。
注意:可以通过设置参数 colClasses = "character"来阻止所有列转换为因子,包括数值型的列。
(10)nastrings
可选的用于表示缺失值的字符向量。
nastrings=c("-9","")把-9和?值在读取数据时候转换成NA
(11)colClasses
用于指定列所属类的字符串向量。
(12)nrows
整型数。用于指定从文件中读取的最大行数。负数或其它无效值将会被忽略。
(13)skip
整型数。读取数据时忽略的行数。
(14)checknames
逻辑值。该参数值设置为TRUE时,数据框中的变量名将会被检查,以确保符在语法上是有效的变量名称。
(15)fill
逻辑值。在没有忽略空白行的情况下(即blanklinesskip=FLASE),且fill设置为TRUE时,如果数据文件中某行的数据少于其他行,则自动添加空白域。
(16)stripwhite
逻辑值,默认为FALSE。此参数只在指定了sep参数时有效。当此参数设置为TRUE时,数据文件中没有包围的字符串域的前边和后边的空格将会被去掉。
(17)blanklinesskip
逻辑值,此参数值设置为TRUE时,数据文件中的空白行将被忽略。默认值为TRUE。
(18)commentchar
字符型。包含单个字符或空字符的向量。代表注释字符的开始字符。可以使用""关闭注释。
(19)allowEscapes
逻辑值。类似“\n”这种C风格的转义符。如果这种转义符并不是包含在字符串中,该函数可能解释为字段分隔符。
(20)flush
逻辑值。默认值为FALSE。当该参数值设置为TRUE时,则该函数读取完指定列数后将转到下一行。这允许用户在最后一个字段后面添加注释。
(21) stringsAsFactors
逻辑值,标记处字符向量是否需要转化为因子,默认是TRUE。
首先,明确String与Factor的区别。String是字符串,可用于记录琐细信息(比如发现UFO者的口头描述内容)。Factor是因此,用于给一行记录做“分类标记”,比如人的性别factors可以设置为“男”、“女”,工作效率最高日期的factors可以是“Mon”、"Tue",对于工作效率也可以有“high”、“low”等。对于Factor类型属性,R语言可以自动统计数据的factor水平(level),比如,男,有多少,Mon有多少等。
stringsAsFactors = F意味着,“在读入数据时,遇到字符串之后,不将其转换为factors,仍然保留为字符串格式”。
(22)fileEncoding
字符串类型,指定文件的编码方式。如果指定了该参数,则文本数据按照指定的格式重新编码。
(23)encoding
假定输入字符串的编码方式。
(24)text
字符串类型。当未提供file参数时,则函数可以通过一个文本链接从text中读取数据。
(25)skipNul
逻辑值。是否忽略空值。默认为FALSE。
参考资料 https://wwwjianshucom/p/90e1d430c9ef
在ANSYS中,您可以使用命令窗口或者Workbench中的工作表来添加函数荷载。
使用命令窗口:
打开命令窗口并输入DIM命令来定义函数荷载的维度。
输入FUNC命令来定义函数荷载。
输入DO命令,然后输入DO,LOAD命令来将函数荷载应用到模型中。
使用Workbench中的工作表:
打开Workbench并导入您的模型。
在工作表中选择“Load”选项卡。
在“Function”下拉菜单中选择“Function Load”选项。
在“Function Type”下拉菜单中选择您需要的函数类型。
输入函数参数并定义函数。
在“Apply”选项卡中选择要应用函数荷载的部分。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)