由于要把ansys中的节点编号和节点坐标导入到matlab中处理,而本身的nlist又省略太多位数,恐怕最后的结果不精确,于是想到了用自定义格式输出。
通过网上查找资料,得知ansys可以用C、Fortran的输出格式进行输出,于是选择了较为熟悉的Fortran输出格式。
1.
Fortran整型输出:
格式为rIw,其中r为重复系数,w为字段宽度,正负号也占一个字符,空格占一个字符但不起作用。输出时,若整型数字字段长度小于w,则用空格在左侧补齐,若数字长度大于w,则输出w个*。如:A=-12345,如果format(I6),则输出-12345,如果format(I4),则输出****。
2. Fortran实型输出:
格式为rFw.d,r和w意义同上,d为小数位数,输出时先把数值转换为宽w的小数,小数点也占一位,小数占d位,若输出值小数位小于d位,则用0在低位补齐,若输出值小数位大于d位,则只输出d位并在最后一位四舍五入,若输出实际长度小于w,则在左侧补0,输出实际长度大于w,则输出w个*。
存疑:一个数12345678.9,按f13.7怎么输出?
以上是Fortran常用的两种输出数据类型和格式,从ansys导出数据的话,需要用的常用命令有*cfopen、*cfclose、*get、*dim、*vwrite等。以一个例子说明:
用nsel选择了一些节点,将这些节点的节点编