Commit 6ca45404 authored by Kenneth Leiter's avatar Kenneth Leiter
Browse files

ENH: Remove high order hexahedrons as they are deprecated in this version.

Numbering was changed in Xdmf2, and the old numbering causes confusion.
parent 30176696
......@@ -63,8 +63,6 @@ SET( XdmfModelSource
XdmfDsmBuffer
XdmfDsmComm
XdmfDsmMsg
XdmfHex64Generator
XdmfHex125Generator
)
SET(CSHARP_SOURCES
......
......@@ -47,8 +47,6 @@ swig -v -c++ -make_default -includeall -shadow -java $(ICE_INCLUDES) -o XdmfJava
#include <XdmfRegion.h>
#include <XdmfSet.h>
#include <XdmfMap.h>
#include <XdmfHex64Generator.h>
#include <XdmfHex125Generator.h>
/*
#include <XdmfParameter.h>
#include <XdmfTransform.h>
......@@ -132,8 +130,6 @@ inline XDMF_LONG64 XDMF_strtoll(char *str, void*, int)
%include XdmfRegion.h
%include XdmfSet.h
%include XdmfMap.h
%include XdmfHex64Generator.h
%include XdmfHex125Generator.h
/*
%include XdmfParameter.h
%include XdmfTransform.h
......
# This file was automatically generated by SWIG (http://www.swig.org).
# Version 1.3.37
# Version 2.0.3
#
# Do not make changes to this file unless you know what you are doing--modify
# the SWIG interface file instead.
......@@ -10,12 +10,18 @@ if version_info >= (2,6,0):
def swig_import_helper():
from os.path import dirname
import imp
fp = None
try:
fp, pathname, description = imp.find_module('_Xdmf', [dirname(__file__)])
_mod = imp.load_module('_Xdmf', fp, pathname, description)
finally:
if fp is not None: fp.close()
return _mod
except ImportError:
import _Xdmf
return _Xdmf
if fp is not None:
try:
_mod = imp.load_module('_Xdmf', fp, pathname, description)
finally:
fp.close()
return _mod
_Xdmf = swig_import_helper()
del swig_import_helper
else:
......@@ -105,7 +111,7 @@ class XdmfObject(_object):
def DebugOff(self): return _Xdmf.XdmfObject_DebugOff(self)
def GlobalDebugOn(self): return _Xdmf.XdmfObject_GlobalDebugOn(self)
def GlobalDebugOff(self): return _Xdmf.XdmfObject_GlobalDebugOff(self)
def GetUniqueName(self, NameBase = None): return _Xdmf.XdmfObject_GetUniqueName(self, NameBase)
def GetUniqueName(self, NameBase = 0): return _Xdmf.XdmfObject_GetUniqueName(self, NameBase)
XdmfObject_swigregister = _Xdmf.XdmfObject_swigregister
XdmfObject_swigregister(XdmfObject)
......@@ -164,7 +170,7 @@ class XdmfLightData(XdmfObject):
XdmfLightData_swigregister = _Xdmf.XdmfLightData_swigregister
XdmfLightData_swigregister(XdmfLightData)
def GetUnique(Pattern = None):
def GetUnique(Pattern = 0):
return _Xdmf.GetUnique(Pattern)
GetUnique = _Xdmf.GetUnique
......@@ -516,15 +522,15 @@ class XdmfDOM(XdmfLightData):
def GenerateTail(self): return _Xdmf.XdmfDOM_GenerateTail(self)
def GetTree(self): return _Xdmf.XdmfDOM_GetTree(self)
def __Parse(self, *args): return _Xdmf.XdmfDOM___Parse(self, *args)
def Parse(self, xml = None): return _Xdmf.XdmfDOM_Parse(self, xml)
def Parse(self, xml = 0): return _Xdmf.XdmfDOM_Parse(self, xml)
def GetRoot(self): return _Xdmf.XdmfDOM_GetRoot(self)
def GetNumberOfChildren(self, node = None): return _Xdmf.XdmfDOM_GetNumberOfChildren(self, node)
def GetNumberOfChildren(self, node = 0): return _Xdmf.XdmfDOM_GetNumberOfChildren(self, node)
def GetChild(self, *args): return _Xdmf.XdmfDOM_GetChild(self, *args)
def GetNumberOfAttributes(self, *args): return _Xdmf.XdmfDOM_GetNumberOfAttributes(self, *args)
def GetAttributeName(self, *args): return _Xdmf.XdmfDOM_GetAttributeName(self, *args)
def IsChild(self, *args): return _Xdmf.XdmfDOM_IsChild(self, *args)
def Serialize(self, node = None): return _Xdmf.XdmfDOM_Serialize(self, node)
def Write(self, Output = None): return _Xdmf.XdmfDOM_Write(self, Output)
def Serialize(self, node = 0): return _Xdmf.XdmfDOM_Serialize(self, node)
def Write(self, Output = 0): return _Xdmf.XdmfDOM_Write(self, Output)
def Insert(self, *args): return _Xdmf.XdmfDOM_Insert(self, *args)
def InsertFromString(self, *args): return _Xdmf.XdmfDOM_InsertFromString(self, *args)
def Create(self, RootElementName = "Xdmf", Version = "2.0"): return _Xdmf.XdmfDOM_Create(self, RootElementName, Version)
......@@ -532,7 +538,7 @@ class XdmfDOM(XdmfLightData):
def DeleteNode(self, *args): return _Xdmf.XdmfDOM_DeleteNode(self, *args)
def FindElement(self, *args): return _Xdmf.XdmfDOM_FindElement(self, *args)
def FindNextElement(self, *args): return _Xdmf.XdmfDOM_FindNextElement(self, *args)
def FindDataElement(self, Index = 0, Node = None, IgnoreInfo = 1): return _Xdmf.XdmfDOM_FindDataElement(self, Index, Node, IgnoreInfo)
def FindDataElement(self, Index = 0, Node = 0, IgnoreInfo = 1): return _Xdmf.XdmfDOM_FindDataElement(self, Index, Node, IgnoreInfo)
def FindElementByAttribute(self, *args): return _Xdmf.XdmfDOM_FindElementByAttribute(self, *args)
def FindElementByPath(self, *args): return _Xdmf.XdmfDOM_FindElementByPath(self, *args)
def FindNumberOfElements(self, *args): return _Xdmf.XdmfDOM_FindNumberOfElements(self, *args)
......@@ -762,7 +768,7 @@ class XdmfHeavyData(XdmfDataDesc):
def SetPath(self, *args): return _Xdmf.XdmfHeavyData_SetPath(self, *args)
def GetAccess(self): return _Xdmf.XdmfHeavyData_GetAccess(self)
def SetAccess(self, *args): return _Xdmf.XdmfHeavyData_SetAccess(self, *args)
def Open(self, name = None, access = None): return _Xdmf.XdmfHeavyData_Open(self, name, access)
def Open(self, name = 0, access = 0): return _Xdmf.XdmfHeavyData_Open(self, name, access)
def Read(self, array = None): return _Xdmf.XdmfHeavyData_Read(self, array)
def Write(self, *args): return _Xdmf.XdmfHeavyData_Write(self, *args)
def Close(self): return _Xdmf.XdmfHeavyData_Close(self)
......@@ -872,7 +878,7 @@ class XdmfHDF(XdmfHeavyData):
def Info(self, *args): return _Xdmf.XdmfHDF_Info(self, *args)
def GetChildType(self, *args): return _Xdmf.XdmfHDF_GetChildType(self, *args)
def GetChildTypeAsString(self, *args): return _Xdmf.XdmfHDF_GetChildTypeAsString(self, *args)
def CreateDataset(self, Path = None): return _Xdmf.XdmfHDF_CreateDataset(self, Path)
def CreateDataset(self, Path = 0): return _Xdmf.XdmfHDF_CreateDataset(self, Path)
def OpenDataset(self): return _Xdmf.XdmfHDF_OpenDataset(self)
def DoOpen(self, *args): return _Xdmf.XdmfHDF_DoOpen(self, *args)
def DoRead(self, *args): return _Xdmf.XdmfHDF_DoRead(self, *args)
......@@ -946,17 +952,18 @@ XDMF_WEDGE = _Xdmf.XDMF_WEDGE
XDMF_HEX = _Xdmf.XDMF_HEX
XDMF_EDGE_3 = _Xdmf.XDMF_EDGE_3
XDMF_TRI_6 = _Xdmf.XDMF_TRI_6
XDMF_TRI_7 = _Xdmf.XDMF_TRI_7
XDMF_QUAD_6 = _Xdmf.XDMF_QUAD_6
XDMF_QUAD_8 = _Xdmf.XDMF_QUAD_8
XDMF_QUAD_9 = _Xdmf.XDMF_QUAD_9
XDMF_TET_10 = _Xdmf.XDMF_TET_10
XDMF_PYRAMID_13 = _Xdmf.XDMF_PYRAMID_13
XDMF_WEDGE_12 = _Xdmf.XDMF_WEDGE_12
XDMF_WEDGE_15 = _Xdmf.XDMF_WEDGE_15
XDMF_WEDGE_18 = _Xdmf.XDMF_WEDGE_18
XDMF_HEX_20 = _Xdmf.XDMF_HEX_20
XDMF_HEX_24 = _Xdmf.XDMF_HEX_24
XDMF_HEX_27 = _Xdmf.XDMF_HEX_27
XDMF_HEX_64 = _Xdmf.XDMF_HEX_64
XDMF_HEX_125 = _Xdmf.XDMF_HEX_125
XDMF_MIXED = _Xdmf.XDMF_MIXED
XDMF_2DSMESH = _Xdmf.XDMF_2DSMESH
XDMF_2DRECTMESH = _Xdmf.XDMF_2DRECTMESH
......@@ -1325,44 +1332,6 @@ class XdmfMap(XdmfElement):
XdmfMap_swigregister = _Xdmf.XdmfMap_swigregister
XdmfMap_swigregister(XdmfMap)
class XdmfHex64Generator(_object):
__swig_setmethods__ = {}
__setattr__ = lambda self, name, value: _swig_setattr(self, XdmfHex64Generator, name, value)
__swig_getmethods__ = {}
__getattr__ = lambda self, name: _swig_getattr(self, XdmfHex64Generator, name)
__repr__ = _swig_repr
Normal = _Xdmf.XdmfHex64Generator_Normal
Spectral = _Xdmf.XdmfHex64Generator_Spectral
def __init__(self):
this = _Xdmf.new_XdmfHex64Generator()
try: self.this.append(this)
except: self.this = this
__swig_destroy__ = _Xdmf.delete_XdmfHex64Generator
__del__ = lambda self : None;
def Generate(self, *args): return _Xdmf.XdmfHex64Generator_Generate(self, *args)
def Split(self, *args): return _Xdmf.XdmfHex64Generator_Split(self, *args)
XdmfHex64Generator_swigregister = _Xdmf.XdmfHex64Generator_swigregister
XdmfHex64Generator_swigregister(XdmfHex64Generator)
class XdmfHex125Generator(_object):
__swig_setmethods__ = {}
__setattr__ = lambda self, name, value: _swig_setattr(self, XdmfHex125Generator, name, value)
__swig_getmethods__ = {}
__getattr__ = lambda self, name: _swig_getattr(self, XdmfHex125Generator, name)
__repr__ = _swig_repr
Normal = _Xdmf.XdmfHex125Generator_Normal
Spectral = _Xdmf.XdmfHex125Generator_Spectral
def __init__(self):
this = _Xdmf.new_XdmfHex125Generator()
try: self.this.append(this)
except: self.this = this
__swig_destroy__ = _Xdmf.delete_XdmfHex125Generator
__del__ = lambda self : None;
def Generate(self, *args): return _Xdmf.XdmfHex125Generator_Generate(self, *args)
def Split(self, *args): return _Xdmf.XdmfHex125Generator_Split(self, *args)
XdmfHex125Generator_swigregister = _Xdmf.XdmfHex125Generator_swigregister
XdmfHex125Generator_swigregister(XdmfHex125Generator)
XDMF_DSM_OPCODE_DONE = _Xdmf.XDMF_DSM_OPCODE_DONE
XDMF_DSM_TYPE_UNIFORM = _Xdmf.XDMF_DSM_TYPE_UNIFORM
XDMF_DSM_TYPE_UNIFORM_RANGE = _Xdmf.XDMF_DSM_TYPE_UNIFORM_RANGE
......
This diff is collapsed.
/*******************************************************************/
/* XDMF */
/* eXtensible Data Model and Format */
/* */
/* Id : Id */
/* Date : $Date$ */
/* Version : $Revision$ */
/* */
/* Author: */
/* Kenneth Leiter */
/* kenneth.leiter@arl.army.mil */
/* US Army Research Laboratory */
/* Aberdeen Proving Ground, MD */
/* */
/* Copyright @ 2009 US Army Research Laboratory */
/* All Rights Reserved */
/* See Copyright.txt or http://www.arl.hpc.mil/ice for details */
/* */
/* This software is distributed WITHOUT ANY WARRANTY; without */
/* even the implied warranty of MERCHANTABILITY or FITNESS */
/* FOR A PARTICULAR PURPOSE. See the above copyright notice */
/* for more information. */
/* */
/*******************************************************************/
class XdmfGrid;
#include "XdmfObject.h"
/*!
* @brief XdmfHex125Generator generates a 125-noded tri-quartic hexahedron
* mesh from an XdmfGrid containing linear hexahedron elements.
*/
class XdmfHex125Generator
{
public:
enum Type { Normal, Spectral };
/*!
* Constructor.
*/
XdmfHex125Generator();
/*!
* Destructor.
*/
~XdmfHex125Generator();
/*!
* Take an XdmfGrid containing linear hexahedron elements and convert to
* 125-noded tri-quartic hexahedron elements.
*
* @param grid an XdmfGrid containing XDMF_HEX topoology to convert.
* @param parentElement the XdmfElement to insert the grid into.
*
* @return a pointer to the converted XdmfGrid.
*/
XdmfGrid * Generate(XdmfGrid * grid, XdmfElement * parentElement, Type type = Normal);
/*!
* Take an XdmfGrid containing tri-quartic hexahedron elements and convert to
* linear hexahedron grid (split each tri-quartic element into linear hexahedron elements).
*
* @param grid an XdmfGrid containing XDMF_HEX_125 topology to split.
* @param parentElement the XdmfElement to insert the grid into.
* @param splitAttributes whether to split attributes in the grid.
*
* @return a pointer to the split XdmfGrid.
*/
XdmfGrid * Split(XdmfGrid * grid,
XdmfElement * parentElement,
bool splitAttributes = true);
private:
// Operations used to generate elements
class Operations;
class NormalOperations;
class SpectralOperations;
};
This diff is collapsed.
/*******************************************************************/
/* XDMF */
/* eXtensible Data Model and Format */
/* */
/* Id : Id */
/* Date : $Date$ */
/* Version : $Revision$ */
/* */
/* Author: */
/* Kenneth Leiter */
/* kenneth.leiter@arl.army.mil */
/* US Army Research Laboratory */
/* Aberdeen Proving Ground, MD */
/* */
/* Copyright @ 2009 US Army Research Laboratory */
/* All Rights Reserved */
/* See Copyright.txt or http://www.arl.hpc.mil/ice for details */
/* */
/* This software is distributed WITHOUT ANY WARRANTY; without */
/* even the implied warranty of MERCHANTABILITY or FITNESS */
/* FOR A PARTICULAR PURPOSE. See the above copyright notice */
/* for more information. */
/* */
/*******************************************************************/
class XdmfGrid;
#include "XdmfObject.h"
/*!
* @brief XdmfHex64Generator generates a 64-noded tri-cubic hexahedron
* mesh from an XdmfGrid containing linear hexahedron elements.
*/
class XdmfHex64Generator
{
public:
enum Type { Normal, Spectral };
/*!
* Constructor.
*/
XdmfHex64Generator();
/*!
* Destructor.
*/
~XdmfHex64Generator();
/*!
* Take an XdmfGrid containing linear hexahedron elements and convert to
* 64-noded tri-cubic hexahedron elements.
*
* @param grid an XdmfGrid containing XDMF_HEX topoology to convert.
* @param parentElement the XdmfElement to insert the grid into.
*
* @return a pointer to the converted XdmfGrid.
*/
XdmfGrid * Generate(XdmfGrid * grid, XdmfElement * parentElement, Type type = Normal);
/*!
* Take an XdmfGrid containing tri-cubic hexahedron elements and convert to
* linear hexahedron grid (split each tri-cubic element into 27 linear hexahedron elements).
*
* @param grid an XdmfGrid containing XDMF_HEX_64 topology to split.
* @param parentElement the XdmfElement to insert the grid into.
* @param splitAttributes a bool whether to split attributes in the mesh.
*
* @return a pointer to the split XdmfGrid.
*/
XdmfGrid * Split(XdmfGrid * grid,
XdmfElement * parentElement,
bool splitAttributes = true);
private:
// Operations used to generate elements
class Operations;
class NormalOperations;
class SpectralOperations;
};
This diff is collapsed.
......@@ -514,10 +514,6 @@ if ( XDMF_WORD_CMP( topologyType, "NOTOPOLOGY") ){
newTopologyType = XDMF_HEX_24;
} else if( XDMF_WORD_CMP( topologyType, "HEXAHEDRON_27") ){
newTopologyType = XDMF_HEX_27;
} else if( XDMF_WORD_CMP( topologyType, "HEXAHEDRON_64") ){
newTopologyType = XDMF_HEX_64;
} else if( XDMF_WORD_CMP( topologyType, "HEXAHEDRON_125") ){
newTopologyType = XDMF_HEX_125;
} else if( XDMF_WORD_CMP( topologyType, "MIXED") ){
newTopologyType = XDMF_MIXED;
} else if( XDMF_WORD_CMP( topologyType, "2DSMESH") ){
......@@ -593,10 +589,6 @@ XdmfTopology::GetTopologyTypeAsString( void ) {
return("Hexahedron_24");
case XDMF_HEX_27 :
return("Hexahedron_27");
case XDMF_HEX_64 :
return("Hexahedron_64");
case XDMF_HEX_125 :
return("Hexahedron_125");
case XDMF_MIXED :
return("Mixed");
case XDMF_2DSMESH :
......@@ -694,12 +686,6 @@ XdmfInt32 nodesPerElement = 0;
case XDMF_HEX_27 :
nodesPerElement = 27;
break;
case XDMF_HEX_64 :
nodesPerElement = 64;
break;
case XDMF_HEX_125 :
nodesPerElement = 125;
break;
case XDMF_MIXED :
nodesPerElement = 0;
break;
......@@ -891,12 +877,6 @@ if(this->TopologyType == XDMF_MIXED){
case XDMF_HEX_27 :
npe = 27;
break;
case XDMF_HEX_64 :
npe = 64;
break;
case XDMF_HEX_125 :
npe = 125;
break;
default :
XdmfErrorMessage("Unknown Cell Type = " << celltype);
break;
......@@ -1115,8 +1095,6 @@ XdmfTopology::GetEdgesPerElement() {
case XDMF_HEX_20 :
case XDMF_HEX_24 :
case XDMF_HEX_27 :
case XDMF_HEX_64 :
case XDMF_HEX_125 :
return 12;
case XDMF_MIXED :
case XDMF_2DSMESH :
......@@ -1174,8 +1152,6 @@ XdmfTopology::GetFacesPerElement() {
case XDMF_HEX_20 :
case XDMF_HEX_24 :
case XDMF_HEX_27 :
case XDMF_HEX_64 :
case XDMF_HEX_125 :
return 6;
case XDMF_MIXED :
case XDMF_2DSMESH :
......
......@@ -58,8 +58,6 @@
#define XDMF_HEX_20 0x0030
#define XDMF_HEX_24 0x0031
#define XDMF_HEX_27 0x0032
#define XDMF_HEX_64 0x0033
#define XDMF_HEX_125 0x0034
#define XDMF_MIXED 0x0070
#define XDMF_2DSMESH 0x0100
#define XDMF_2DRECTMESH 0x0101
......
......@@ -94,8 +94,6 @@ XdmfGrid * XdmfPartitioner::Partition(XdmfGrid * grid,
case(XDMF_HEX_20):
case(XDMF_HEX_24):
case(XDMF_HEX_27):
case(XDMF_HEX_64):
case(XDMF_HEX_125):
metisElementType = 3;
numNodesPerElement = 8;
break;
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment