問題タブ [petsc]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - MPI 使用時の KiFMM の operator() による Segfault
コードに KiFMM と PETSc を使用しています。シリアル バージョンでは問題はありませんでしたが、2 つのノードで MPI を使用しようとすると でエラーが発生(*trgPos)(j,i)
しDblNumMat
ます
。 /kifmm3d/documentation/common/html/nummat_8hpp_18ed51e81f911a23442591467d7a83ca.html .
gdb からのバックトレースはこれを示しています:
なぜこれが起こっているのか、そして私に何ができるのか誰にも分かりますか?
c - PETSC_VIEWER_DRAW_WORLD に何も表示されない
PETSC を使い始めたばかりで、matView を使用して行列をプロットしようとしています。私のコードは次のようなものです:
このようにMatViewを使用すると:
行のリストが表示されます。しかし、私はそれを
何も起こりません。
リストでさえも、ネット構造について何も見ることができません。
サンプルを実行しようとしましたが、まったく機能しません。また、PETSC の文書は事態を悪化させるだけです。誰かが私を助けることができますか?行のリストではなく、マトリックスを(グラフィカルに)見たいと思います。
コメントからの詳細なコンテキスト:
- X ウィンドウは正常に機能しています -- 、 、 などで確認でき
gvim
ましxlogo
たxeyes
。 --with-x
のオプションを使用して、ライブラリが再構築されましたconfigure
。それでも何も表示されません。
shared-libraries - PETSC 3.3 - すべての libpetscSOMETHING.so ファイルをコンパイルして取得する方法は?
この構成を使用して PESTC をコンパイルしようとしました。
しかし、petsc を使用するライブラリをコンパイルすると、すべての petsc ライブラリをリンクしたにもかかわらず、実行時に : のエラーが発生undefined symbol: _Z10VecGetSizeP6_p_VecPi
し、インターネットで検索した後、いくつかの .so に遭遇したため、petsc がビルドされず、ライブラリがlibpetscvec.so
orのようになりlibpetscsnes.so
ました。
.mod
また、これらの生成されていないライブラリと同じ名前のものがいくつか生成されることもわかりました(例: /tmp/petsc-3.3-p7/arch-linux2-c-debug/include/petscsnes.mod
)。
そのため、ライブラリにモジュールを提供しないようにコンパイラに指示するフラグが欠落しているのか、それとも外部パッケージに含まれているのか、--download-SOMEPACKAGE
.
で.so
生成されるライブラリは次の$PETSC_DIR/$PETSC_ARCH/lib
とおりです。
c++ - PETSC。mpiexec を使用せずにプログラムを実行する
PETSC を使用して作成したプログラムを複数のスレッドで実行するにはどうすればよい./mpiexec -n <>
ですか?
たぶん、MPIを個別に初期化する必要がありますか? この場合にMPIを初期化する方法の例への参照を得ることができますか?PetscInitialize()
ありがとう!
matrix - ゴースト ラインで PETSc マトリックスを構築しますか?
PETSc では、VecCreateGhost() または VecMPISetGhost() 関数のおかげで、ベクターがゴースト値を保持できることを知っています。ゴーストラインを含むマトリックスを作成する同様の機能があるかどうかは誰にもわかりませんか? ありがとう、ミリアム
c - PETSc における不規則な形状の構造化グリッド (DM コンテキスト)
の構造化グリッドに有限差分問題がPETSc
あり、DM
コンテキストを使用すると、マトリックスを非常に簡単に作成できます。DM
この参照システムを使用しているため、長方形ドメインのマトリックス全体が得られますが、形状が不規則です私の問題では、このマトリックスで多くのエントリを使用していないことを意味します。KSP
行列の組み立てでこのスペースを割り当てず、このエントリを使用して問題を解決しないようにコンテキストに伝えるにはどうすればよいですか?
私のコードは次のようなものです:
module - モジュールに #include された PETSC ヘッダー
グローバル変数を保持するモジュールがあります。いくつかのグローバル変数を宣言するには、HDF5 を使用する必要があります。ライブラリも使用しているため、ヘッダー ファイルも含める必要があります。したがって、global_variable.F90 のプリアンブルは次のようになります。
Vecはヘッダー ファイルで定義されているデータ型で、HID_Tは HDF5 モジュールで定義されているデータ型です。
これで、I/O 用のサブルーチンを保持するファイルができました。このファイルも HDF5 を使用し、global_variables.F90 で使用されているのと同じライブラリーを使用します。したがって、IO.F90 は次のようになります。
質問 1:コンパイラは、IO.F90 をコンパイルすると、Vecが未定義のデータ型であるというエラーを返します。しかし、 HID_Tについては文句を言いません。global_variables モジュールには既に HDF5 モジュールとヘッダー ファイルの両方が含まれていると思いました。IO.F90 で global_variables モジュールを使用すると、すべてのデータ型宣言が処理されますが、そうではないようです。私が間違っていることを理解するのを手伝ってもらえますか?
質問 2: #include の効果を、それが宣言されているモジュールに制限する方法はありますか?
PS。Vec#include "finclude/petscvec.h"
を宣言する IO.F90にインクルードすると、うまくコンパイルされます。
c - Valgrind が PETSc の char* の割り当てでサイズ 8 の無効な書き込みを報告するのはなぜですか?
私は PETSc での申請がうまく終了しませんでした。Valgrind で何が起こっているかを確認しましたが、そのレポートがわかりません:
tsresil.c:525 (PETSc での私の実装):
inherit.c で:
PetscObject は次へのポインタです。
したがって、問題は の割り当てに関連しているようですが、char* descr
理由はわかりません。サイズ 8 は、ポインターが間違っていることを通知しますか?