]> SALOME platform Git repositories - tools/sat_salome.git/commitdiff
Salome HOME
spns #42665: MeshIO: GMSH and ANSYS
authorNabil Ghodbane <nabil.ghodbane@cea.fr>
Thu, 1 Aug 2024 14:26:43 +0000 (16:26 +0200)
committerNabil Ghodbane <nabil.ghodbane@cea.fr>
Thu, 1 Aug 2024 14:26:43 +0000 (16:26 +0200)
applications/SALOME-9.13.0-native.pyconf
applications/SALOME-master-native.pyconf
products/compil_scripts/meshio-5.3.4.sh
products/compil_scripts/meshio-5.3.5.sh

index 37d421238451e1d1f86f84447e888387a6d089f7..c7d2097c838992ee51013dfce4fad68c6ceec4d1 100644 (file)
@@ -237,7 +237,7 @@ __overwrite__ :
         'APPLICATION.products.cmake'            : 'native' # TTK requires cmake > 3.21
         'APPLICATION.products.cftime'           : 'native'
         'APPLICATION.products.h5py'             : 'native'
-        'APPLICATION.products.meshio'           : 'native'
+        'APPLICATION.products.meshio'           : {tag: '5.3.5' , base: 'no', section: 'version_5_3_5_no_pip'    }
         'APPLICATION.products.netCDF4'          : 'native'
         'APPLICATION.products.rich'             : 'native'
         'APPLICATION.products.cminpack'         : 'native'
@@ -292,7 +292,7 @@ __overwrite__ :
         'APPLICATION.products.h5py'             : 'native'
         'APPLICATION.products.markdown_it_py'   : 'native'
         'APPLICATION.products.mdurl'            : 'native'
-        'APPLICATION.products.meshio'           : 'native'
+        'APPLICATION.products.meshio'           : {tag: '5.3.5', base:  'no', section: 'version_5_3_5_no_pip'}
         'APPLICATION.products.netCDF4'          : 'native'
         'APPLICATION.products.rich'             : 'native'
         'APPLICATION.products.opencv'           : {tag: '3.2.0',     base: 'no', section: 'version_3_2_0_DB12'}
index 1c9df31ab51d5a9456189609d31941eef940098c..87c23ab751cd2133386a5fbf254917c5626242e2 100644 (file)
@@ -292,7 +292,7 @@ __overwrite__ :
         'APPLICATION.products.h5py'             : 'native'
         'APPLICATION.products.markdown_it_py'   : 'native'
         'APPLICATION.products.mdurl'            : 'native'
-        'APPLICATION.products.meshio'           : 'native'
+        'APPLICATION.products.meshio'           : {tag: '5.3.4', base:  'no', section: 'version_5_3_4_no_pip'}
         'APPLICATION.products.netCDF4'          : 'native'
         'APPLICATION.products.rich'             : 'native'
         'APPLICATION.products.opencv'           : {tag: '3.2.0',     base: 'no', section: 'version_3_2_0_DB12'}
index 19ec70706f731ef10455ff15d50f7df2a88c17db..ed3c5bcf710a75bd7c2fd80fad354e515ed5dd33 100755 (executable)
@@ -34,5 +34,40 @@ case $LINUX_DISTRIBUTION in
         ;;
 esac
 
+pyVersionMajor=python$($PYTHONBIN -c 'import sys; print(".".join(map(str, sys.version_info[0:1])))')
+if [ $? -ne 0 ]; then
+         echo ERROR: Failed to extract major Python version -  assuming Python version equal to 3...
+         pyVersionMajor=python3
+fi
+
+echo INFO: Python version major: ${pyVersionMajor}
+if [ -f $PRODUCT_INSTALL/lib/python${PYTHON_VERSION}/site-packages/bin/meshio ]; then
+    sed -i "s%#\!.*python[0-9]*%#\!/usr/bin/env ${pyVersionMajor}%#g" $PRODUCT_INSTALL/lib/python${PYTHON_VERSION}/site-packages/bin/meshio
+else
+    echo "FATAL: could not find meshio runner!"
+    exit  1
+fi
+
+# bos #42618 - https://github.com/nschloe/meshio/issues/1484
+if [ -f $PRODUCT_INSTALL/lib/python${PYTHON_VERSION}/site-packages/meshio/gmsh/main.py ]; then
+    sed -i '/"gmsh22"/a \ \ \ \ \ \ \ \ "gmsh40": lambda f, m, **kwargs: write(f, m, "4.0", **kwargs),' $PRODUCT_INSTALL/lib/python${PYTHON_VERSION}/site-packages/meshio/gmsh/main.py
+else
+    echo "FATAL: could not find gmsh meshio driver!"
+    exit 1
+fi
+
+# spns #42665
+if [ -f $PRODUCT_INSTALL/lib/python${PYTHON_VERSION}/site-packages/meshio/ansys/_ansys.py ]; then
+    # retrieve line number
+    l=$(grep -nA0 "raise KeyError" $PRODUCT_INSTALL/lib/python${PYTHON_VERSION}/site-packages/meshio/ansys/_ansys.py|cut -d':' -f1)
+    L=$(($l+2))
+    sed -i 's/raise KeyError(/warn(/g' $PRODUCT_INSTALL/lib/python${PYTHON_VERSION}/site-packages/meshio/ansys/_ansys.py
+    # move to next cell
+    sed -i "${L}s/)/)\n                continue/g"  $PRODUCT_INSTALL/lib/python${PYTHON_VERSION}/site-packages/meshio/ansys/_ansys.py
+else
+    echo "FATAL: could not find ansys meshio driver!"
+    exit 1
+fi
+
 echo
 echo "########## END"
index 898f73e9eb09e2fda1f27f3854674199c1ca471d..8f39cef6235071fc7eb3fa7c72930255ebc90f8f 100755 (executable)
@@ -28,9 +28,10 @@ done
 
 pyVersionMajor=python$($PYTHONBIN -c 'import sys; print(".".join(map(str, sys.version_info[0:1])))')
 if [ $? -ne 0 ]; then
-         echo ERROR: Failed to extract major Python version -  assuming Python version equal to 3...
-         pyVersionMajor=python3
+    echo ERROR: Failed to extract major Python version -  assuming Python version equal to 3...
+    pyVersionMajor=python3
 fi
+
 echo INFO: Python version major: ${pyVersionMajor}
 if [ -f $PRODUCT_INSTALL/lib/python${PYTHON_VERSION}/site-packages/bin/meshio ]; then
     sed -i "s%#\!.*python[0-9]*%#\!/usr/bin/env ${pyVersionMajor}%#g" $PRODUCT_INSTALL/lib/python${PYTHON_VERSION}/site-packages/bin/meshio
@@ -39,5 +40,26 @@ else
     exit  1
 fi
 
+# bos #42618 - https://github.com/nschloe/meshio/issues/1484
+if [ -f $PRODUCT_INSTALL/lib/python${PYTHON_VERSION}/site-packages/meshio/gmsh/main.py ]; then
+    sed -i '/"gmsh22"/a \ \ \ \ \ \ \ \ "gmsh40": lambda f, m, **kwargs: write(f, m, "4.0", **kwargs),' $PRODUCT_INSTALL/lib/python${PYTHON_VERSION}/site-packages/meshio/gmsh/main.py
+else
+    echo "FATAL: could not find gmsh meshio driver!"
+    exit 1
+fi
+
+# spns #42665
+if [ -f $PRODUCT_INSTALL/lib/python${PYTHON_VERSION}/site-packages/meshio/ansys/_ansys.py ]; then
+    # retrieve line number
+    l=$(grep -nA0 "raise KeyError" $PRODUCT_INSTALL/lib/python${PYTHON_VERSION}/site-packages/meshio/ansys/_ansys.py|cut -d':' -f1)
+    L=$(($l+2))
+    sed -i 's/raise KeyError(/warn(/g' $PRODUCT_INSTALL/lib/python${PYTHON_VERSION}/site-packages/meshio/ansys/_ansys.py
+    # move to next cell
+    sed -i "${L}s/)/)\n                continue/g"  $PRODUCT_INSTALL/lib/python${PYTHON_VERSION}/site-packages/meshio/ansys/_ansys.py
+else
+    echo "FATAL: could not find ansys meshio driver!"
+    exit 1
+fi
+
 echo
 echo "########## END"