Merge remote-tracking branch 'origin/cbr/improve_topiivol_layout'

This commit is contained in:
Afeef 2022-11-04 09:08:49 +01:00
commit f305c4406f
7 changed files with 484 additions and 491 deletions

View File

@ -1,5 +1,5 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
# Copyright (C) 2013-2022 EDF R&D # Copyright (C) 2013-2022 CEA/DES, EDF R&D
# #
# This library is free software; you can redistribute it and/or # This library is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public # modify it under the terms of the GNU Lesser General Public

View File

@ -1,5 +1,5 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
# Copyright (C) 2013-2022 EDF R&D # Copyright (C) 2013-2022 CEA/DES, EDF R&D
# #
# This library is free software; you can redistribute it and/or # This library is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public # modify it under the terms of the GNU Lesser General Public
@ -48,19 +48,14 @@ class TopIIVolMeshPluginDialog(Ui_TopIIVolMeshMainFrame,QWidget):
self.qpbMeshFile.clicked.connect(self.OnQpbMeshFileClicked) self.qpbMeshFile.clicked.connect(self.OnQpbMeshFileClicked)
self.qpbMeshFile.setToolTip("Select input DEM file") self.qpbMeshFile.setToolTip("Select input DEM file")
self.qpbClose.clicked.connect(self.OnQpbCloseClicked) self.qpbClose.clicked.connect(self.OnQpbCloseClicked)
self.qcbDistributed.stateChanged[int].connect(self.OnqcbDistributedClicked) self.qrbDist.clicked.connect(self.OnqrbDistClicked)
self.qlbXParts.setVisible(False) self.qrbPar.clicked.connect(self.OnqrbParClicked)
self.qlbYParts.setVisible(False) self.qrbSeq.clicked.connect(self.OnqrbSeqClicked)
self.qlbZParts.setVisible(False)
self.qsbXParts.setVisible(False)
self.qsbYParts.setVisible(False)
self.qsbZParts.setVisible(False)
self.SALOME_TMP_DIR = None self.SALOME_TMP_DIR = None
try: try:
self.qleTmpDir.setText(os.path.join('/tmp',getpass.getuser(),'top-ii-vol')) self.qleTmpDir.setText(os.path.join('/tmp',getpass.getuser(),'top-ii-vol'))
except: except:
self.qleTmpDir.setText('/tmp') self.qleTmpDir.setText('/tmp')
self.resize(800, 500)
self.outputMesh = '' self.outputMesh = ''
def OnQpbHelpClicked(self): def OnQpbHelpClicked(self):
@ -92,7 +87,7 @@ class TopIIVolMeshPluginDialog(Ui_TopIIVolMeshMainFrame,QWidget):
zPoints = self.qsbZPoints.value() zPoints = self.qsbZPoints.value()
depth = self.qsbDepth.value() depth = self.qsbDepth.value()
nProcs = self.qsbNBprocs.value() nProcs = self.qsbNBprocs.value()
if not self.qcbDistributed.isChecked(): if not self.qrbDist.isChecked():
if nProcs == 1: if nProcs == 1:
shellCmd = "topIIvol_Mesher" shellCmd = "topIIvol_Mesher"
else: else:
@ -122,17 +117,29 @@ class TopIIVolMeshPluginDialog(Ui_TopIIVolMeshMainFrame,QWidget):
pathlib.Path(self.SALOME_TMP_DIR).mkdir(parents=True, exist_ok=True) pathlib.Path(self.SALOME_TMP_DIR).mkdir(parents=True, exist_ok=True)
self.outputMesh= os.path.join(self.SALOME_TMP_DIR, inputMesh.split('/').pop().replace('.xyz','.mesh')) self.outputMesh= os.path.join(self.SALOME_TMP_DIR, inputMesh.split('/').pop().replace('.xyz','.mesh'))
shellCmd+= " --out " + self.outputMesh shellCmd+= " --out " + self.outputMesh
os.chdir(self.SALOME_TMP_DIR)
print("INFO: ", shellCmd) print("INFO: ", shellCmd)
myMonitorView=TopIIVolMeshMonitor(self, shellCmd) myMonitorView=TopIIVolMeshMonitor(self, shellCmd)
def OnqcbDistributedClicked(self): def OnqrbDistClicked(self):
state = self.qcbDistributed.isChecked() state = self.qrbDist.isChecked()
self.qlbXParts.setVisible(state) self.qgbDist.setEnabled(state)
self.qlbYParts.setVisible(state) self.qsbNBprocs.setEnabled(state)
self.qlbZParts.setVisible(state) self.qlbNBprocs.setEnabled(state)
self.qsbXParts.setVisible(state)
self.qsbYParts.setVisible(state) def OnqrbParClicked(self):
self.qsbZParts.setVisible(state) state = self.qrbPar.isChecked()
self.qgbDist.setEnabled(not state)
self.qsbNBprocs.setEnabled(state)
self.qlbNBprocs.setEnabled(state)
def OnqrbSeqClicked(self):
state = self.qrbSeq.isChecked()
if state:
self.qsbNBprocs.setValue(1)
self.qgbDist.setEnabled(not state)
self.qsbNBprocs.setEnabled(not state)
self.qlbNBprocs.setEnabled(not state)
def OnQpbCloseClicked(self): def OnQpbCloseClicked(self):
self.close() self.close()

View File

@ -6,469 +6,450 @@
<rect> <rect>
<x>0</x> <x>0</x>
<y>0</y> <y>0</y>
<width>780</width> <width>758</width>
<height>411</height> <height>400</height>
</rect> </rect>
</property> </property>
<property name="windowTitle"> <property name="windowTitle">
<string>Tetra Mesh from cloud of xyz points mesh generator</string> <string>Tetrahedral mesh generator for DEM point-clouds</string>
</property> </property>
<widget class="QGroupBox" name="groupBox"> <layout class="QGridLayout" name="gridLayout">
<property name="geometry"> <item row="1" column="0">
<rect> <spacer name="verticalSpacer">
<x>10</x> <property name="orientation">
<y>10</y> <enum>Qt::Vertical</enum>
<width>761</width> </property>
<height>101</height> <property name="sizeHint" stdset="0">
</rect> <size>
</property> <width>20</width>
<property name="font"> <height>40</height>
<font> </size>
<pointsize>10</pointsize> </property>
</font> </spacer>
</property> </item>
<property name="title"> <item row="0" column="0">
<string>Input Mesh</string> <widget class="QGroupBox" name="groupBox">
</property> <property name="font">
<widget class="QPushButton" name="qpbMeshFile"> <font>
<property name="geometry"> <pointsize>10</pointsize>
<rect> </font>
<x>10</x> </property>
<y>50</y> <property name="title">
<width>151</width> <string>Input Mesh</string>
<height>31</height> </property>
</rect> <layout class="QGridLayout" name="gridLayout_2">
</property> <item row="0" column="1">
<property name="font"> <widget class="QLineEdit" name="qleMeshFile">
<font> <property name="font">
<pointsize>10</pointsize> <font>
</font> <pointsize>10</pointsize>
</property> </font>
<property name="text"> </property>
<string>DEM input file</string> </widget>
</property> </item>
<property name="iconSize"> <item row="0" column="0">
<size> <widget class="QPushButton" name="qpbMeshFile">
<width>18</width> <property name="font">
<height>18</height> <font>
</size> <pointsize>10</pointsize>
</property> </font>
</widget> </property>
<widget class="QLineEdit" name="qleMeshFile"> <property name="text">
<property name="geometry"> <string>DEM input file</string>
<rect> </property>
<x>170</x> <property name="iconSize">
<y>50</y> <size>
<width>531</width> <width>18</width>
<height>31</height> <height>18</height>
</rect> </size>
</property> </property>
<property name="font"> </widget>
<font> </item>
<pointsize>10</pointsize> </layout>
</font> </widget>
</property> </item>
</widget> <item row="3" column="0">
</widget> <spacer name="verticalSpacer_2">
<widget class="QGroupBox" name="gbOptions"> <property name="orientation">
<property name="geometry"> <enum>Qt::Vertical</enum>
<rect> </property>
<x>10</x> <property name="sizeHint" stdset="0">
<y>120</y> <size>
<width>761</width> <width>20</width>
<height>231</height> <height>40</height>
</rect> </size>
</property> </property>
<property name="title"> </spacer>
<string>Options</string> </item>
</property> <item row="4" column="0">
<widget class="QSpinBox" name="qsbXPoints"> <layout class="QHBoxLayout" name="horizontalLayout">
<property name="geometry"> <item>
<rect> <widget class="QPushButton" name="qpbCompute">
<x>10</x> <property name="text">
<y>30</y> <string>Compute</string>
<width>62</width> </property>
<height>22</height> </widget>
</rect> </item>
</property> <item>
<property name="minimum"> <widget class="QPushButton" name="qpbClose">
<number>0</number> <property name="text">
</property> <string>Close</string>
<property name="maximum"> </property>
<number>999999999</number> </widget>
</property> </item>
<property name="value"> <item>
<number>10</number> <spacer name="horizontalSpacer">
</property> <property name="orientation">
</widget> <enum>Qt::Horizontal</enum>
<widget class="QLabel" name="qlXpoints"> </property>
<property name="geometry"> <property name="sizeHint" stdset="0">
<rect> <size>
<x>80</x> <width>40</width>
<y>30</y> <height>20</height>
<width>201</width> </size>
<height>20</height> </property>
</rect> </spacer>
</property> </item>
<property name="text"> <item>
<string>Number of points in X direction</string> <widget class="QPushButton" name="qpbHelp">
</property> <property name="font">
</widget> <font>
<widget class="QSpinBox" name="qsbYPoints"> <pointsize>10</pointsize>
<property name="geometry"> </font>
<rect> </property>
<x>10</x> <property name="text">
<y>70</y> <string>Help</string>
<width>62</width> </property>
<height>22</height> </widget>
</rect> </item>
</property> </layout>
<property name="minimum"> </item>
<number>0</number> <item row="2" column="0">
</property> <widget class="QGroupBox" name="gbOptions">
<property name="maximum"> <property name="title">
<number>999999999</number> <string>Options</string>
</property> </property>
<property name="value"> <layout class="QGridLayout" name="gridLayout_6">
<number>10</number> <item row="0" column="0" rowspan="2" colspan="2">
</property> <widget class="QGroupBox" name="qgbNBpoints">
</widget> <property name="title">
<widget class="QSpinBox" name="qsbZPoints"> <string>Number of points</string>
<property name="geometry"> </property>
<rect> <layout class="QGridLayout" name="gridLayout_4">
<x>10</x> <item row="0" column="0">
<y>110</y> <widget class="QSpinBox" name="qsbXPoints">
<width>62</width> <property name="minimum">
<height>22</height> <number>0</number>
</rect> </property>
</property> <property name="maximum">
<property name="minimum"> <number>999999999</number>
<number>0</number> </property>
</property> <property name="value">
<property name="maximum"> <number>10</number>
<number>999999999</number> </property>
</property> </widget>
<property name="value"> </item>
<number>10</number> <item row="0" column="1">
</property> <widget class="QLabel" name="qlXpoints">
</widget> <property name="text">
<widget class="QLabel" name="qlYpoints"> <string>X direction</string>
<property name="geometry"> </property>
<rect> </widget>
<x>80</x> </item>
<y>70</y> <item row="1" column="0">
<width>211</width> <widget class="QSpinBox" name="qsbYPoints">
<height>20</height> <property name="minimum">
</rect> <number>0</number>
</property> </property>
<property name="text"> <property name="maximum">
<string>Number of points in Y direction</string> <number>999999999</number>
</property> </property>
</widget> <property name="value">
<widget class="QLabel" name="qlZpoints"> <number>10</number>
<property name="geometry"> </property>
<rect> </widget>
<x>80</x> </item>
<y>110</y> <item row="1" column="1">
<width>211</width> <widget class="QLabel" name="qlYpoints">
<height>20</height> <property name="text">
</rect> <string>Y direction</string>
</property> </property>
<property name="text"> </widget>
<string>Number of points in Z direction</string> </item>
</property> <item row="2" column="0">
</widget> <widget class="QSpinBox" name="qsbZPoints">
<widget class="QSpinBox" name="qsbDepth"> <property name="minimum">
<property name="geometry"> <number>0</number>
<rect> </property>
<x>10</x> <property name="maximum">
<y>150</y> <number>999999999</number>
<width>62</width> </property>
<height>22</height> <property name="value">
</rect> <number>10</number>
</property> </property>
<property name="minimum"> </widget>
<number>-999999999</number> </item>
</property> <item row="2" column="1">
<property name="maximum"> <widget class="QLabel" name="qlZpoints">
<number>999999999</number> <property name="text">
</property> <string>Z direction</string>
<property name="value"> </property>
<number>0</number> </widget>
</property> </item>
</widget> </layout>
<widget class="QLabel" name="qlDepth"> </widget>
<property name="geometry"> </item>
<rect> <item row="0" column="2">
<x>80</x> <spacer name="horizontalSpacer_3">
<y>150</y> <property name="orientation">
<width>201</width> <enum>Qt::Horizontal</enum>
<height>20</height> </property>
</rect> <property name="sizeHint" stdset="0">
</property> <size>
<property name="text"> <width>0</width>
<string>Depth in Z direction</string> <height>20</height>
</property> </size>
</widget> </property>
<widget class="QCheckBox" name="qcbDistributed"> </spacer>
<property name="geometry"> </item>
<rect> <item row="0" column="3" rowspan="2" colspan="3">
<x>630</x> <widget class="QGroupBox" name="groupBox_2">
<y>30</y> <property name="title">
<width>91</width> <string>Meshing</string>
<height>21</height> </property>
</rect> <layout class="QGridLayout" name="gridLayout_5">
</property> <item row="0" column="0">
<property name="text"> <widget class="QRadioButton" name="qrbSeq">
<string/> <property name="text">
</property> <string>Sequential</string>
</widget> </property>
<widget class="QLabel" name="qlbNbProcs"> <property name="checked">
<property name="geometry"> <bool>true</bool>
<rect> </property>
<x>370</x> </widget>
<y>30</y> </item>
<width>151</width> <item row="1" column="0">
<height>16</height> <widget class="QRadioButton" name="qrbPar">
</rect> <property name="text">
</property> <string>Parallel</string>
<property name="text"> </property>
<string>Number of processors</string> </widget>
</property> </item>
</widget> <item row="2" column="0">
<widget class="QLabel" name="qlDistributed"> <widget class="QRadioButton" name="qrbDist">
<property name="geometry"> <property name="text">
<rect> <string>Parallel distributed</string>
<x>660</x> </property>
<y>30</y> </widget>
<width>101</width> </item>
<height>16</height> </layout>
</rect> </widget>
</property> </item>
<property name="text"> <item row="0" column="6">
<string>Distributed</string> <spacer name="horizontalSpacer_5">
</property> <property name="orientation">
</widget> <enum>Qt::Horizontal</enum>
<widget class="QLabel" name="qlbXParts"> </property>
<property name="geometry"> <property name="sizeHint" stdset="0">
<rect> <size>
<x>370</x> <width>0</width>
<y>70</y> <height>20</height>
<width>261</width> </size>
<height>16</height> </property>
</rect> </spacer>
</property> </item>
<property name="text"> <item row="0" column="7">
<string>Number of partitions in X direction</string> <widget class="QSpinBox" name="qsbNBprocs">
</property> <property name="enabled">
</widget> <bool>false</bool>
<widget class="QLabel" name="qlbYParts"> </property>
<property name="geometry"> <property name="minimum">
<rect> <number>0</number>
<x>370</x> </property>
<y>110</y> <property name="maximum">
<width>251</width> <number>999999999</number>
<height>16</height> </property>
</rect> <property name="value">
</property> <number>1</number>
<property name="text"> </property>
<string>Number of partitions in Y direction</string> </widget>
</property> </item>
</widget> <item row="0" column="8">
<widget class="QLabel" name="qlbZParts"> <widget class="QLabel" name="qlbNBprocs">
<property name="geometry"> <property name="enabled">
<rect> <bool>false</bool>
<x>370</x> </property>
<y>150</y> <property name="text">
<width>251</width> <string>Number of processors</string>
<height>16</height> </property>
</rect> </widget>
</property> </item>
<property name="text"> <item row="1" column="7" rowspan="3" colspan="2">
<string>Number of partitions in Z direction</string> <widget class="QGroupBox" name="qgbDist">
</property> <property name="enabled">
</widget> <bool>false</bool>
<widget class="QSpinBox" name="qsbNBprocs"> </property>
<property name="geometry"> <property name="title">
<rect> <string>Number of partitions</string>
<x>300</x> </property>
<y>30</y> <property name="checkable">
<width>62</width> <bool>false</bool>
<height>22</height> </property>
</rect> <layout class="QGridLayout" name="gridLayout_3">
</property> <item row="1" column="0" colspan="2">
<property name="minimum"> <widget class="QSpinBox" name="qsbYParts">
<number>0</number> <property name="minimum">
</property> <number>0</number>
<property name="maximum"> </property>
<number>999999999</number> <property name="maximum">
</property> <number>999999999</number>
<property name="value"> </property>
<number>1</number> <property name="value">
</property> <number>1</number>
</widget> </property>
<widget class="QSpinBox" name="qsbXParts"> </widget>
<property name="geometry"> </item>
<rect> <item row="1" column="2" colspan="2">
<x>300</x> <widget class="QLabel" name="qlbYParts">
<y>70</y> <property name="text">
<width>62</width> <string>Y direction</string>
<height>22</height> </property>
</rect> </widget>
</property> </item>
<property name="minimum"> <item row="0" column="2" colspan="2">
<number>0</number> <widget class="QLabel" name="qlbXParts">
</property> <property name="text">
<property name="maximum"> <string>X direction</string>
<number>999999999</number> </property>
</property> </widget>
<property name="value"> </item>
<number>1</number> <item row="2" column="2">
</property> <widget class="QLabel" name="qlbZParts">
</widget> <property name="text">
<widget class="QSpinBox" name="qsbYParts"> <string>Z direction</string>
<property name="geometry"> </property>
<rect> </widget>
<x>300</x> </item>
<y>110</y> <item row="2" column="0" colspan="2">
<width>62</width> <widget class="QSpinBox" name="qsbZParts">
<height>22</height> <property name="minimum">
</rect> <number>0</number>
</property> </property>
<property name="minimum"> <property name="maximum">
<number>0</number> <number>999999999</number>
</property> </property>
<property name="maximum"> <property name="value">
<number>999999999</number> <number>1</number>
</property> </property>
<property name="value"> </widget>
<number>1</number> </item>
</property> <item row="0" column="0" colspan="2">
</widget> <widget class="QSpinBox" name="qsbXParts">
<widget class="QSpinBox" name="qsbZParts"> <property name="minimum">
<property name="geometry"> <number>0</number>
<rect> </property>
<x>300</x> <property name="maximum">
<y>150</y> <number>999999999</number>
<width>62</width> </property>
<height>22</height> <property name="value">
</rect> <number>1</number>
</property> </property>
<property name="minimum"> </widget>
<number>0</number> </item>
</property> </layout>
<property name="maximum"> </widget>
<number>999999999</number> </item>
</property> <item row="2" column="0">
<property name="value"> <widget class="QSpinBox" name="qsbDepth">
<number>1</number> <property name="minimum">
</property> <number>-999999999</number>
</widget> </property>
<widget class="QLineEdit" name="qleTmpDir"> <property name="maximum">
<property name="geometry"> <number>999999999</number>
<rect> </property>
<x>10</x> <property name="value">
<y>200</y> <number>0</number>
<width>611</width> </property>
<height>23</height> </widget>
</rect> </item>
</property> <item row="2" column="1">
<property name="text"> <widget class="QLabel" name="qlDepth">
<string/> <property name="text">
</property> <string>Depth in Z direction</string>
</widget> </property>
<widget class="QLabel" name="qlTmpDir"> </widget>
<property name="geometry"> </item>
<rect> <item row="2" column="3">
<x>10</x> <widget class="QCheckBox" name="qcbDisplayMesh">
<y>180</y> <property name="text">
<width>391</width> <string/>
<height>16</height> </property>
</rect> <property name="checked">
</property> <bool>true</bool>
<property name="text"> </property>
<string>Workspace</string> </widget>
</property> </item>
</widget> <item row="2" column="4">
<widget class="QCheckBox" name="qcbDisplayMesh"> <widget class="QLabel" name="qlDisplayMesh">
<property name="geometry"> <property name="text">
<rect> <string>Display mesh</string>
<x>630</x> </property>
<y>70</y> </widget>
<width>91</width> </item>
<height>21</height> <item row="2" column="5">
</rect> <spacer name="horizontalSpacer_2">
</property> <property name="orientation">
<property name="text"> <enum>Qt::Horizontal</enum>
<string/> </property>
</property> <property name="sizeHint" stdset="0">
</widget> <size>
<widget class="QLabel" name="qlDisplayMesh"> <width>60</width>
<property name="geometry"> <height>20</height>
<rect> </size>
<x>660</x> </property>
<y>70</y> </spacer>
<width>101</width> </item>
<height>16</height> <item row="3" column="0">
</rect> <widget class="QLabel" name="qlTmpDir">
</property> <property name="text">
<property name="text"> <string>Workspace</string>
<string>Display mesh</string> </property>
</property> </widget>
</widget> </item>
</widget> <item row="4" column="0" colspan="9">
<widget class="QWidget" name="layoutWidget"> <widget class="QLineEdit" name="qleTmpDir">
<property name="geometry"> <property name="sizePolicy">
<rect> <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
<x>10</x> <horstretch>0</horstretch>
<y>370</y> <verstretch>0</verstretch>
<width>761</width> </sizepolicy>
<height>27</height> </property>
</rect> <property name="text">
</property> <string/>
<layout class="QHBoxLayout" name="horizontalLayout"> </property>
<item> </widget>
<widget class="QPushButton" name="qpbCompute"> </item>
<property name="text"> </layout>
<string>Compute</string> </widget>
</property> </item>
</widget> </layout>
</item>
<item>
<widget class="QPushButton" name="qpbClose">
<property name="text">
<string>Close</string>
</property>
</widget>
</item>
<item>
<spacer name="horizontalSpacer">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item>
<widget class="QPushButton" name="qpbHelp">
<property name="font">
<font>
<pointsize>10</pointsize>
</font>
</property>
<property name="text">
<string>Help</string>
</property>
</widget>
</item>
</layout>
</widget>
</widget> </widget>
<tabstops>
<tabstop>qpbMeshFile</tabstop>
<tabstop>qleMeshFile</tabstop>
<tabstop>qsbXPoints</tabstop>
<tabstop>qsbYPoints</tabstop>
<tabstop>qsbZPoints</tabstop>
<tabstop>qsbDepth</tabstop>
<tabstop>qsbNBprocs</tabstop>
<tabstop>qsbXParts</tabstop>
<tabstop>qsbYParts</tabstop>
<tabstop>qsbZParts</tabstop>
<tabstop>qleTmpDir</tabstop>
<tabstop>qpbCompute</tabstop>
<tabstop>qpbClose</tabstop>
<tabstop>qpbHelp</tabstop>
</tabstops>
<resources/> <resources/>
<connections/> <connections/>
</ui> </ui>

View File

@ -1,5 +1,5 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
# Copyright (C) 2013-2022 EDF R&D # Copyright (C) 2013-2022 CEA/DES, EDF R&D
# #
# This library is free software; you can redistribute it and/or # This library is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public # modify it under the terms of the GNU Lesser General Public

View File

@ -1,7 +1,7 @@
Introduction Introduction
============ ============
**topIIvol** meshing tool provides sequential/parallel tools for creating volumetric tetrahedral meshes from a given topology (point-cloud `*.xyz`). **topIIvol** meshing tool provides sequential and parallel tools for creating volumetric tetrahedral meshes from a given terrain topology via digital elevation model (DEM point-cloud `*.xyz`). Via this plugin one could produce distributed meshes suitable for domain-decomposition based solvers or simply non distributed meshes (single mesh) suitable for a sequential/parallel solver.
Running topIIvol Plug-in Running topIIvol Plug-in
======================== ========================
@ -15,49 +15,54 @@ Running topIIvol Plug-in
**topIIVolMesh** Options **topIIVolMesh** Options
======================== ========================
Users have option of performing meshing via:
- *Sequential* mode: mesh computation in sequential and outputs a single mesh.
- *Parallel* mode: mesh computation in parallel and outputs a single mesh.
- *Parallel distributed* mode: mesh computation in parallel and outputs partitioned meshes.
Sequential mode Sequential mode
--------------- ---------------
If the number of processors is set to 1, **topIIvol_Mesher** sequential tool is called for creating volumetric tetrahedral meshes from a given topology. The volumetric mesh can be displayed in SALOME by ticking the "Display mesh" check-box. By default sequential meshing mode is activated. **topIIvol_Mesher** sequential tool is called for creating volumetric tetrahedral mesh for the given DEM point-cloud. The volumetric mesh can be displayed in SALOME by ticking the "Display mesh" check-box.
The list of input parameters are: The list of input parameters are:
- DEM input file: input point cloud file; - DEM input file: input point cloud file in .xyz format;
- Number of X points present in the input point cloud; - Number of X points present in the input point cloud;
- Number of Y points present in the input point cloud; - Number of Y points present in the input point cloud;
- Number of Z points intended in the z direction; - Number of Z points intended in the Z direction;
- Depth of the mesh needed; - Depth of the mesh needed;
- temporary directory for calculation. - temporary directory for calculation.
Parallel mode Parallel mode
--------------- ---------------
If the number of processors is greater than one, **topIIvol_ParMesher** parallel computing tool is called for creating volumetric tetrahedral meshes from a given topology. The volumetric mesh can be displayed in SALOME by ticking the "Display mesh" check-box. For larger meshes the parallel meshing mode can be activated via the check-box **Parallel**. Additionally, this requires the user to provide the number of processors to be used for parallel meshing. Then, **topIIvol_ParMesher** parallel computing tool is called for creating volumetric tetrahedral mesh for the given DEM point-cloud. The volumetric mesh can be displayed in SALOME by ticking the "Display mesh" check-box.
The list of input parameters are: The list of input parameters are:
- DEM input file: input point cloud file; - DEM input file: input point cloud file in .xyz format;
- Number of X points present in the input point cloud; - Number of X points present in the input point cloud;
- Number of Y points present in the input point cloud; - Number of Y points present in the input point cloud;
- Number of Z points intended in the z direction; - Number of Z points intended in the Z direction;
- Depth of the mesh needed; - Depth of the mesh needed;
- Number of MPI ranks - Number of MPI ranks
- temporary directory for calculation. - temporary directory for calculation.
Distributed mode Parallel distributed mode
----------------- -----------------
If the check-box **Distributed** is ticked, **topIIvol_DistMesher** computing tool is called for creating embarassingly parallel distributed meshes from a given topology. For larger meshes suitable for distributed-memory solvers (domain-decomposition) the distributed parallel meshing mode can be activated via the check-box **Parallel distributed**. This requires the user to provide the number of processors to be used for parallel meshing and how to partition the mesh in each direction (X, Y, Z). Then, **topIIvol_DistMesher** computing tool is called for creating embarassingly parallel distributed meshes for the given DEM point-cloud. These volumetric mesh partitions can be displayed in SALOME by ticking the "Display mesh" check-box.
The list of input parameters are: The list of input parameters are:
- DEM input file: input point cloud file; - DEM input file: input point cloud file in .xyz format;
- Number of X points present in the input point cloud; - Number of X points present in the input point cloud;
- Number of Y points present in the input point cloud; - Number of Y points present in the input point cloud;
- Number of Z points intended in the z direction; - Number of Z points intended in the Z direction;
- Depth of the mesh needed;
- Number of partitions in X direction; - Number of partitions in X direction;
- Number of partitions in Y direction; - Number of partitions in Y direction;
- Number of partitions in Z direction; - Number of partitions in Z direction;
- Depth of the mesh needed;
- Number of MPI ranks - Number of MPI ranks
- temporary directory for calculation. - temporary directory for calculation.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 30 KiB

After

Width:  |  Height:  |  Size: 88 KiB

View File

@ -8,7 +8,7 @@ topIIvol plugin documentation
This documentation covers the usage of **top-ii-vol** as plug-in in SALOME that can be used within the SALOME This documentation covers the usage of **top-ii-vol** as plug-in in SALOME that can be used within the SALOME
Mesh module. Mesh module.
TopIIVolMesh plug-in uses CEA **top-ii-Vol** meshing tool,which provides sequential/parallel tools for creating volumetric tetrahedral meshes from a given topology. TopIIVolMesh plug-in uses CEA **top-ii-Vol** meshing tool, which provides sequential and parallel tools for creating volumetric tetrahedral meshes for a given terrain topology.
This plug-in offers only the most common functionalities of the tool. This plug-in offers only the most common functionalities of the tool.
Contents: Contents: