You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I'm trying to perform surface integration on a non-boundary "sub-surface" in a parallel environment using Underworld2. Specifically, I want to integrate over any arbitrary row in a Mesh[yRes+1, xRes+1], similar to pressure calibration. However, I encountered the following error:
underworld version: 2.14.0b
python version : 3.11.3
tempAve = uw.utils.Integral(temperatureField, mesh, integrationType='surface', surfaceIndexSet=rowIndexSet)
ValueError: Your surfaceIndexSet appears to contain node(s) which do not belong to the mesh boundary. Surface integration across internal nodes is not currently supported.
One workaround I can think of is to evaluate on this horizontal line and then use scipy for integration. But in a parallel environment, would I need to consolidate resources so that I can operate on each row of the original data? Also, would the precision of this approach be comparable to the results obtained from utils.Integral?
Any guidance would be greatly appreciated. Thanks!
N.
The text was updated successfully, but these errors were encountered:
Hi @NTIaN7 ,
Sorry for the late response.
The utils.Integral() doesn't handle internal surface indices. Your idea for scipy could work, you can consolidate the resultant per proc integral together with something like mpi4py's allreduce(), an example is
I want to evaluate the pressure, temperature, and physical strength of a specific interface. For example, obtaining the average (integral to area ratio) temperature and pressure on a horizontal grid line.
Particle swarm is a great way, but do I not need to set the adject attribute on it so as not to change its position?
Hi,
I'm trying to perform surface integration on a non-boundary "sub-surface" in a parallel environment using Underworld2. Specifically, I want to integrate over any arbitrary row in a
Mesh[yRes+1, xRes+1]
, similar to pressure calibration. However, I encountered the following error:One workaround I can think of is to evaluate on this horizontal line and then use scipy for integration. But in a parallel environment, would I need to consolidate resources so that I can operate on each row of the original data? Also, would the precision of this approach be comparable to the results obtained from utils.Integral?
Any guidance would be greatly appreciated. Thanks!
N.
The text was updated successfully, but these errors were encountered: