Skip to content

Lima v 7.11.0. Disabling (default) writes in mli format. Cmake suppor… #14

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Oct 11, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ option (SUMESH "Utilisation de la bibliothèque de sumesh." ON)

# Les formats de fichiers optionnellement supportés :
option (FORMAT_MLI "Format obsolète déconseillé en externe. Requiert HDF145." ON)
option (WRITER_MLI "Ecrivain du format obsolète. Requiert FORMAT_MLI." FALSE)
option (FORMAT_MLI2 "Format remplaçant le format MLI recommandé partout. Requiert HDF 5 v >= 1.10.0." ON)

# Binaires optionnels :
Expand Down
4 changes: 2 additions & 2 deletions cmake/version.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@
#

set (LIMA_MAJOR_VERSION "7")
set (LIMA_MINOR_VERSION "10")
set (LIMA_RELEASE_VERSION "3")
set (LIMA_MINOR_VERSION "11")
set (LIMA_RELEASE_VERSION "0")
set (LIMA_VERSION ${LIMA_MAJOR_VERSION}.${LIMA_MINOR_VERSION}.${LIMA_RELEASE_VERSION})


7 changes: 5 additions & 2 deletions installation.txt
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,8 @@ Elle requiert une version supérieure ou égale à la version 3.20.0 de cmake. L
CONFIGURATION DE BASE : lecteurs mali mli mli2 ideas gibi castem modulef [icemcfd] dyna2d dyna3d abaqus
=======================

A noter qu'à partir de la version 7.11.0 l'écrivain mli est désactivé.


Exemples de compilation/installation :

Expand All @@ -20,7 +22,7 @@ cmake -DCMAKE_C_COMPILER=/usr/bin/gcc -DCMAKE_CXX_COMPILER=/usr/bin/g++ -DCMAKE_
-DCMAKE_BUILD_TYPE:STRING=Release -DCMAKE_VERBOSE_MAKEFILE=ON -DBUILD_XLMLIMA=ON -DBUILD_TESTS:BOOL=ON -DBUILD_SCRIPTING:BOOL=ON -DMACHINE_TYPES:BOOL=OFF -DSUMESH:BOOL=OFF -DFORMAT_MLI:BOOL=OFF -DFORMAT_MLI2:BOOL=ON -DFORMAT_MLI2:BOOL=ON \
-DBUILD_SHARED_LIBS:BOOL=ON -DINT_8:BOOL=ON -DREAL_8:BOOL=ON \
-DSWIG_EXECUTABLE=/opt/swig/4.1.1/bin/swig -DPython2_ROOT_DIR=/usr/lib/python2.7 -DHDF5_ROOT=/opt/HDF5/1.12.0 \
-B /tmp/lima_build_dir -DCMAKE_INSTALL_PREFIX=/opt/Lima/7.10.3
-B /tmp/lima_build_dir -DCMAKE_INSTALL_PREFIX=/opt/Lima/7.11.0
cmake --build /tmp/lima_build_dir
cmake --install /tmp/lima_build_dir

Expand All @@ -30,7 +32,7 @@ cmake -DCMAKE_C_COMPILER=/usr/bin/gcc -DCMAKE_CXX_COMPILER=/usr/bin/g++ -DCMAKE_
-DCMAKE_BUILD_TYPE:STRING=Release -DCMAKE_VERBOSE_MAKEFILE=ON -DBUILD_XLMLIMA=ON -DBUILD_TESTS:BOOL=ON -DBUILD_SCRIPTING:BOOL=ON -DMACHINE_TYPES:BOOL=ON -DSUMESH:BOOL=ON -DFORMAT_MLI:BOOL=ON -DFORMAT_MLI2:BOOL=ON \
-DBUILD_SHARED_LIBS:BOOL=ON -DINT_8:BOOL=ON -DREAL_8:BOOL=ON \
-DSWIG_EXECUTABLE=/opt/swig/4.1.1/bin/swig -DPython2_ROOT_DIR=/usr/lib/python2.7 -DHDF5_ROOT=/opt/HDF5/1.12.0 -DHDF145_INCLUDE_DIR=/opt/hdf145/1.3.0/include -DHDF145CPP_LIBRARY=/opt/hdf145/1.3.0/lib/libhdf145_cpp.so -DHDF145_LIBRARY=/opt/hdf145/1.3.0/lib/libhdf145.so \
-B /tmp/lima_build_dir -DCMAKE_INSTALL_PREFIX=/opt/Lima/7.10.3
-B /tmp/lima_build_dir -DCMAKE_INSTALL_PREFIX=/opt/Lima/7.11.0
cmake --build /tmp/lima_build_dir
cmake --install /tmp/lima_build_dir

Expand All @@ -51,6 +53,7 @@ L'option -DMACHINE_TYPES:BOOL=OFF permet de désactiver l'utilisation de Machine
L'option -DSUMESH:BOOL=OFF permet de désactiver l'utilisation de la bibliothèque sumesh (lissage).

L'option -DFORMAT_MLI:BOOL=OFF permet de désactiver le lecteur/écrivain obsolète "mli" qui repose sur la bibliothèque HDF 5 1.4.5.
L'option -DWRITER_MLI:BOOL=ON permet de réactiver l'écrivain obsolète "mli" à condition que FORMAT_MLI soit positionné à ON.
L'option -DDISABLE_MLI_WARNING:BOOL=ON, fortement déconseillée, permet de désactiver l'affichage en bleu dans la console d'un avertissement signalant l'utilisation de ce lecteur/écrivain obsolète "mli".

L'option -DFORMAT_MLI2:BOOL=OFF permet de désactiver le lecteur/écrivain "mli2" qui repose sur une version supérieure ou égale à 1.10.0 de la bibliothèque HDF 5.
Expand Down
3 changes: 3 additions & 0 deletions src/Lima/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,9 @@ if (${HDF145_FOUND})
message (STATUS "======================> Ajout du support du format mli")
list (APPEND EXTERNAL_LIBS_FLAGS "HDF5_1_4_3")
list (APPEND EXTERNAL_LIBS_FLAGS "-D__INTERNE_MALIPP")
if (WRITER_MLI)
list (APPEND EXTERNAL_LIBS_FLAGS "-D__INTERNE_MALIPP_WRITER")
endif (WRITER_MLI)
target_link_libraries (Lima PUBLIC HDF145::hdf145_cpp)
set (MLI_SUPPORTED ON)
endif (${HDF145_FOUND})
Expand Down
5 changes: 2 additions & 3 deletions src/Lima/apic.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
#include "LimaP/maillage_it.h"
#include <Lima/maillage.h>

#ifdef __INTERNE_MALIPP
#if defined(__INTERNE_MALIPP) && defined (__INTERNE_MALIPP_WRITER)
#include <Lima/malipp.h>
#endif /* __INTERNE_MALIPP */

Expand Down Expand Up @@ -1020,8 +1020,7 @@ int LM_ecrire_maillage(LM_MAILLAGE *maillage, LM_FORMAT_FICHIER format,
return 0;
}


#ifdef __INTERNE_MALIPP
#if defined(__INTERNE_MALIPP) && defined (__INTERNE_MALIPP_WRITER)
int LM_compression_zlib_malipp (int comprimer, int niveau)
{
try
Expand Down
4 changes: 2 additions & 2 deletions src/Lima/apif.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@
#include "LimaP/fonction.h"
#include "LimaP/algorithme.h"

#ifdef __INTERNE_MALIPP
#if defined(__INTERNE_MALIPP) && defined (__INTERNE_MALIPP_WRITER)
#include <Lima/malipp.h>
#endif // __INTERNE_MALIPP

Expand Down Expand Up @@ -2899,7 +2899,7 @@ void Init_attribut(_MaillageInterne* mai, att_loc pt_attach, string nom_groupe)
}


#ifdef __INTERNE_MALIPP
#if defined(__INTERNE_MALIPP) && defined (__INTERNE_MALIPP_WRITER)
void lmczmli_ (int_type* comprimer, int_type* niveau, int_type* ier)
{
try
Expand Down
62 changes: 17 additions & 45 deletions src/Lima/malipp.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -90,8 +90,7 @@ HDFAttributeDescriptor::HDFAttributeDescriptor ( )
} // HDFAttributeDescriptor::HDFAttributeDescriptor


HDFAttributeDescriptor::HDFAttributeDescriptor (
const HDFAttributeDescriptor& ad)
HDFAttributeDescriptor::HDFAttributeDescriptor (const HDFAttributeDescriptor& ad)
{
for (size_type i = 0; i < ATTRIBUT_SIZE; i++)
m_name [i] = ad.m_name [i];
Expand All @@ -100,8 +99,7 @@ HDFAttributeDescriptor::HDFAttributeDescriptor (
} // HDFAttributeDescriptor::HDFAttributeDescriptor


HDFAttributeDescriptor& HDFAttributeDescriptor::operator = (
const HDFAttributeDescriptor& ad)
HDFAttributeDescriptor& HDFAttributeDescriptor::operator = (const HDFAttributeDescriptor& ad)
{
if (&ad != this)
{
Expand Down Expand Up @@ -144,8 +142,7 @@ MaliPPReader::GroupeReader::GroupeReader (const GroupeReader& reader)
} // GroupeReader::GroupeReader


MaliPPReader::GroupeReader& MaliPPReader::GroupeReader::operator = (
const GroupeReader& reader)
MaliPPReader::GroupeReader& MaliPPReader::GroupeReader::operator = (const GroupeReader& reader)
{
if (&reader != this)
{
Expand Down Expand Up @@ -1928,6 +1925,8 @@ void MaliPPReader::lire_composition_maillage ( )
// LA CLASSE MaliPPWriter
// ===========================================================================

#ifdef __INTERNE_MALIPP_WRITER

static size_t computeChunkSize (size_t count, size_t elementSize)
{
// Pour forcer la creation de blocs lors de tests :
Expand Down Expand Up @@ -1975,7 +1974,7 @@ MaliPPWriter::MaliPPWriter (const IN_STD string& nom_fichier, size_type num)

} // MaliPPWriter::MaliPPWriter

void MaliPPWriter::beginWrite()
void MaliPPWriter::beginWrite ( )
{
bool throwExc = false;
MutableString errorMsg;
Expand Down Expand Up @@ -2496,12 +2495,7 @@ void MaliPPWriter::writeNodesInfo (bool isContiguous, id_type nbNodes, id_type f
} // MaliPPWriter::writeNodesInfo


void MaliPPWriter::writeNodes (
id_type nodesChunkSize,
double* coordsX,
double* coordsY,
double* coordsZ,
id_type* ids)
void MaliPPWriter::writeNodes (id_type nodesChunkSize, double* coordsX, double* coordsY, double* coordsZ, id_type* ids)
{
BEGIN_TRY_CATCH_BLOCK("MaliPPWriter::writeNodes ")

Expand Down Expand Up @@ -2602,10 +2596,7 @@ void MaliPPWriter::writeNodeSetInfo (id_type nbSet, std::vector<std::string> set
} // MaliPPWriter::writeNodeSetInfo


void MaliPPWriter::writeNodeSetData (
std::string name,
id_type chunkSize,
id_type* ids)
void MaliPPWriter::writeNodeSetData (std::string name, id_type chunkSize, id_type* ids)
{
BEGIN_TRY_CATCH_BLOCK("MaliPPWriter::writeNodeSetData ")

Expand Down Expand Up @@ -2819,10 +2810,7 @@ void MaliPPWriter::writeEdgeSetInfo (id_type nbSet, std::vector<std::string> set
} // MaliPPWriter::writeEdgeSetInfo


void MaliPPWriter::writeEdgeSetData (
std::string name,
id_type chunkSize,
id_type* ids)
void MaliPPWriter::writeEdgeSetData (std::string name, id_type chunkSize, id_type* ids)
{
BEGIN_TRY_CATCH_BLOCK("MaliPPWriter::writeEdgeSetData ")

Expand Down Expand Up @@ -3067,10 +3055,7 @@ void MaliPPWriter::writeFaceSetInfo (id_type nbSet, std::vector<std::string> set
} // MaliPPWriter::writeFaceSetInfo


void MaliPPWriter::writeFaceSetData (
std::string name,
id_type chunkSize,
id_type* ids)
void MaliPPWriter::writeFaceSetData (std::string name, id_type chunkSize, id_type* ids)
{
BEGIN_TRY_CATCH_BLOCK("MaliPPWriter::writeFaceSetData ")

Expand Down Expand Up @@ -3100,11 +3085,7 @@ void MaliPPWriter::writeFaceSetData (
} // MaliPPWriter::writeFaceSetData


void MaliPPWriter::writeFaceSetData (
std::string name,
id_type chunkSize,
id_type* ids,
id_type* nbNodesPerFace)
void MaliPPWriter::writeFaceSetData (std::string name, id_type chunkSize, id_type* ids, id_type* nbNodesPerFace)
{
BEGIN_TRY_CATCH_BLOCK("MaliPPWriter::writeFaceSetData ")

Expand Down Expand Up @@ -3368,10 +3349,7 @@ void MaliPPWriter::writeRegionSetInfo (id_type nbSet, std::vector<std::string> s
} // MaliPPWriter::writeRegionSetInfo


void MaliPPWriter::writeRegionSetData (
std::string name,
id_type chunkSize,
id_type* ids)
void MaliPPWriter::writeRegionSetData (std::string name, id_type chunkSize, id_type* ids)
{
BEGIN_TRY_CATCH_BLOCK("MaliPPWriter::writeRegionSetData ")

Expand Down Expand Up @@ -3401,11 +3379,7 @@ void MaliPPWriter::writeRegionSetData (
} // MaliPPWriter::writeRegionSetData


void MaliPPWriter::writeRegionSetData (
std::string name,
id_type chunkSize,
id_type* ids,
Lima::Polyedre::PolyedreType* regionTypes)
void MaliPPWriter::writeRegionSetData (std::string name, id_type chunkSize, id_type* ids, Lima::Polyedre::PolyedreType* regionTypes)
{
BEGIN_TRY_CATCH_BLOCK("MaliPPWriter::writeRegionSetData ")

Expand Down Expand Up @@ -3511,8 +3485,7 @@ void MaliPPWriter::writeRegionSetsAttributes ( )
} // MaliPPWriter::writeRegionSetsAttributes


void MaliPPWriter::writeComposition (const Composition& composition,
const std::string& name, CommonFG& root)
void MaliPPWriter::writeComposition (const Composition& composition, const std::string& name, CommonFG& root)
{
BEGIN_TRY_CATCH_BLOCK("MaliPPWriter::writeComposition ")

Expand Down Expand Up @@ -3594,6 +3567,7 @@ void MaliPPWriter::activer_compression_zlib (int niveau)
HDFHelper::activateZlibCompression (niveau);
} // MaliPPWriter::activer_compression_zlib

#endif // __INTERNE_MALIPP_WRITER


// ===========================================================================
Expand All @@ -3614,15 +3588,13 @@ HDFAttributeDescriptorType::HDFAttributeDescriptorType ( )
} // HDFAttributeDescriptorType::HDFAttributeDescriptorType


HDFAttributeDescriptorType::HDFAttributeDescriptorType (
const HDFAttributeDescriptorType& at)
HDFAttributeDescriptorType::HDFAttributeDescriptorType (const HDFAttributeDescriptorType& at)
: CompType (at)
{
} // HDFAttributeDescriptorType copy constructor


HDFAttributeDescriptorType& HDFAttributeDescriptorType::operator = (
const HDFAttributeDescriptorType&)
HDFAttributeDescriptorType& HDFAttributeDescriptorType::operator = (const HDFAttributeDescriptorType&)
{
return *this;
} // HDFAttributeDescriptorType::operator =
Expand Down
15 changes: 7 additions & 8 deletions src/Lima/public/Lima/malipp.h
Original file line number Diff line number Diff line change
Expand Up @@ -1124,8 +1124,7 @@ class MaliPPReader


/**
* Classe décrivant la structure HDFAttributeDescriptor pour le stockage
* sous HDF.
* Classe décrivant la structure HDFAttributeDescriptor pour le stockage sous HDF.
*/
class HDFAttributeDescriptorType : public IN_H5 CompType
{
Expand All @@ -1145,9 +1144,10 @@ class HDFAttributeDescriptorType : public IN_H5 CompType
}; // class HDFAttributeDescriptorType


#ifdef __INTERNE_MALIPP_WRITER

/**
* Classe ne permettant dans la version courrante que d'influer sur la
* compression des données écrites par HDF5.
* Classe ne permettant dans la version courrante que d'influer sur la compression des données écrites par HDF5.
*
* NE PAS UTILISER L'API D'ECRITURE
*
Expand All @@ -1157,8 +1157,7 @@ class MaliPPWriter
public :

/**
* Constructeur. Ouvre le fichier en écriture et écrit les données
* générales du maillage.
* Constructeur. Ouvre le fichier en écriture et écrit les données générales du maillage.
* @param Nom du fichier
* @param numéro du maillage dans le fichier
* @exception Une exception est levée en cas d'erreur
Expand Down Expand Up @@ -1259,8 +1258,7 @@ class MaliPPWriter

void writeMeshAttributes ( );

void writeComposition (const Composition& composition, const std::string& name,
HDF145::CommonFG& compositionGroup);
void writeComposition (const Composition& composition, const std::string& name, HDF145::CommonFG& compositionGroup);

/**
* Constructeurs et destructeur : interdits.
Expand Down Expand Up @@ -1385,6 +1383,7 @@ class MaliPPWriter

}; // class MaliPPWriter

#endif // __INTERNE_MALIPP_WRITER

#ifndef SWIG
END_NAMESPACE_LIMA
Expand Down
3 changes: 3 additions & 0 deletions src/Lima/public/LimaP/reader_malipp.h
Original file line number Diff line number Diff line change
Expand Up @@ -92,6 +92,8 @@ class _ReaderMalipp : public _Reader {
};

//////////////////////////////////////////////////////////////////////////////
#ifdef __INTERNE_MALIPP_WRITER

class _WriterMalipp : public _Writer {
public :
_WriterMalipp(_MaillageInterne* mesh,
Expand Down Expand Up @@ -165,6 +167,7 @@ public :
bool m_forceZlib;
};

#endif // __INTERNE_MALIPP_WRITER

END_NAMESPACE_LIMA

Expand Down
5 changes: 5 additions & 0 deletions src/Lima/reader_malipp.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1760,6 +1760,8 @@ void _ReaderMalipp::readGroupAttr (
} // _ReaderMalipp::readGroupAttr


#ifdef __INTERNE_MALIPP_WRITER

//////////////////////////////////////////////////////////////////////////////
//! Ecriture de l'indice des elements dans le champ udata
void _WriterMalipp::setDataToIndice ( )
Expand Down Expand Up @@ -3183,6 +3185,8 @@ void _WriterMalipp::writeComposition (const Composition& composition,
compositionAttr.write (compositionAttr.getDataType ( ), detail);
} // _WriterMalipp::writeComposition

#endif // __INTERNE_MALIPP_WRITER


static size_t computeChunkSize (size_t count, size_t elementSize)
{
Expand All @@ -3203,6 +3207,7 @@ static size_t computeChunkSize (size_t count, size_t elementSize)
return count / (chunkDivider * elementSize);
} // computeChunkSize


END_NAMESPACE_LIMA

#endif
4 changes: 2 additions & 2 deletions src/Lima/writer.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ const char* _liste_format_ecriture[]={
#ifdef __INTERNE_MALI
(char*) "unf, format de fichier MALI",
#endif
#ifdef __INTERNE_MALIPP
#if defined(__INTERNE_MALIPP) && defined(__INTERNE_MALIPP_WRITER)
(char*) "mli, format (désuet) de fichier MALI++",
(char*) "mliz, format (désuet) de fichier MALI++",
#endif
Expand Down Expand Up @@ -115,7 +115,7 @@ _Writer* _Writer::create(_MaillageInterne* mesh,
writer = new _WriterMali(mesh, nom_fichier, format);
break;
#endif
#ifdef __INTERNE_MALIPP
#if defined(__INTERNE_MALIPP) && defined(__INTERNE_MALIPP_WRITER)
case MALIPP:
writer = new _WriterMalipp(mesh, nom_fichier, format, num, false);
break;
Expand Down
1 change: 1 addition & 0 deletions src/LimaScripting/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@ file (GLOB CPP_SOURCES *.i *.cpp)
# => dans cette version on ne génère que _LimaScripting qui sera utilisé directement depuis les scripts comme par les exécutables.
set (ALL_TARGETS LimaScripting)
set_property (SOURCE LimaScripting.i PROPERTY CPLUSPLUS ON)
set_property (SOURCE LimaScripting.i PROPERTY USE_SWIG_DEPENDENCIES TRUE)
swig_add_library (LimaScripting TYPE SHARED LANGUAGE PYTHON SOURCES ${CPP_SOURCES})
cmake_policy (SET CMP0086 NEW)
set_source_files_properties (LimaScripting.i PROPERTIES SWIG_MODULE_NAME LimaScripting)
Expand Down
Loading