Salome HOME
0020955: EDF 1493 SMESH: Bad import of .unv file
authoreap <eap@opencascade.com>
Mon, 9 Aug 2010 08:38:48 +0000 (08:38 +0000)
committereap <eap@opencascade.com>
Mon, 9 Aug 2010 08:38:48 +0000 (08:38 +0000)
  * Complete the set of readable 2D elements

src/DriverUNV/DriverUNV_R_SMDS_Mesh.cxx
src/DriverUNV/UNV2412_Structure.cxx

index bfb1d63945cb1080ba96989163be3bdea11b7057..24150eeda41d13b8ceef0f078128ef4db97c508a 100644 (file)
@@ -95,20 +95,24 @@ Driver_Mesh::Status DriverUNV_R_SMDS_Mesh::Perform()
         }
         else if(IsFace(aRec.fe_descriptor_id)) {
           switch(aRec.fe_descriptor_id){
-          case 71: // TRI3
-          case 72:
-          case 74:
-            
-          case 41: // Plane Stress Linear Triangle - TRI3
-          case 91: // Thin Shell Linear Triangle - TRI3
+          case 41: // Plane Stress Linear Triangle      
+          case 51: // Plane Strain Linear Triangle      
+          case 61: // Plate Linear Triangle             
+          case 74: // Membrane Linear Triangle          
+          case 81: // Axisymetric Solid Linear Triangle 
+          case 91: // Thin Shell Linear Triangle        
             anElement = myMesh->AddFaceWithID(aRec.node_labels[0],
                                               aRec.node_labels[1],
                                               aRec.node_labels[2],
                                               aLabel);
             break;
             
-          case 42: // Plane Stress Quadratic Triangle - TRI6
-          case 92: // Thin Shell Quadratic Triangle - TRI6
+          case 42: //  Plane Stress Parabolic Triangle       
+          case 52: //  Plane Strain Parabolic Triangle       
+          case 62: //  Plate Parabolic Triangle              
+          case 72: //  Membrane Parabolic Triangle           
+          case 82: //  Axisymetric Solid Parabolic Triangle  
+          case 92: //  Thin Shell Parabolic Triangle         
             anElement = myMesh->AddFaceWithID(aRec.node_labels[0],
                                               aRec.node_labels[2],
                                               aRec.node_labels[4],
@@ -118,8 +122,12 @@ Driver_Mesh::Status DriverUNV_R_SMDS_Mesh::Perform()
                                               aLabel);
             break;
             
-          case 44: // Plane Stress Linear Quadrilateral - QUAD4
-          case 94: // Thin Shell   Linear Quadrilateral -  QUAD4
+          case 44: // Plane Stress Linear Quadrilateral     
+          case 54: // Plane Strain Linear Quadrilateral     
+          case 64: // Plate Linear Quadrilateral            
+          case 71: // Membrane Linear Quadrilateral         
+          case 84: // Axisymetric Solid Linear Quadrilateral
+          case 94: // Thin Shell Linear Quadrilateral       
             anElement = myMesh->AddFaceWithID(aRec.node_labels[0],
                                               aRec.node_labels[1],
                                               aRec.node_labels[2],
@@ -127,8 +135,12 @@ Driver_Mesh::Status DriverUNV_R_SMDS_Mesh::Perform()
                                               aLabel);
             break;
             
-          case 45: // Plane Stress Quadratic Quadrilateral - QUAD8
-          case 95: // Thin Shell   Quadratic Quadrilateral - QUAD8
+          case 45: // Plane Stress Parabolic Quadrilateral      
+          case 55: // Plane Strain Parabolic Quadrilateral      
+          case 65: // Plate Parabolic Quadrilateral             
+          case 75: // Membrane Parabolic Quadrilateral          
+          case 85: // Axisymetric Solid Parabolic Quadrilateral 
+          case 95: // Thin Shell Parabolic Quadrilateral        
             anElement = myMesh->AddFaceWithID(aRec.node_labels[0],
                                               aRec.node_labels[2],
                                               aRec.node_labels[4],
index 893fa2391936c68d5fbee7e1ca3c1dfd7660a2bf..35cb62afe8cd553ad1515cd8596047ede9ab4b2d 100644 (file)
@@ -30,11 +30,155 @@ using namespace std;
 using namespace UNV;
 using namespace UNV2412;
 
-#ifdef _DEBUG_
-static int MYDEBUG = 1;
-#else
-static int MYDEBUG = 0;
-#endif
+// Universal Dataset Number 2412
+
+// Name:   Elements
+// Status: Current
+// Owner:  Simulation
+// Revision Date: 14-AUG-1992
+// -----------------------------------------------------------------------
+// Record 1:        FORMAT(6I10)
+//                  Field 1       -- element label
+//                  Field 2       -- fe descriptor id
+//                  Field 3       -- physical property table number
+//                  Field 4       -- material property table number
+//                  Field 5       -- color
+//                  Field 6       -- number of nodes on element
+// Record 2:  *** FOR NON-BEAM ELEMENTS ***
+//                  FORMAT(8I10)
+//                  Fields 1-n    -- node labels defining element
+// Record 2:  *** FOR BEAM ELEMENTS ONLY ***
+//                  FORMAT(3I10)
+//                  Field 1       -- beam orientation node number
+//                  Field 2       -- beam fore-end cross section number
+//                  Field 3       -- beam  aft-end cross section number
+// Record 3:  *** FOR BEAM ELEMENTS ONLY ***
+//                  FORMAT(8I10)
+//                  Fields 1-n    -- node labels defining element
+// Records 1 and 2 are repeated for each non-beam element in the model.
+// Records 1 - 3 are repeated for each beam element in the model.
+// Example:
+//     -1
+//   2412
+//          1        11         1      5380         7         2
+//          0         1         1
+//          1         2
+//          2        21         2      5380         7         2
+//          0         1         1
+//          3         4
+//          3        22         3      5380         7         2
+//          0         1         2
+//          5         6
+//          6        91         6      5380         7         3
+//         11        18        12
+//          9        95         6      5380         7         8
+//         22        25        29        30        31        26        24        23
+//         14       136         8         0         7         2
+//         53        54
+//         36       116        16      5380         7        20
+//        152       159       168       167       166       158       150       151
+//        154       170       169       153       157       161       173       172
+//        171       160       155       156
+//     -1
+
+// FE Descriptor Id definitions
+// ____________________________
+
+//    11  Rod
+//    21  Linear beam
+//    22  Tapered beam
+//    23  Curved beam
+//    24  Parabolic beam
+//    31  Straight pipe
+//    32  Curved pipe
+//    41  Plane Stress Linear Triangle
+//    42  Plane Stress Parabolic Triangle
+//    43  Plane Stress Cubic Triangle
+//    44  Plane Stress Linear Quadrilateral
+//    45  Plane Stress Parabolic Quadrilateral
+//    46  Plane Strain Cubic Quadrilateral
+//    51  Plane Strain Linear Triangle
+//    52  Plane Strain Parabolic Triangle
+//    53  Plane Strain Cubic Triangle
+//    54  Plane Strain Linear Quadrilateral
+//    55  Plane Strain Parabolic Quadrilateral
+//    56  Plane Strain Cubic Quadrilateral
+//    61  Plate Linear Triangle
+//    62  Plate Parabolic Triangle
+//    63  Plate Cubic Triangle
+//    64  Plate Linear Quadrilateral
+//    65  Plate Parabolic Quadrilateral
+//    66  Plate Cubic Quadrilateral
+//    71  Membrane Linear Quadrilateral
+//    72  Membrane Parabolic Triangle
+//    73  Membrane Cubic Triangle
+//    74  Membrane Linear Triangle
+//    75  Membrane Parabolic Quadrilateral
+//    76  Membrane Cubic Quadrilateral
+//    81  Axisymetric Solid Linear Triangle
+//    82  Axisymetric Solid Parabolic Triangle
+//    84  Axisymetric Solid Linear Quadrilateral
+//    85  Axisymetric Solid Parabolic Quadrilateral
+//    91  Thin Shell Linear Triangle
+//    92  Thin Shell Parabolic Triangle
+//    93  Thin Shell Cubic Triangle
+//    94  Thin Shell Linear Quadrilateral
+//    95  Thin Shell Parabolic Quadrilateral
+//    96  Thin Shell Cubic Quadrilateral
+//    101 Thick Shell Linear Wedge
+//    102 Thick Shell Parabolic Wedge
+//    103 Thick Shell Cubic Wedge
+//    104 Thick Shell Linear Brick
+//    105 Thick Shell Parabolic Brick
+//    106 Thick Shell Cubic Brick
+//    111 Solid Linear Tetrahedron
+//    112 Solid Linear Wedge
+//    113 Solid Parabolic Wedge
+//    114 Solid Cubic Wedge
+//    115 Solid Linear Brick
+//    116 Solid Parabolic Brick
+//    117 Solid Cubic Brick
+//    118 Solid Parabolic Tetrahedron
+//    121 Rigid Bar
+//    122 Rigid Element
+//    136 Node To Node Translational Spring
+//    137 Node To Node Rotational Spring
+//    138 Node To Ground Translational Spring
+//    139 Node To Ground Rotational Spring
+//    141 Node To Node Damper
+//    142 Node To Gound Damper
+//    151 Node To Node Gap
+//    152 Node To Ground Gap
+//    161 Lumped Mass
+//    171 Axisymetric Linear Shell
+//    172 Axisymetric Parabolic Shell
+//    181 Constraint
+//    191 Plastic Cold Runner
+//    192 Plastic Hot Runner
+//    193 Plastic Water Line
+//    194 Plastic Fountain
+//    195 Plastic Baffle
+//    196 Plastic Rod Heater
+//    201 Linear node-to-node interface
+//    202 Linear edge-to-edge interface
+//    203 Parabolic edge-to-edge interface
+//    204 Linear face-to-face interface
+//    208 Parabolic face-to-face interface
+//    212 Linear axisymmetric interface
+//    213 Parabolic axisymmetric interface
+//    221 Linear rigid surface
+//    222 Parabolic rigin surface
+//    231 Axisymetric linear rigid surface
+//    232 Axisymentric parabolic rigid surface
+
+
 
 static string _label_dataset = "2412";
 
@@ -158,31 +302,34 @@ bool UNV2412::IsBeam(int theFeDescriptorId){
 
 
 bool UNV2412::IsFace(int theFeDescriptorId){
-  switch (theFeDescriptorId){
+  return ( 41 <= theFeDescriptorId && theFeDescriptorId <= 96 );
+//   switch (theFeDescriptorId){
     
-  case 71: // TRI3
-  case 72:
-  case 74:
+//   case 71: // TRI3
+//   case 72:
+//   case 74:
 
-  case 41: // Plane Stress Linear Triangle - TRI3
-  case 91: // Thin Shell Linear Triangle - TRI3
+//   case 41: // Plane Stress Linear Triangle - TRI3
+//   case 51: // Plane Strain Linear Triangle
+//   case 91: // Thin Shell Linear Triangle - TRI3
 
-  case 42: // Plane Stress Quadratic Triangle - TRI6
-  case 92: // Thin Shell Quadratic Triangle - TRI6
+//   case 42: // Plane Stress Quadratic Triangle - TRI6
+//   case 52: // Plane Strain Parabolic Triangle
+//   case 92: // Thin Shell Quadratic Triangle - TRI6
 
-  case 43: // Plane Stress Cubic Triangle
+//   case 43: // Plane Stress Cubic Triangle
 
-  case 44: // Plane Stress Linear Quadrilateral - QUAD4
-  case 94: // Thin Shell   Linear Quadrilateral -  QUAD4
+//   case 44: // Plane Stress Linear Quadrilateral - QUAD4
+//   case 94: // Thin Shell   Linear Quadrilateral -  QUAD4
 
-  case 45: // Plane Stress Quadratic Quadrilateral - QUAD8
-  case 95: // Thin Shell   Quadratic Quadrilateral - QUAD8
+//   case 45: // Plane Stress Quadratic Quadrilateral - QUAD8
+//   case 95: // Thin Shell   Quadratic Quadrilateral - QUAD8
 
-  case 46: // Plane Stress Cubic Quadrilateral
+//   case 46: // Plane Stress Cubic Quadrilateral
 
-    return true;
-  }
-  return false;
+//     return true;
+//   }
+//  return false;
 }