/*!
-\page ghs3dprl_hypo_page GHS3DPRL Parameters hypothesis
+\page ghs3dprl_hypo_page MG-Tetra Parallel Parameters hypothesis
-\n GHS3DPRL Parameters hypothesis works only with <b>Tetrahedron (Tepal with TetMesh-GHS3D)</b> algorithm.
+\n MG-Tetra Parallel Parameters hypothesis works only with <b>MG-Tetra Parallel</b> algorithm.
This algorithm is a commercial software, its use requires a licence (http://www.distene.com/fr/build/offer.html).
\n Tepal_V1.4 gives the possibility to generate a partitioned
mesh with 200 million tetrahedrons on a computer with average memory size
tetrahedrons on computers using MPI, (Total 16 Go RAM)
in about 900 seconds (!yes! : !seconds!) on 2 octo processors (Xeon, 2009).
The launch of this beta-version is described below.
-\n This is a serious alternative to GHS3D, which requires a much less common
+\n This is a serious alternative to MG-Tetra, which requires a much less common
configuration with 64Go RAM to only try to make a partition of a mesh with
200 million tetrahedrons, no result guaranteed.
\n
<ul>
<li>
-<b>Name</b> - allows to define the name of the hypothesis (GHS3DPRL Parameters by default).
+<b>Name</b> - allows to define the name of the hypothesis (MG-Tetra Parallel Parameters by default).
</li>
<li>
<b>MED_Name</b> - allows to define the path and the prefix of the
</li>
<li>
<b>To_Mesh_Holes</b> - if this box is checked, the parameter component
-of tetmesh-ghs3d will mesh holes.
+of MG-Tetra will mesh holes.
</li>
-<h1>Modifying GHS3DPRL Advanced Parameters</h1><br>
+<h1>Modifying MG-Tetra Parallel Advanced Parameters</h1><br>
GHS3DPRL Plugin launches a standalone binary executable tepal2med.<br>
tepal2med launches tepal, waits for the end of computation, and
converts the resulting output tepal files into MED files.<br>
\n
</li>
<li>
-<b>Advanced ghs3d Parameters (through Tepal_V1.4's --tetmesh_args)</b> - type "ghs3d -h" in a Terminal. <p>
+<b>Advanced MG-Tertra Parameters (through Tepal_V1.4's --tetmesh_args)</b> - type "ghs3d -h" in a Terminal. <p>
\verbatim
myname@myhost > ghs3d -h
\endverbatim
\n
</li>
-<h1>Saving user's preferred GHS3DPRL Advanced Parameters</h1><br>
+<h1>Saving user's preferred MG-Tetra Parallel Advanced Parameters</h1><br>
GHS3DPRL Plugin launches standalone binary executable tepal2med.<br>
You may rename file tepal2med as tepal2med.exe for example, and replace
tepal2med by a shell script at your convenience to overriding parameters.
# 3D mesh with tepal
# ------------------
-algo3d = m.Tetrahedron(smeshBuilder.GHS3DPRL)
+algo3d = m.Tetrahedron(smeshBuilder.MG_Tetra_Parallel)
algo3d.SetMEDName(results)
algo3d.SetNbPart(4)
- Meshing 3D geometric entities: volumes are split into tetrahedral (pyramidal) elements.
- Generating 3D meshes from 2D meshes, working without geometrical objects.
-\note GHS3DPRLPLUGIN plugin used GHS3D commercial mesher and require a
+\note GHS3DPRLPLUGIN plugin uses MG-Tetra (former GHS3D) commercial mesher and require a
license to be used within the Mesh module.
To manage parameters of the GHS3DPRLPLUGIN use \subpage ghs3dprl_hypo_page.
server-lib="GHS3DPRLEngine"
gui-lib="GHS3DPRLPluginGUI">
<hypotheses>
- <hypothesis type="GHS3DPRL_Parameters"
- label-id="GHS3DPRL Parameters"
+ <hypothesis type="MG-Tetra Parallel Parameters"
+ label-id="MG-Tetra Parallel Parameters"
icon-id="mesh_hypo_GHS3DPRL.png"
dim="3"/>
</hypotheses>
<algorithms>
- <algorithm type="GHS3DPRL_3D"
- label-id="GHS3DPRL"
+ <algorithm type="MG-Tetra Parallel"
+ label-id="MG-Tetra Parallel"
icon-id="mesh_algo_GHS3DPRL.png"
- opt-hypos="GHS3DPRL_Parameters"
- input="TRIA,QUAD"
- output="TETRA,PYRAMID"
+ opt-hypos="MG-Tetra Parallel Parameters"
+ input="TRIA"
+ output="TETRA"
dim="3">
<python-wrap>
- <algo>GHS3DPRL_3D=Tetrahedron(algo=smeshBuilder.GHS3DPRL)</algo>
- <hypo>GHS3DPRL_Parameters=Parameters()</hypo>
+ <algo>MG-Tetra Parallel=Tetrahedron(algo=smeshBuilder.MG_Tetra_Parallel)</algo>
+ <hypo>MG-Tetra Parallel Parameters=Parameters()</hypo>
</python-wrap>
</algorithm>
# Mesh algo type identifiers
#----------------------------
-## Algorithm type: GHS3DPRL tetrahedron 3D algorithm, see GHS3DPRL_Algorithm
-GHS3DPRL = "GHS3DPRL_3D"
+## Algorithm type: MG-Tetra Parallel tetrahedron 3D algorithm, see GHS3DPRL_Algorithm
+MG_Tetra_Parallel = "MG-Tetra Parallel"
+GHS3DPRL = MG_Tetra_Parallel
#----------------------------
# Algorithms
## Tetrahedron GHS3DPRL 3D algorithm
#
-# It can be created by calling smeshBuilder.Mesh.Tetrahedron( smeshBuilder.GHS3DPRL, geom=0 )
+# It can be created by calling smeshBuilder.Mesh.Tetrahedron( smeshBuilder.MG_Tetra_Parallel )
class GHS3DPRL_Algorithm(Mesh_Algorithm):
## name of the dynamic method in smeshBuilder.Mesh class
Mesh_Algorithm.__init__(self)
if noGHS3DPRLPlugin: print "Warning: GHS3DPRLPlugin module unavailable"
self.Create(mesh, geom, self.algoType, "libGHS3DPRLEngine.so")
+ self.params = None
pass
## Defines hypothesis having several parameters
# @return hypothesis object
def Parameters(self):
if not self.params:
- self.params = self.Hypothesis("GHS3DPRL_Parameters", [],
+ self.params = self.Hypothesis("MG-Tetra Parallel Parameters", [],
"libGHS3DPRLEngine.so", UseExisting=0)
pass
return self.params
: SMESH_3D_Algo(hypId, studyId, gen)
{
MESSAGE("GHS3DPRLPlugin_GHS3DPRL::GHS3DPRLPlugin_GHS3DPRL");
- _name = "GHS3DPRL_3D";
+ _name = "MG-Tetra Parallel";
_shapeType = (1 << TopAbs_SHELL) | (1 << TopAbs_SOLID);// 1 bit /shape type
_countSubMesh=0;
_nodeRefNumber=0;
- _compatibleHypothesis.push_back("GHS3DPRL_Parameters");
+ _compatibleHypothesis.push_back(GHS3DPRLPlugin_Hypothesis::GetHypType());
}
//=============================================================================
theHyp = (*itl); // use only the first hypothesis
string hypName = theHyp->GetName();
- if (hypName == "GHS3DPRL_Parameters")
+ if (hypName == GHS3DPRLPlugin_Hypothesis::GetHypType())
{
_hypothesis = static_cast<const GHS3DPRLPlugin_Hypothesis*> (theHyp);
ASSERT(_hypothesis);
_ToMeshHoles( GetDefaultToMeshHoles() )
{
MESSAGE("GHS3DPRLPlugin_Hypothesis::GHS3DPRLPlugin_Hypothesis");
- _name = "GHS3DPRL_Parameters";
+ _name = GetHypType();
_param_algo_dim = 3;
}
*/
//================================================================================
bool GHS3DPRLPlugin_Hypothesis::SetParametersByMesh(const SMESH_Mesh* theMesh,
- const TopoDS_Shape& theShape)
+ const TopoDS_Shape& theShape)
{
return false;
}
GHS3DPRLPlugin_Hypothesis(int hypId, int studyId, SMESH_Gen* gen);
+ static const char* GetHypType() { return "MG-Tetra Parallel Parameters"; }
+
void SetMEDName(std::string theVal);
std::string GetMEDName() const { return _MEDName; }
//=============================================================================
GHS3DPRLPlugin_Hypothesis_i::
GHS3DPRLPlugin_Hypothesis_i (PortableServer::POA_ptr thePOA,
- int theStudyId,
- ::SMESH_Gen* theGenImpl)
+ int theStudyId,
+ ::SMESH_Gen* theGenImpl)
: SALOME::GenericObj_i( thePOA ),
SMESH_Hypothesis_i( thePOA )
{
MESSAGE( "GHS3DPRLPlugin_Hypothesis_i::GHS3DPRLPlugin_Hypothesis_i" );
myBaseImpl = new ::GHS3DPRLPlugin_Hypothesis (theGenImpl->GetANewId(),
- theStudyId,
- theGenImpl);
+ theStudyId,
+ theGenImpl);
}
//=============================================================================
MESSAGE("GHS3DPRLPlugin_Hypothesis_i::SetMEDName");
ASSERT(myBaseImpl);
this->GetImpl()->SetMEDName(theValue);
- SMESH::TPythonDump() << _this() << ".SetMEDName( " << theValue << " )";
+ SMESH::TPythonDump() << _this() << ".SetMEDName( '" << theValue << "' )";
}
void GHS3DPRLPlugin_Hypothesis_i::SetNbPart (CORBA::Long theValue)
{
MESSAGE("GHS3DPRLPlugin_Hypothesis_i::GetMEDName");
ASSERT(myBaseImpl);
- CORBA::String_var c_s =
+ CORBA::String_var c_s =
CORBA::string_dup(this->GetImpl()->GetMEDName().c_str());
return c_s._retn();
}
GenericHypothesisCreator_i* aCreator = 0;
// Algorithms
- if (strcmp(aHypName, "GHS3DPRL_3D") == 0)
+ if (strcmp(aHypName, "GHS3DPRL_3D") == 0 ||
+ strcmp(aHypName, "MG-Tetra Parallel") == 0)
aCreator = new GHS3DPRLPlugin_Creator_i<GHS3DPRLPlugin_GHS3DPRL_i>;
// Hypotheses
- else if (strcmp(aHypName, "GHS3DPRL_Parameters") == 0)
+ else if (strcmp(aHypName, "GHS3DPRL_Parameters") == 0 ||
+ strcmp(aHypName, "MG-Tetra Parallel Parameters") == 0)
aCreator = new GHS3DPRLPlugin_Creator_i<GHS3DPRLPlugin_Hypothesis_i>;
else ;
GHS3DPRLPLUGINGUI_EXPORT SMESHGUI_GenericHypothesisCreator* GetHypothesisCreator( const QString& aHypType )
{
SMESHGUI_GenericHypothesisCreator* aCreator = NULL;
- if( aHypType=="GHS3DPRL_Parameters" )
- aCreator = new GHS3DPRLPluginGUI_HypothesisCreator( aHypType );
+ if( aHypType=="GHS3DPRL_Parameters" ||
+ aHypType=="MG-Tetra Parallel Parameters")
+ aCreator = new GHS3DPRLPluginGUI_HypothesisCreator( "MG-Tetra Parallel Parameters" );
return aCreator;
}
}
<translation>mesh_hypo_GHS3DPRL.png</translation>
</message>
<message>
- <source>ICON_SMESH_TREE_ALGO_GHS3DPRL_2D3D</source>
+ <source>ICON_SMESH_TREE_ALGO_MG-Tetra Parallel</source>
<translation>mesh_tree_algo_GHS3DPRL.png</translation>
</message>
<message>
<translation>mesh_tree_algo_GHS3DPRL.png</translation>
</message>
<message>
- <source>ICON_SMESH_TREE_HYPO_GHS3DPRL_Parameters</source>
+ <source>ICON_SMESH_TREE_HYPO_MG-Tetra Parallel Parameters</source>
<translation>mesh_tree_hypo_GHS3DPRL.png</translation>
</message>
<message>
<name>@default</name>
<message>
<source>GHS3DPRL_3D_HYPOTHESIS</source>
- <translation>GHS3DPRL 3D</translation>
+ <translation>MG-Tetra Parallel Parameters</translation>
</message>
<message>
<source>GHS3DPRL_3D_TITLE</source>