現在、非標準の境界条件を実装することにより、FEniCS で Monge-Ampere 方程式を解こうとしています。
境界条件では、解の勾配が元のドメインの境界を別の所定のドメインにマッピングする必要があります。
ターゲット ドメインが単位円であると規定されている場合、実装は非常に簡単です。私は次のコードをシステムに組み込むことで取り組みました。
+(dot(grad(uh),grad(uh))-1)*vh*ds\ (1)
ここで、uh, は試行関数、vh はテスト関数です。
正方形 [−1,1]×[−1,1] などのより複雑なターゲット空間を検討する場合、手で解くのはそれほど単純ではないため、物事はより困難になります。そのため、私の考えは、距離関数を使用することです.
これを行うために、私はエイコナル方程式の安定化バージョンを解決しました。その解決策は符号付き距離関数です。私の考えは、(1) を次のように置き換えることでした。
+E(grad(uh))*vh*ds
ここで、E はエイコナル方程式の解ですが、これを実装しようとすると、関数がスカラー引数を予期していることを示すエラーが発生します。
grad(uh) を 2 次微分形式で入力として受け入れるようにソリューションをプログラムする方法はありますか?
ありがとうございました!