Ansys运行solve后弹出对话框和warning的解决经验

  • 将程序保存为宏(macro)文件,即在记事本或写字板里保存APDL命令后,将文件名改为XXX.mac,并放在ansys目录文件夹下。运行时直接在ansys命令窗口输入XXX,回车,即可调用该宏文件。此时求解时不会弹出选择对话框,无需人工干预,程序即可自动运行并求得结果。

  本文介绍了解决Ansys运行solve后弹出对话框和warning的一些经验。

  ansys中存在warning提示时会弹出对话框,但有时候警告信息对运算结果影响很小,并且难以消除这些warning,这时候就可以用如下命令屏蔽warning对话框的显示:

  /uis,msgpop,3

  运行此命令后,warning信息不再弹出对话框,但error信息仍会弹出对话框。

  当ansys中存在warning或error信息时,进行求解时,运行solve命令后会弹出对话框进行提示,并询问是否继续,需点击YES方能求解,解决此问题的方法为:

  将程序保存为宏(macro)文件,即在记事本或写字板里保存APDL命令后,将文件名改为XXX.mac,并放在ansys目录文件夹下。运行时直接在ansys命令窗口输入XXX,回车,即可调用该宏文件。此时求解时不会弹出选择对话框,无需人工干预,程序即可自动运行并求得结果。


摘自:http://www.idnovo.com.cn/article/2010/1117/article_64109.html

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
根据你的要求,我修改了 `Solve` 函数的 C++ 代码,以节省内存消耗。以下是修改后的代码: ```cpp #include <iostream> using namespace std; int n, m; inline int gcd(int a, int b) { if (!b) return a; return gcd(b, a % b); } struct Frac { int fz, fm; double val; void simplify() { register int g = gcd(fz, fm); fz /= g; fm /= g; val = (double)fz / (double)fm; } void init(int fm_, int fz_) { fm = fm_; fz = fz_; simplify(); } Frac plus(Frac a) { register int gfm = a.fm * fm; register int gfz = a.fz * fm + fz * a.fm; Frac ans; ans.init(gfm, gfz); ans.simplify(); return ans; } Frac times(int a) { register int gfm = fm; register int gfz = fz * a; Frac ans; ans.init(gfm, gfz); ans.simplify(); return ans; } }; int Solve(int cnt, int last, const Frac& sum) { if (cnt == n) { if (sum.fm - sum.fz == 1 && sum.fm >= last) { return 1; } return 0; } if (sum.val >= 1) { return 0; } Frac lst; lst.init(last, 1); Frac add = lst.times(n - cnt + 1); Frac t = sum.plus(add); if (t.val == 1) return 1; if (t.val < 1) { return 0; } lst.init(m, 1); add = lst.times(n - cnt); t = sum.plus(add); if (t.val >= 1) { return 0; } int count = 0; for (register int i = last; i <= m; ++i) { Frac temp; temp.init(i, 1); count += Solve(cnt + 1, i, sum.plus(temp)); } return count; } int main() { cin >> n >> m; cout << Solve(1, 2, {0, 1, 0.00}) << endl; return 0; } ``` 在修改后的代码中,我将 `sum` 参数改为了 `const Frac& sum`,即通过常量引用传递。这样做可以避免对 `sum` 结构体进行复制操作,减少了内存消耗。同时,结构体的成员函数也保持了原来的逻辑不变。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值