問題タブ [lammps]
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.
python - python CDLLを使用してc libをロードすると、pythonパスにライブラリが表示されません
オープンソースのアカデミック コードを動作させようとしています (プロジェクトのホームはこちらです)。これは、(非常に) 薄い python ラッパーを備えた大きな C++ コードベースでありCDLL
、C++ をロードし、コードのプリミティブ python スクリプトを可能にするために使用できるいくつかの C 関数を呼び出すために使用されます。
ただし、最初のインポート コードは、サイト パッケージ内の隣にある .so ファイルを見つけることができないため、クラッシュします。
インストールされたファイルで:
そしてスクリプトまたはインタープリターで:
他の回答ではこれがカバーされているように見えるかもしれませんが、これは、実際に呼び出されたスクリプト (またはインタープリターを実行したプロンプトの作業ディレクトリ) 内で呼び出された場合にのみ機能CDLL()
します。つまり、「相対パス」がユーザー空間ではなく、 python-ライブラリ-スペース。
自分で構築した C/C++ ライブラリをインポートするために確実にインストールするにはどうすればよいですか? のようなシステムライブラリの場所を汚染する/usr/lib
ことを除いて、これはあまりpythonicではありませんが、簡単な解決策がわかりません。
(編集:関数名を修正、不明確なリファクタリングは役に立たない!申し訳ありません!)
microsoft-dynamics - LAMMPSエラー-ペア係数の引数が正しくありません
原子タイプが1つしかない場合は、次を使用しました。
しかし、エラーが発生し続けます。ペア係数の引数が正しくありません。また、潜在的なファイルへのパスが正しいことも確信しています。どうすればこれを修正できますか?
cmake - パッケージとライブラリの管理とインストール、およびcmakeとのインターフェース
より一般的な質問のコンテキストとして役立つ特定の質問があります。
LAMMPSと呼ばれる科学的なパッケージがあり、通常は実行可能ファイルとして使用されます。ただし、「ライブラリ」としての使用はサポートしています。物事を正しく行うために、私はそれを/ usr / local / lib/lammpsに入れました。lammps / src /ディレクトリが含まれており、約40のソースファイルがあります。提供された手順を使用して、lammpsを.soファイルとしてlammps / src/liblammps_serial.soにコンパイルしました。
「〜/ code /ljtube/」にも別のコードがあります。これは、cmakeを使用してライブラリを見つけようとします。したがって、私はFindLAMMPS.txtを作成して、使用できるようにしました。
私のCMakeListsで。/ usr /local/を正常に検索するようにlibtool構成ファイルを変更しました。/ usr / local / lib /で.soファイルを検索し、/ usr / local /include/で.hファイルを検索することがわかりました。そこで、/ usr / local / lib /内の.soファイルへの動的リンクを作成し、.hファイルをlammps /src/から/usr/ local /include/にコピーしました。
CMakeはこれら2つのファイルを見つけることができますが、lammps /src/内の他のファイルにリンクすることはできません。含めたい.h(group.h、fix.h、force.h、pair.hなど)ごとに個別のFIND_PACKAGEを作成する必要があるのはばかげているようです。また、.hファイルのパッケージ全体を/ usr / local /include/ディレクトリにダンプするのはばかげているようです。このコードをローカルとクラスターの両方で使用し、場合によっては他のグループメンバーに配布します。
/ usr / local / lib / lammps / src /の場所にハードコーディングせずに、CMakeに見つけたいものを見つけさせるにはどうすればよいですか?より一般的に言えば、元の開発者が最良の規則を使用していなくても、これらのような大きなパッケージを管理して、作成したコードで簡単にリンクできるようにするにはどうすればよいですか?
(ちなみに、私は共有ライブラリを使用しています。これは正しい選択のようですが、特に結婚しているわけではありません。静的ライブラリを使用する必要がありますか?CMakeがコンパイル済みのライブラリを見つける方法はありますか?現在のソースディレクトリに相対的なライブラリであり、これを実装するためのより良い方法でしょうか?複数のプロジェクトでLAMMPSを使用することを知っているので、ローカル共有コピーを表面的に持つことが最も理にかなっているようです。)
python - Ubuntu 13.04 で LAMMPS を Python でラップできない
LAMMPS tar-ball の2013 年 1 月 8 日バージョンを公式 Web サイトからダウンロードMakefile.ubuntu
し、Web サイト/チュートリアル ( http://katter-world.blogspot.hk/2010/05/install-lammps- on-ubuntu.html )
実行後、フォルダmake ubuntu
が作成されました。Obj_ubuntu/
コマンドを実行できたので、インストールに成功したと思います。mpiexec -np 2 lmp_ubuntu
コマンドさえ。
ただし、Python をラップすることはほとんどできませんでした。私はいくつかのチュートリアルに従い、make clean-all
次のようなさまざまな組み合わせを (実行後に)試しました。
make makeshlib
make -f Makefile.shlib ubuntu/g++/serial
(引数なしでコマンドも実行しました-f
が、エラーが発生します
make 1 : *** ターゲット `shlib' を作成するルールはありません。止まる。
私が試したほとんどのことでエラーが発生しましたが、明らかに Python では次のエラーが発生します。
OSError: LAMMPS 動的ライブラリを読み込めませんでした
c++ - 似たメンバー関数宣言の前のクラス キーワード
私は(オープンソースプロジェクト)のファイルを読んでいて、LAMMPS
この構文行に出くわしました
クラス宣言の.h
file( )の 1 つ。Modify.h
私の質問は、なぜ似たメンバー関数の前にキーワード class を追加するのですか? この構文はどういう意味ですか?
c++ - gdb のスクリプトから入力を受け取る C++ プログラムをデバッグする方法
背景情報: C++ プログラム (LAMMPS - オープン ソース) は、実行するすべてのコマンドを含む入力スクリプトを取り込みます。実行可能ファイルの名前は「lmp_fedora」、入力スクリプトの名前は「in.hit」です。プログラムの実行コマンド「./lmp_fedora < in.hit」
私の問題: LAMMPS で .cpp ファイルの 1 つをデバッグしようとしています。
私の試み: 1. 「gdb lmp_fedora < in.hit」を試しましたが、失敗しました。2. また、ps aux を使用して実行中のプログラムの pid を見つけようとしましたが、それがどの id であるかはわかりませんでした。
私の質問: gdb を使用して入力スクリプト (C++ プロジェクトにリンクされたコマンドを含む) をどのようにデバッグしますか?
lammps - ランプによる応力とひずみ曲線
ランプを使って銅ナノ粒子の応力・ひずみ曲線を描いてみたいと思います。これは私のコードです。これが正しいかどうかはわかりません。誰でも私を助けることができますか?fix nve
リラックスするためにあるが、その前にある、fix nvt
そしてこの2つのfix
esは一緒に来ることはできません。
linux - GPU エラーの LAMMPS - /usr/bin/ld: make コマンドを使用して作成中に -lmpi_stubs が見つかりません
GPUにLAMMPSをインストールしようとしています。http://lammps.sandia.gov/doc/accelerate_gpu.htmlに記載されている手順に従った後、手順(a) を完了し、libgpu.a と Makefile.lammps というファイルを取得しました。
2 番目のステップ (make yes-gpu の後にシリアルを作成) に進もうとすると、- というエラーが表示されます/usr/bin/ld: cannot find -lmpi_stubs
。
macos - Homebrew のインストール後にコマンドラインから LAMMPS を呼び出す
端末 (OSX) から LAMMPS パッケージを呼び出そうとしています。
ここのドキュメントは、Mac OSX では「正常に動作する」ことを示しているようで、ここでは次のコマンドを使用してライブラリに接続しています。
この最小限のドキュメントを介して自作でスクリプトをインストールし、インストールが正しいことを確認しました。これは、自作のインストールに精通している人がすぐに答えられるかもしれないものだと思います