How to compute the boundary normal for a 2D -> 3D mapped geometry #764
-
Hi, I'm getting the error message "The dimension of geometry must equal the sum of the dimensions of the given spaces" when attempting to perform an operation that I think should be valid. I've simplified my case to the below snippet:
In this snipped, I'm just integrating the normal flux (in curvilinear coordinates we get In reality, the integrals are quite a bit more convoluted, so I'd really like to avoid having to do too many manual transformations. Could someone help me understand what is going wrong here? Best, P.s. Am I correct to assume that the |
Beta Was this translation helpful? Give feedback.
Replies: 1 comment 8 replies
-
The problem here is that Nutils does not know how the normal to the 1D boundary in 3D space is defined. Naturally, you want the one that is tangential to the manifold, but Nutils only sees a 1x3 coordinate transformation that it does not know how to handle. I'm not sure if we have an elegant solution in place for this situation, but the following (untested) workaround comes to mind:
|
Beta Was this translation helpful? Give feedback.
The problem here is that Nutils does not know how the normal to the 1D boundary in 3D space is defined. Naturally, you want the one that is tangential to the manifold, but Nutils only sees a 1x3 coordinate transformation that it does not know how to handle. I'm not sure if we have an elegant solution in place for this situation, but the following (untested) workaround comes to mind:
ns.N = ('n_i ∇_i(X_j)' @ ns).normalized()