abaqus导出节点应力
1 主菜单 Tools --> Query
2 点击Probe values
3 选择要导出的数据
4 点击 write to file
5 自己起个名字; 选择导出位数和形式 我这里保留六位, 没用科学计数法
6 打开文件
可以看到, 原来节点的位置和形变后节点的位置.应力到后面去了.
应力 每个点都"属于"不同的四面体:
保存得到.rpt文件
读取.rpt文件, 获得有效信息
template<typename T, typename Y>
void TetModel<T, Y>::ReadRpt()
{
map<int, double> cae_data;
//找到 Part Instance Node ID Attached elements S, Mises 开始读取数据
std::ifstream ifs(this->file_path_base + ".rpt");
if (!ifs) {
std::cerr << "Failed to open file" << std::endl;
return;
}
//std::string start_mark = {" Part Instance Node ID Attached elements S, Mises"};
std::string line;
while (std::getline(ifs, line)) {
if (line.find("Attached") != std::string::npos &&
line.find("elements") != std::string::npos) { // 如果找到表头
getline(ifs, line);
break;
}
}
while (getline(ifs, line)) //读取node_data->size()个
{
stringstream ss(line);
string field1, field2, field3, field4;
ss >> field1 >> field2 >> field3 >> field4;
if (!field2.empty() && !field4.empty())
{
int col2 = std::stoi(field2);
double col4 = std::stod(field4);
cae_data.emplace(col2, col4);
}
}
ifs.close();
}
可以在WPS里面处理, 最后就得到(x,y,z,δ)