インターネットのボット対策2025年05月13日 21:07

翻訳機能オンなど設定を弄って、入れない状況を再現
オープンソースのマルチフィックスCAEソフト「ElmerFEM」のフォーラムでボット攻撃が頻繁に起こり、ページにアクセスできない状態が続いていました。

久しぶりに確認すると、1500回以上のボット攻撃があり、主要部分にアクセスするには、登録ユーザーのみにすると記載されていました。

現時点において、フォーラムの内容にアクセスするには、登録してログインすることが必要です。

Due to extreme traffic caused by bots that crawl the forum we have had to restrict the access to the main part of the forum for registered users only. At times there were >1500 bots crawling the site with total disregard for robots.txt etc.

In order to access the forum register and login.

なお、暫定措置なので、良いボット対策があれば喜んで取り込むとのことです。
This was a quick remedy. If some user would happen to have a better idea how to keep the bots away, we are happy to implement those.

*****
ボット対策を導入しているフォーラムがあった記憶があったので、いくつか試すとFreeCAD で使用されている"Anubis"がありました。
普通に操作するとSuccessで通過するので、翻訳とか機能を弄って、止められた状態のスクリーンショトを作りました。
https://forum.freecad.org/

"Anubis"の名前の他に、スクリーンショットの内容をタイプしてCopilotに入力しました。

政治的なものや原発関係はCopilotに期待できませんが、本件ではわかりやすく要約してくれました。

「Anubis」は、Techaro によって開発された スクレイピング対策ソフトウェア です。このソフトウェアは、AIクローラーや悪意のあるボットからWebサイトを保護するために設計 されており、Proof-of-Work(PoW) を利用して不正なアクセスを防ぐ仕組みを持っています。
この技術により、Webサイトのリソースを過剰に消費するスクレイピングボットをブロックし、正規のユーザーのみがアクセスできるようにすることが可能になります。また、軽量でマルチスレッド対応の設計になっており、小規模なサイトでも導入しやすい のが特徴です。
「Made with ❤ in CA」は、カナダで開発された ことを示しており、「Mascot design by CELPHASE」は、マスコットデザインをCELPHASEが担当した ことを意味しています。
「Anubis」は、公共の利益を促進するために無料で提供されています。その見返りとして、私たちはアヌビスのキャラクターをあなたの配備から削除しないようお願いしています。
https://anubis.techaro.lol/docs/
https://github.com/TecharoHQ/anubis

Copilotの英訳
Sure! Here's the English translation:
"Anubis is an anti-scraping software developed by Techaro. This software is designed to protect websites from AI crawlers and malicious bots, utilizing Proof-of-Work (PoW) to prevent unauthorized access.
With this technology, it is possible to block scraping bots that excessively consume website resources, ensuring that only legitimate users can access the site. Additionally, Anubis is lightweight and supports multi-threading, making it easy to implement even for small-scale websites.
'Made with ❤ in CA' indicates that it was developed in Canada, while 'Mascot design by CELPHASE' means that the mascot design was created by CELPHASE."

*****
Elmerのフォーラムが探している情報であるし、英文もできたので、フォーラムに返信を投稿しました。
https://www.elmerfem.org/forum/viewtopic.php?t=8612

Windowsマシン:各種環境でのPython本体の実行速度2025年04月04日 19:01

Windowsでの動作が遅いので、二次要素8万個では使う気になれません
EasyISTR(FrontISTR用のGUIツール)のWindows版は、メッシュ変換などが遅いです。
Windows版は、条件の悪いVirtualBoxのLinuxよりも2倍くらい時間がかかり、六面体2次要素が8万個くらいでいらいらする状態になります。
MSYS2のPython3自体の性能がLinux環境と比べて劣るのかを調査しました。

MSYS2のPython自体は、Windows標準やLinuxの環境と比べて、速度が劣ることはありませんでした。
しかしながら、EasyISTRのコードを確認すると、globやmultiprocessingなどWindows環境では、不利となるモジュールがありました。

Copilotから「WindowsとLinuxの両方で高速に動作させる」ためのアプローチとしては、以下のような方法が考えられますとのアドバイスがありました。
手間がかかる作業だと思いまので、開発者のスタンス次第になると思われます(Linux環境が主でWindowsは入門用 or ユーザーが多い Windowsを中心に考える)。

- OS毎の条件分岐を用いた最適化
- ライブラリの選定・利用
- プロファイリングとボトルネックの特定
- 環境に依存しない設計の見直し

詳細は、Qiitaに投稿した資料をご確認お願いします。
https://qiita.com/HD_mount_Music/items/13113d43c00cfb165de3

***
WSL2の環境は、Shell Scriptにおいても実機に近い速度が得られ高速との報告がありました。

以下URL末尾のまとめ参照
https://hiro20180901.hatenablog.com/entry/2022/02/26/160000

CAEは、スクリプトの実行速度が重要であり、Linuxのスクリプトが高速に動作するWSL2の環境に魅力があります。
ベータ版のWSL用のCAEパッケージが公開されています。

Salome-meca:管理者がSalomeMeca, EDF R&D / ERMESのロゴ入りのパッケージを公開
https://forum.code-aster.org/public/d/28014-salome-meca-20241-on-wsl2-ready-to-use-distribution

Elmer:nix スクリプトによりビルド・インストールするパッケージが公開されている(但し、組み込まれるライブラリが少ないです)
https://github.com/ElmerCSC/elmer-wsl

私は、QiitaやElmerのフォーラムにカスタマイズしたもの(EasyISTR&FrontISTR, Elmer & MMG)を公開しています。
https://qiita.com/HD_mount_Music
https://www.elmerfem.org/forum/viewtopic.php?t=8591

Salomeで作成したPyramid要素を含むメッシュを利用する方法2025年03月27日 19:32

単純な形状であれば、計算精度の良い六面体メッシュ+プリズムでメッシュを切ることができます。
しかし、規則性の無い形状が含まれているときなど、四面体との混合メッシュになることがあります。

Salomeによりメッシュを切ると、六面体と四面体との接続部分にピラミッド要素が作成されます。
ピラミッド要素は、salomeからメッシュをエクスポートするときに標準的に使われるUNV形式が対応していません。

OneLab(Gmsh+GetDP), Elmer, PrePoMaxにおいて、Pyramid要素の取り込み・計算に成功しました。

Gmshは、SalomeのMed形式に対応しているので問題ありません。

Elmerでは、salomeToElmerのスクリプトを利用する方法が安心できます。
https://github.com/jvencels/salomeToElmer

PrePoMaxでは、Gmshにより一度古いGmsh形式(Ver.2, ASCII形式)で保存し、それを読み込みinp形式でエクスポートすれば利用できました。

どのCAEソフトを用いても、精度は問題ありませんが、変換の回数の面でPrePoMaxが不利だと思います。

詳細は、以下のQiitaのページに記載しました。
https://qiita.com/HD_mount_Music/items/ebe01ea83167c0bd6788

Qiitaへの投稿(構造解析用WSLディストロ、1D-CAE)2025年03月23日 17:04

WindowsのParaviewからLinuxフォルダのデータを開く
1.構造解析ソフト(FrontISTR, EasyISTR):Ready-to-Use WSLディストリビューションの紹介

Debian 12をベースにIntel oneAPIのMKLとMPIを組み込んでビルドしたバージョンを既に紹介しましたが、もっとコンパクトにしてほしいとの要望がありました。
ファイルサイズを小さくすることを目指して、FrontISTRの公式サイトのUbuntu 22.04のバイナリファイルを用いて構築することにより、配布用のzipファイル1.4GBとなりました。アップデータが全てバイナリファイルで行うことができるのでお手軽だと思います。

Intel MKLの直接法ソルバー"Pardiso"を使用されるのであれば、従来のソースコードからコンパイルしたものが快適だと思います。

wslのUbuntuにgnome-terminalのバグがありxfce4-terminalに変更しています。
EasyIstrが修正されるまでは、アップデートを行ったときに
/opt/easyIstr/easyistr_main2.pyの17240行目を
comm = "gnome-terminal -- bash --rcfile run &"
→ comm = "xfce4-terminal --command='bash --rcfile run'" に変更する必要があります。

詳細は以下URLに記載しています。
https://qiita.com/HD_mount_Music/items/dec3c980ed82454166c7

2.オープンCAE勉強会【岐阜】への投稿資料
岐阜高専の柴田良一先生が取り組んでいる「オープンCAE」に関する情報を発信している題記のサイトが、2025年3月28日で閉鎖されるとのことです。必要に応じて順次データを移動するとのことですので、再度見ることのできる内容や時期が不明です。

OpenCAE Users Wiki:3月28日まで
http://opencae.gifu-nct.ac.jp/pukiwiki/index.php?OpenCAE%20Users%20Wiki

それ以降の移行先
https://opencae-dalab.org/

小生が発表した資料のうち、現在でも利用価値がありそうなもの(1D-CAE関連資料、フリーソフトによる偏微分方程式計算)の保管庫として、投稿いたします。

詳細は以下のURLに記載していまっす。
https://qiita.com/HD_mount_Music/items/f9172980a7edb7ab1483

MMGなどのライブラリが充実したElmerビルドスクリプト2025年03月20日 18:28

MMGは動的にFEMのメッシュを変形させることができる興味深いライブラリだと感じています。

例えば、小生のXの熱伝導解析を電場解析に変更した例。
https://x.com/HD_mount_Music/status/1900822790200324483

Mmgを利用しているプロジェクトで有名なのは、ElmerとGmsh(どちらもFreeCADにデフォルトで入っています)と思います。

Salomeに慣れてしまったので、Gmshは難しく感じています。
Gmsh and the SDK with pipのバージョンを入れて、ネイティブとPythonの両方から操作できるようにしましたが、挫折の連続です。

ElmerCSCのgithub(elmerfem/fem/tests, elmer-elmag, elmer-linsys)にMMG活用した例があり、どのような機能か試すことができます。
熱伝導解析と静電場解析でした。
https://github.com/ElmerCSC

最初の勉強用としてelmerを用いる敷居を下げたいと思い、スクリプトを整理しました。
また、設定済ですぐに使えるWSLディストリビューションを準備しました。

以前に作ったものは、Intel-MKLのPardisoのためにコンパイルを繰り返し、イメージが膨れ上がって約10GBになってしまいました。
Pardisoはあまり有用でなく、コンパイルが非常に難しくなるので、あきらめて少ない回数のコンパイルとして、膨張を抑えました。

さらに、tarファイルであったものを、tar.gzファイルをzip圧縮することで、最終的にダウンロードするファイルサイズは、約1.8GBになりました。

導入手順は
1. 圧縮ファイル"ElmerWSL_Deb12_202503.zip"を私のOneDriveからダウンロードする。
https://1drv.ms/u/c/ca3fad7a4b4217c1/EWMBXK6DuPJEqKfmEvr3zt0BCFrDRkJ6PX3MSY12qo1suQ?e=nYfOy7

2. 解凍すると、以下のファイルができます(本家のフォーラムを主に考えているの英文です。すいません)。
- "ElmerWSL_Deb12_202503_build_by_Scripts.tar.gz"
- "ReadMe1st.txt"
- "ReadMe1st.md"

3. tar.gzファイルをWSLにインポートする。
           <DistroName>  <InstallLocation>    <InstallTarFile>
wsl --import ElmerWSL-2025 C:\ElmerWSL C:\path\to\downloaded\file\ElmerWSL_Deb12_202503_build_by_Scripts.tar.gz

詳細情報は
Qiita:
https://qiita.com/HD_mount_Music/items/2695e7480c9585aaf632

Elmer本家のフォーラム(英語):
https://www.elmerfem.org/forum/viewtopic.php?t=8590
https://www.elmerfem.org/forum/viewtopic.php?t=8591