# Project name, upper case
STRING(TOUPPER ${PROJECT_NAME} PROJECT_NAME_UC)
-SET(${PROJECT_NAME_UC}_MAJOR_VERSION 7)
-SET(${PROJECT_NAME_UC}_MINOR_VERSION 8)
+SET(${PROJECT_NAME_UC}_MAJOR_VERSION 8)
+SET(${PROJECT_NAME_UC}_MINOR_VERSION 0)
SET(${PROJECT_NAME_UC}_PATCH_VERSION 0)
SET(${PROJECT_NAME_UC}_VERSION
${${PROJECT_NAME_UC}_MAJOR_VERSION}.${${PROJECT_NAME_UC}_MINOR_VERSION}.${${PROJECT_NAME_UC}_PATCH_VERSION})
-SET(${PROJECT_NAME_UC}_VERSION_DEV 0)
+SET(${PROJECT_NAME_UC}_VERSION_DEV 1)
# Find KERNEL
# ===========
##
# Various
-# Qt4
-FIND_PACKAGE(SalomeQt4 REQUIRED COMPONENTS QtCore QtGui)
+# Qt
+IF (NOT SALOME_GUI_BUILD_WITH_QT5)
+ FIND_PACKAGE(SalomeQt4 REQUIRED COMPONENTS QtCore QtGui)
+ELSE()
+ FIND_PACKAGE(SalomeQt5 REQUIRED)
+ENDIF()
# SIP
FIND_PACKAGE(SalomeSIP REQUIRED)
-# PyQt4
-FIND_PACKAGE(SalomePyQt4 REQUIRED)
+# PyQt
+IF (NOT SALOME_GUI_BUILD_WITH_QT5)
+ FIND_PACKAGE(SalomePyQt4 REQUIRED)
+ELSE()
+ FIND_PACKAGE(SalomePyQt5 REQUIRED)
+ENDIF()
# OCCT
FIND_PACKAGE(SalomeCAS REQUIRED)
``iter.Compute(option)`` becomes ``iter.Compute(option1, option2)``
- A serie of iterations that is stored in a directory can be followed (see :ref:`gui_create_case`)
-SALOME VERSION 7.3:
+SALOME RELEASE 7.3:
- English documentation
- Options to track the computation (see :ref:`tui_create_iteration`): ``iter.SetInfoCompute(MessInfo)``
- Automatic creation of YACS schema:
``SetFieldInterpTimeStepRank(FieldInterp, TimeStep, Rank)``: defines the time step and the rank for the interpolation of the field (see :ref:`tui_create_iteration`)
- If error occurs into the python instructions, the program stops.
-SALOME VERSION 7.4 :
+SALOME RELEASE 7.4 :
- Scroll bar for the large windows.
- The meshes are published only if requested.
- The torus is a new possibility for the analytical boundary.
- If an error occurs, the name of the message file is displayed.
- Release 11.1 for the HOMARD binary. The conformal refinement of the meshes with hexaedra is improved: less meshes are produced.
-SALOME VERSION 7.5 :
+SALOME RELEASE 7.5 :
- Additional extra output: diameters and qualities; the function ``SetExtraOutput(option)`` is now used (see :ref:`tui_create_hypothese`).
- Release 11.2 for the HOMARD binary ; improvement for the 1D curve boundaries.
+SALOME RELEASE 7.6 :
+ - Interpolation of all the fields into the input file.
+
+SALOME RELEASE 8.1 :
+ - Interface with med 3.2.0
+ - New options withinthe choice conformal/non-conformal.
+ - Less meshes are involved in the case of a non conformal refinement of a mesh made of hexahedra.
+ - Correction of an error when refinement and unrefinement are coupled for a mesh made of hexahedra.
+
Conversely, a boundary can be very well retained by no group. It occurs if it was defined for a previous case and if it is groundless for the case in the course of definition.
-There are three types of analytical boundary:
+There are four types of analytical boundary:
- Cylindre
- Sphere
| - ``ext_type`` : integer as follows: |
| |
| * 0 : Standard MED (default) |
-| * 1 : Saturne 2D |
+| * 1 : Saturne MED |
+| * 2 : Saturne 2D MED |
+---------------------------------------------------------------+
| .. module:: GetExtType |
| |
<HOMARD, a SALOME module for Mesh Adaptation>
- Copyright (C) 1996, 2015-2016 EDF
+ Copyright (C) 1996, 2016 EDF
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
<HOMARD, a SALOME module for Mesh Adaptation>
- Copyright (C) 1996, 2015-2016 EDF
+ Copyright (C) 1996, 2016 EDF
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
#
if salome.sg.hasDesktop():
salome.sg.updateObjBrowser(1)
- iparameters.getSession().restoreVisualState(1)
#!/usr/bin/env python
-# -*- coding: iso-8859-1 -*-
+# -*- coding: utf-8 -*-
# Copyright (C) 2013-2016 CEA/DEN, EDF R&D
#
# This library is free software; you can redistribute it and/or
elif saux == "-DUMP" :
self.dump = 1
#
-# 2. Les paramètres de base
+# 2. Les paramètres de base
#
self.dico = {}
self.nomfic_export = None
if typfic == "mmed" :
nomfic = self.mesh_file
#
-# 3.2.2.2. Pour les autres fichiers, on recupère le nom initial
+# 3.2.2.2. Pour les autres fichiers, on recupère le nom initial
#
else :
nomfic_l_0 = os.path.basename(nomfic_0)
#!/usr/bin/env python
-# -*- coding: iso-8859-1 -*-
+# -*- coding: utf-8 -*-
# Copyright (C) 2013-2016 CEA/DEN, EDF R&D
#
# This library is free software; you can redistribute it and/or
self.verbose = 1
self.verbose_max = 1
#
-# 2. Les paramètres de base
+# 2. Les paramètres de base
#
self.dico = {}
#
- Sorties supplémentaires optionnelles : diamètre et qualité ; on utilisera ``SetExtraOutput(option)`` (voir :ref:`tui_create_hypothese`).
- Passage à la version 11.2 de l'exécutable HOMARD ; amélioration du suivi des frontières courbes 1D.
+SALOME VERSION 7.6 :
+ - Pilotage de l’interpolation de tous les champs présents dans le fichier d’entrée.
+
+SALOME VERSION 8.1 :
+ - Interfaçage avec med 3.2.0
+ - Variantes dans les choix conforme / non conforme.
+ - Diminution du nombre de mailles impactées dans le cas d’un raffinement non conforme d’un maillage en hexaèdres.
+ - Correction d'une anomalie en raffinement / déraffinement d’un maillage en hexaèdres.
+
Inversement, une frontière peut très bien n'être retenue par aucun groupe. Cela arrive si elle a été définie pour un cas précédent et qu'elle est sans objet pour le cas en cours de définition.
-Il existe trois types de frontière analytique :
+Il existe quatre types de frontière analytique :
- Cylindre
- Sphère
| - ``ext_type`` : entier précisant le type externe |
| |
| * 0 : MED standard (défaut) |
-| * 1 : Saturne 2D |
+| * 1 : Saturne MED |
+| * 2 : Saturne 2D MED |
+---------------------------------------------------------------+
| .. module:: GetExtType |
| |
//=============================================================================
void HOMARD_Cas::SetExtType( int ExtType )
{
-// VERIFICATION( (ExtType>=0) && (ExtType<=1) );
+// VERIFICATION( (ExtType>=0) && (ExtType<=2) );
_ExtType = ExtType;
}
//=============================================================================
MESSAGE("TexteAdap");
//
_Texte += "Action homa\n" ;
- if ( ExtType == 0 ) { _Texte += "CCAssoci med\n" ; }
- else { _Texte += "CCAssoci saturne_2d\n" ; }
+ if ( ExtType == 0 ) { _Texte += "CCAssoci med\n" ; }
+ else if ( ExtType == 1 ) { _Texte += "CCAssoci saturne\n" ; }
+ else { _Texte += "CCAssoci saturne_2d\n" ; }
_Texte += "ModeHOMA 1\n" ;
_Texte += "NumeIter " + _siter + "\n" ;
//
// MESSAGE("A la fin de HomardDriver::TexteConfRaffDera, _Texte ="<<_Texte);
}
//===============================================================================
-void HomardDriver::TexteCompo( int NumeComp, const std::string NompCompo)
+void HomardDriver::TexteCompo( int NumeComp, const std::string NomCompo)
{
- MESSAGE("TexteCompo, NumeComp = "<<NumeComp<<", NompCompo = "<<NompCompo);
- _Texte +="CCCoChaI \"" + NompCompo + "\"\n" ;
+ MESSAGE("TexteCompo, NumeComp = "<<NumeComp<<", NomCompo = "<<NomCompo);
+ _Texte +="CCCoChaI \"" + NomCompo + "\"\n" ;
}
//===============================================================================
void HomardDriver::TexteZone( int NumeZone, int ZoneType, int TypeUse, double x0, double x1, double x2, double x3, double x4, double x5, double x6, double x7, double x8 )
# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
#
-INCLUDE(UseQt4Ext)
-INCLUDE(UsePyQt4)
+INCLUDE(UseQtExt)
+INCLUDE(UsePyQt)
# --- options ---
)
# header files / uic wrappings
-QT4_WRAP_UI(_uic_HEADERS ${_uic_FILES})
+QT_WRAP_UIC(_uic_HEADERS ${_uic_FILES})
# header files / static
SET(_other_HEADERS
# --- sources ---
# sources / moc wrappings
-QT4_WRAP_CPP(_moc_SOURCES ${_moc_HEADERS})
+QT_WRAP_MOC(_moc_SOURCES ${_moc_HEADERS})
# sources / static
SET(_other_SOURCES
INSTALL(TARGETS HOMARD EXPORT ${PROJECT_NAME}TargetGroup DESTINATION ${SALOME_INSTALL_LIBS})
INSTALL(FILES ${HOMARD_HEADERS} DESTINATION ${SALOME_INSTALL_HEADERS})
-QT4_INSTALL_TS_RESOURCES("${_ts_RESOURCES}" "${SALOME_HOMARD_INSTALL_RES_DATA}")
+QT_INSTALL_TS_RESOURCES("${_ts_RESOURCES}" "${SALOME_HOMARD_INSTALL_RES_DATA}")
<bool>true</bool>
</property>
<layout class="QGridLayout" name="gridLayout_5">
- <item row="0" column="0" colspan="3">
+ <item row="0" column="0">
<widget class="QWidget" name="WName" native="true">
<layout class="QGridLayout" name="gridLayout_2">
<item row="0" column="0">
</layout>
</widget>
</item>
- <item row="0" column="3" colspan="3">
+ <item row="0" column="2" colspan="2">
<spacer name="horizontalSpacer">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
</spacer>
</item>
- <item row="1" column="0" colspan="7">
+ <item row="1" column="0" colspan="5">
<layout class="QHBoxLayout">
<property name="spacing">
<number>6</number>
</item>
</layout>
</item>
- <item row="2" column="6">
+ <item row="2" column="4">
<spacer>
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
</spacer>
</item>
- <item row="3" column="0" colspan="7">
+ <item row="3" column="0" colspan="5">
<layout class="QHBoxLayout">
<property name="spacing">
<number>6</number>
</item>
</layout>
</item>
- <item row="3" column="7">
+ <item row="3" column="5">
<spacer>
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
</spacer>
</item>
- <item row="4" column="0" colspan="4">
+ <item row="4" column="0">
<widget class="QGroupBox" name="GBTypeConf">
<property name="title">
<string>Conformity type</string>
</layout>
</widget>
</item>
- <item row="5" column="0" colspan="5">
+ <item row="5" column="0">
<layout class="QHBoxLayout">
<property name="spacing">
<number>6</number>
</item>
</layout>
</item>
- <item row="5" column="5">
+ <item row="5" column="3">
<spacer>
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
</spacer>
</item>
- <item row="6" column="4">
+ <item row="6" column="2">
<spacer>
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
</spacer>
</item>
- <item row="7" column="0" colspan="6">
+ <item row="7" column="0" colspan="4">
<widget class="QGroupBox" name="GBBoundaryD">
<property name="sizePolicy">
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
</layout>
</widget>
</item>
- <item row="8" column="0" colspan="8">
+ <item row="8" column="0" colspan="6">
<widget class="QGroupBox" name="GBBoundaryA">
<property name="minimumSize">
<size>
</layout>
</widget>
</item>
- <item row="9" column="0" colspan="4">
+ <item row="9" column="0">
<spacer name="spacer">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
</spacer>
</item>
- <item row="10" column="0" colspan="3">
+ <item row="10" column="0">
<widget class="QCheckBox" name="CBAdvanced">
<property name="text">
<string>Advanced options</string>
</property>
</widget>
</item>
- <item row="11" column="0" colspan="6">
+ <item row="11" column="0" colspan="3">
<widget class="QGroupBox" name="GBAdvancedOptions">
<property name="title">
<string>Advanced options</string>
</widget>
</item>
<item row="0" column="1">
+ <widget class="QRadioButton" name="RBSaturne">
+ <property name="text">
+ <string>Saturne</string>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="2">
<widget class="QRadioButton" name="RBSaturne2D">
<property name="text">
<string>Saturne 2D</string>
</layout>
</widget>
</item>
- <item row="11" column="7">
+ <item row="11" column="5">
<spacer name="spacer_3">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
</spacer>
</item>
- <item row="12" column="0" colspan="5">
+ <item row="12" column="0">
<spacer name="spacer_4">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
</spacer>
</item>
- <item row="13" column="0" colspan="2">
+ <item row="13" column="0">
<widget class="QLabel" name="Comment">
<property name="text">
<string> No comment.</string>
</property>
</spacer>
</item>
- <item row="14" column="6" colspan="2">
+ <item row="14" column="4" colspan="2">
<spacer name="spacer_2">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</spacer>
</item>
</layout>
- <zorder>WName</zorder>
- <zorder>GBTypeConf</zorder>
- <zorder>GBBoundaryD</zorder>
- <zorder>GBBoundaryA</zorder>
- <zorder>CBAdvanced</zorder>
- <zorder>GBAdvancedOptions</zorder>
- <zorder>Comment</zorder>
- <zorder>GroupButtons</zorder>
- <zorder>RBSaturne2D</zorder>
- <zorder>RBSaturne2D</zorder>
- <zorder>RBSaturne2D</zorder>
</widget>
<resources/>
<connections/>
connect( RBNCQuelconque, SIGNAL(clicked()), this, SLOT(SetNCQuelconque()));
connect( RBMED, SIGNAL(clicked()), this, SLOT(SetMED()));
+ connect( RBSaturne, SIGNAL(clicked()), this, SLOT(SetSaturne()));
connect( RBSaturne2D, SIGNAL(clicked()), this, SLOT(SetSaturne2D()));
connect( buttonOk, SIGNAL(pressed()), this, SLOT(PushOnOK()));
RBMED->setChecked(true);
}
// ------------------------------------------------------------------------
-void MonCreateCase::SetSaturne2D()
+void MonCreateCase::SetSaturne()
// ------------------------------------------------------------------------
{
_ExtType = 1 ;
+ RBSaturne->setChecked(true);
+}
+// ------------------------------------------------------------------------
+void MonCreateCase::SetSaturne2D()
+// ------------------------------------------------------------------------
+{
+ _ExtType = 2 ;
RBSaturne2D->setChecked(true);
}
// ------------------------------------------------------------------------
virtual void SetNCQuelconque();
virtual void SetMED();
+ virtual void SetSaturne();
virtual void SetSaturne2D();
virtual void SetBoundaryD();
else
{ GBFormat->setVisible(1);
RBMED->setVisible(1);
+ RBSaturne->setVisible(1);
RBSaturne2D->setVisible(1);
- RBSaturne2D->setChecked(true);
+ if ( ExtType == 1 ) { RBSaturne->setChecked(true); }
+ else { RBSaturne2D->setChecked(true); }
}
RBMED->setEnabled(false);
+ RBSaturne->setEnabled(false);
RBSaturne2D->setEnabled(false);
}
else
void HOMARD_Cas_i::SetExtType( CORBA::Long ExtType )
{
ASSERT( myHomardCas );
-// VERIFICATION( (ExtType>=0) && (ExtType<=1) );
+// VERIFICATION( (ExtType>=0) && (ExtType<=2) );
myHomardCas->SetExtType( ExtType );
}
//=============================================================================
for (int NumeComp = 0; NumeComp< numberOfCompos; NumeComp++)
{
std::string nomCompo = std::string((*mescompo)[NumeComp]);
- MESSAGE( "... nomCompo = " << nomCompo );
- myDriver->TexteCompo(NumeComp, nomCompo);
+ if ((system(nomCompo.c_str())) != 0)
+ {
+ MESSAGE( "... nomCompo = " << nomCompo );
+ myDriver->TexteCompo(NumeComp, nomCompo);
+ }
}
return ;
}
Python script for HOMARD
Test test_4
"""
-__revision__ = "V2.1"
+__revision__ = "V2.2"
#========================================================================
TEST_NAME = "test_4"
from salome.smesh import smeshBuilder
from salome.StdMeshers import StdMeshersBuilder
#
-from MEDLoader import MEDLoader
from MEDCouplingRemapper import MEDCouplingRemapper
import iparameters