ODE本活用させていただいております。ODEを使って建設機械の解析を行っています。大体うまく解析できるようになったのですが、要素数が多く解析に時間が掛かるようになってしまいました。Studio2008TeamSystemに含まれるプロファイラを使ってどの部分で計算に時間がかかっているかを調べたところdSolveL1とdSolveL1Tという関数であることを突き止めました。計算時間を短縮するため、この部分のソースコードを書き換えてOpenMPによるマルチスレッド化を試みました。何とかOpenMPによるマルチスレッド化はできたのですが、大域的部分をマルチスレッド化できませんでしたのでスレッド生成のオーバーヘッドが大きく、短くなるどころかかえって解析時間が長くなってしまいました。そこで、dSolveL1とdSolveL1Tという関数が連立方程式を解いているのであれば、SuperLUかOpneCVを使って書き換えればと思い、受け渡しされる引数の構造と計算結果を解析中に書き出してみました。この観察からこれらの関数は連立方程式を解いているようではないことがわかりました。前置きが長くなってしましましたがLCPを解く上でこのdSolveL1とdSolveL1Tという関数がどんな計算をしているのかもしご存じであればご教授願いたいと思います。解析速度を改善するための方策をご存知でしたらこれについてもよろしくお願いします。PMすみません、自己解決しました。Boxのジオメトリを生成してないだけでした。ODE本のサンプルなど動かしたりしているのですが、わからないことがあり質問させていただきます。直方体で蛇ロボットを作ろうとしているのですがdWorldStep(world,0.01);を入れると画面にロボットが映らなくなってしまいます。dWorldStep(world,0.01);を抜くとロボットは表示されますが、もちろん動きません。ジョイントの制御が間違っているかもしれませんがdWorldStep(world,0.01);を入れないと確認もできません。いう原因が考えられるでしょうか?ご回答よろしくお願いします。AMすみませんODEは関係ありませんでした。他のサイトを調べたら解決できました。お騒がせしてすみません。PM初めまして、ODEを使って研究を行っているものです。最近ODEのプログラムをファイル分割しようしているのですがうまくいきません。いい方法を知っていたらよろしくお願いします。PMぽったーさん,お久しぶりです.博多は良い街ですね.さて、御指摘ありがとうございます。何度も確認したのですが記載ミスでした。dsDrawSphereDが定義されていませんでした.codeblocsの方はワークスペースの保存をしっかりとしていませんでした。設定した後保存がされていませんでした。dBodyGetPosition()と表示され実行できません。要望募集6にあるdInitODE();とdClodseODE();を入れても変わりません。(3)タイトルとURLをコピーしました。