Advertisement
jbjares

pakreader_12052015

May 12th, 2015
513
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 30.38 KB | None | 0 0
  1.  
  2. import java.util.HashMap;
  3. import java.util.Map;
  4. import java.util.regex.Matcher;
  5. import java.util.regex.Pattern;
  6.  
  7. import eu.sifem.utils.BasicFileTools;
  8.  
  9. public class PakCDatReaderLatest {
  10.  
  11.  
  12.     private PakCData pakCdata = new PakCData();
  13.  
  14.     //private static String cardInfoPatternString = "C\\s*/(\\d*)/\\s*([\\w\\s]*)\\((.*)\\)";
  15.     private static String card1PatternString = "C\\s*/\\s*1\\s*\\/.*\\sC.*\\s(.*)";
  16.     private static String card2PatternString = "C\\s*/\\s*2\\s*/.*\\s*C\\s*.*\\s(.{5})";
  17.     private static String card3PatternString = "C\\s*/\\s*3\\s*/\\s*.*\\sC.*\\s(.{10})(.{5})(.{5})(.{5})(.{5})(.{5})";
  18.     private static String card4PatternString = "C\\s*/\\s*4\\s*/.*\\sC.*\\s(.{5})(.{5})(.{5})(.{5})(.{10})(.{10})(.{5})(.{5})(.{10})"; 
  19.     private static String card5PatternString = "C\\s*/\\s*5\\s*/.*\\sC.*\\s(.{5})";
  20.     private static String card6PatternString = "C\\s*/\\s*6\\s*/.*\\sC\\s*.*\\s(.{5})(.{10})";
  21.     private static String card7TextPatternString = "C\\s*/\\s*7\\s*/.*\\sC.*\\)(.*)C\\s*/\\s*8\\s*/";
  22.     private static String card7PatternString = ".{5}(.{5}).{1}(.{2})(.{2})(.{2})(.{2})(.{2})(.{2})(.{2})(.{2}).{2}(.{15})(.{15})(.{15})";
  23.     private static String card8PatternString = "C\\s*/\\s*8/.*\\sC.*\\s(.{5})(.{10})(.{5})(.{5})(.{5})(.{5})";
  24.     //private static String card8PatternString = "C\\s*/\\s*8/.*\\sC.*\\s(.{5})(.{10})(.{5})(.{5})(.{5})(.{5})(.{5})";
  25.     private static String card8_1_aPatternString = "C\\s*/\\s*8\\s*-\\s*1.*\\sC.*\\s(.{5})(.{5})";
  26.     //private static String card8_1_bTextPatternString = "C\\s*/\\s*8\\s*-\\s*2.*\\sC.*\\)\\s*(.*)C\\s*/\\s*9";
  27.     //private static String card8_1_bTextPatternString = "C\\s*/\\s*8\\s*-\\s*2.*\\sC\\s*NN.*\\)\\s(.*)C\\s*/\\s*9\\s*/";  
  28.     //private static String card8_1_bTextPatternString = "C\\s*/\\s*8\\s*-\\s*2.*\\sC\\s*var.*Coefficient\\s(.*)C\\s*/\\s*9";
  29.     private static String card8_1_bTextPatternString = "C\\s*/\\s*8\\s*-\\s*2.*6\\)(.*)C\\s*/\\s*10";
  30.     private static String card8_1_bPatternString = "(.{10})(.{10})(.{10})(.{10})(.{10})(.{10})(.{10})(.{10})(.{10})(.{10})(.{15})(.{15})"; 
  31.     //private static String card9PatternString = "C\\s*/\\s*9\\s*/.*\\)\\s(.*)";
  32.     private static String card9PatternString = "C\\s*/\\s*9\\s*/.*\\sC.*\\s(.*)";
  33.     private static String card10PatternString = "C\\s*\\/\\s*10\\s*\\/.*\\sC.*\\s(.{10})(.{10})(.{10})(.{10})";
  34.     //private static String card11PatternString = "C\\s*\\/\\s*11\\s*\\/.*\\sC.*\\)\\s(.{10})(.{5})";
  35.     private static String card11PatternString = "C\\s*\\/\\s*11\\s*\\/.*\\sC.*\\s(.{10})(.{5})";
  36.     //private static String card11_secondTextPatternString = "C\\s*\\/\\s*11\\s*\\/.*\\sC.*\\)\\s.*\\sC.*\\)(.)*C\\s*/\\s*12";
  37.     //private static String card11_secondTextPatternString = "C\\s*\\/\\s*11\\s*.*\\sC\\s*MAXSIL(.*)C\\s*/\\s*12\\s*/";
  38.     //private static String card11_secondTextPatternString = "C\\s*\\/\\s*11\\s*.*\\sC.*IVal4(.*)C\\s*/\\s*12\\s*/";
  39.     private static String card11_secondTextPatternString = "C\\s*\\/\\s*11\\s*.*\\sC.*F10.3\\)(.*)C\\s*/12/";  
  40.     private static String card11_secondPatternString = "(.{10})(.{10})(.{10})(.{10})(.{10})(.{10})(.{10})(.{10})(.{10})(.{10})";
  41.     //private static String card12_1_numberPatternString = "C\\s*\\/\\s*12-1\\s*\\/\\s*NUMBER.*\\s(.{5})";
  42.     private static String card12_1_numberPatternString = "C\\s*\\/\\s*12-1\\s*\\/\\s*NUMBER.*\\sC.*\\s(.{5})"; 
  43.     //private static String card12_1_a_materialCommonPatternString = "C\\s*\\/\\s*12-1\\s*\\/\\s*MATERIAL.*\\sC.*\\s(.{5})(.{5})(.{5})(.{5})";
  44.     private static String card12_1_a_materialCommonPatternString = "C\\s*\\/\\s*12-1\\s*\\/\\s*MATERIAL.*\\sC.*\\sC.*\\s(.{5})(.{5})(.{5})(.{5})";
  45.     //private static String card12_1_a_materialType1_1PatternString = "C\\s*\\/\\s*12-1\\s*\\/\\s*MATERIAL.*\\sC.*\\s.*\\sC\\s*YOUNG.*\\s(.{10})(.{10})(.{10})";
  46.     private static String card12_1_a_materialType1_1PatternString = "C\\s*\\/\\s*12-1\\s*\\/\\s*MATERIAL.*\\sC.*\\sC.*\\s.*\\sC.*Young.*\\s(.{10})(.{10})(.{10})";
  47.     //private static String card12_1_a_materialType1_2PatternString = "C\\s*\\/\\s*12-1\\s*\\/\\s*MATERIAL.*\\sC.*\\s.*\\sC\\s*YOUNG.*\\s.*\\sC\\s*POROSITY.*\\s(.{10})(.{10})(.{10})(.{10})";
  48.     private static String card12_1_a_materialType1_2PatternString = "C\\s*\\/\\s*12-1\\s*\\/\\s*MATERIAL.*\\sC.*\\sC.*\\s.*\\sC.*Young.*\\s.*\\sC.*Porosity.*\\s(.{10})(.{10})(.{10})(.{10})";
  49.     //private static String card12_1_a_materialType2_1PatternString = "C\\s*\\/\\s*12-1\\s*\\/\\s*MATERIAL.*\\sC.*\\s.*\\sC\\s*DENS.*\\s(.{10})(.{10})";
  50.     private static String card12_1_a_materialType2_1PatternString = "C\\s*\\/\\s*12-1\\s*\\/\\s*MATERIAL.*\\sC.*\\sC.*\\s.*\\sC.*Density.*\\s(.{10})(.{10})";
  51.     //private static String card12_1_a_materialType2_2PatternString = "C\\s*\\/\\s*12-1\\s*\\/\\s*MATERIAL.*\\sC.*\\s.*\\sC\\s*DENS.*\\s.*\\sC\\s*POROSITY.*\\s(.{10})(.{10})(.{10})(.{10})";
  52.     private static String card12_1_a_materialType2_2PatternString = "C\\s*\\/\\s*12-1\\s*\\/\\s*MATERIAL.*\\sC.*\\sC.*\\s.*\\sC.*Density.*\\s.*\\sC.*Porosity.*\\s(.{10})(.{10})(.{10})(.{10})";
  53.     private static String card13PatternString = "C\\s*\\/\\s*13\\s*\\/.*\\sC\\s*.*\\s(.{10})(.{5})";   
  54.     private static String card13_1_aPatternString = "C\\s*\\/\\s*13-1\\s*\\/.*\\sC.*\\sC.*\\s(.{10})(.{5})";
  55.     //private static String card13_1_bTextPatternString = "C\\s*\\/\\s*13-1\\s*\\/.*\\sC.*\\sC.*\\s.*\\sC.*\\sC.*\\)\\s(.*)C\\s*/\\s*14";
  56.     //private static String card13_1_bTextPatternString = "C\\s*\\/13-1\\s*\\/.*IMAX\\)\\s(.*)C\\s*/14\\s*/\\s*FORCES";
  57.     //private static String card13_1_bTextPatternString = "C\\s*/13-1\\s*/.*FN2IBRJ\\s(.*)C\\s*/14\\s*/";
  58.     private static String card13_1_bTextPatternString = "C\\s*/13-1\\s*/.*IMAX\\)(.*)\\sC\\s*a";
  59.     private static String card13_1_bPatternString = "(.{10})(.{10})";  
  60.     private static String card14PatternString = "C\\s*\\/\\s*14\\s*\\/\\s*FORCES\\sC.*\\s(.{10})";
  61.     //private static String card14_1TextPatternString = "C\\s*\\/\\s*14-1\\s*\\s*.*\\sC.*\\)(.*)C";
  62.     //private static String card14_1TextPatternString = "C\\s*\\/\\s*14-1\\s*/.*\\sC.*Values\\s(.*)C\\s*/\\s*16\\s*/";
  63.     private static String card14_1TextPatternString = "C\\s*\\/\\s*14-1\\s*/.*\\sC.*VALUES.*\\)\\s(.*)C\\s*/\\s*16\\s*/";
  64.     private static String card14_1PatternString = "(.{10})(.{5})(.{10})(.{10})";
  65.     //private static String card16PatternString = "C\\s*/\\s*16\\s*.*\\sSTOP";
  66.     private static String card16PatternString = "C\\s*/\\s*16\\s*/.*FINAL";
  67.  
  68.     //private static Pattern cardInfoPattern = Pattern.compile(cardInfoPatternString);
  69.     private static Pattern card1Pattern = Pattern.compile(card1PatternString);
  70.     private static Pattern card2Pattern = Pattern.compile(card2PatternString);
  71.     private static Pattern card3Pattern = Pattern.compile(card3PatternString);
  72.     private static Pattern card4Pattern = Pattern.compile(card4PatternString);
  73.     private static Pattern card5Pattern = Pattern.compile(card5PatternString);
  74.     private static Pattern card6Pattern = Pattern.compile(card6PatternString);
  75.     private static Pattern card7TextPattern = Pattern.compile(card7TextPatternString, Pattern.DOTALL);
  76.     private static Pattern card7Pattern = Pattern.compile(card7PatternString);
  77.     private static Pattern card8Pattern = Pattern.compile(card8PatternString);
  78.     private static Pattern card8_1_aPattern = Pattern.compile(card8_1_aPatternString);
  79.     private static Pattern card8_1_bTextPattern = Pattern.compile(card8_1_bTextPatternString, Pattern.DOTALL); 
  80.     private static Pattern card8_1_bPattern = Pattern.compile(card8_1_bPatternString);
  81.     private static Pattern card9Pattern = Pattern.compile(card9PatternString);
  82.     private static Pattern card10Pattern = Pattern.compile(card10PatternString);
  83.     private static Pattern card11Pattern = Pattern.compile(card11PatternString);
  84.     private static Pattern card11_secondTextPattern = Pattern.compile(card11_secondTextPatternString, Pattern.DOTALL);
  85.     private static Pattern card11_secondPattern = Pattern.compile(card11_secondPatternString);
  86.     private static Pattern card12_1_numberPattern = Pattern.compile(card12_1_numberPatternString);
  87.     private static Pattern card12_1_a_materialCommonPattern = Pattern.compile(card12_1_a_materialCommonPatternString);
  88.     private static Pattern card12_1_a_materialType1_1Pattern = Pattern.compile(card12_1_a_materialType1_1PatternString);
  89.     private static Pattern card12_1_a_materialType1_2Pattern = Pattern.compile(card12_1_a_materialType1_2PatternString);
  90.     private static Pattern card12_1_a_materialType2_1Pattern = Pattern.compile(card12_1_a_materialType2_1PatternString);
  91.     private static Pattern card12_1_a_materialType2_2Pattern = Pattern.compile(card12_1_a_materialType2_2PatternString);
  92.     private static Pattern card13Pattern = Pattern.compile(card13PatternString);
  93.     private static Pattern card13_1_aPattern = Pattern.compile(card13_1_aPatternString);
  94.     private static Pattern card13_1_bTextPattern = Pattern.compile(card13_1_bTextPatternString, Pattern.DOTALL);
  95.     private static Pattern card13_1_bPattern = Pattern.compile(card13_1_bPatternString);
  96.     private static Pattern card14Pattern = Pattern.compile(card14PatternString);
  97.     private static Pattern card14_1TextPattern = Pattern.compile(card14_1TextPatternString, Pattern.DOTALL);
  98.     private static Pattern card14_1Pattern = Pattern.compile(card14_1PatternString);
  99.     private static Pattern card16Pattern = Pattern.compile(card16PatternString);
  100.  
  101.  
  102.     public PakCData read(String pakCfilePath) {
  103.         String text = BasicFileTools.extractText(pakCfilePath);
  104.         //Matcher cardInfoMatcher = cardInfoPattern.matcher(text);
  105.         Matcher card1PatternMatcher = card1Pattern.matcher(text);
  106.         Matcher card2PatternMatcher = card2Pattern.matcher(text);
  107.         Matcher card3PatternMatcher = card3Pattern.matcher(text);
  108.         Matcher card4PatternMatcher = card4Pattern.matcher(text);
  109.         Matcher card5PatternMatcher = card5Pattern.matcher(text);
  110.         Matcher card6PatternMatcher = card6Pattern.matcher(text);
  111.  
  112.         Matcher card7TextPatternMatcher = card7TextPattern.matcher(text);
  113.         Matcher card7PatternMatcher = null;
  114.         String card7Text = null;
  115.         if(card7TextPatternMatcher.find())
  116.             card7Text = card7TextPatternMatcher.group(1);
  117.         if(card7Text!= null)
  118.             card7PatternMatcher = card7Pattern.matcher(card7Text);
  119.  
  120.         Matcher card8PatternMatcher = card8Pattern.matcher(text);
  121.         Matcher card8_1_aPatternMatcher = card8_1_aPattern.matcher(text);      
  122.         Matcher card8_1_bTextPatternMatcher = card8_1_bTextPattern.matcher(text);
  123.         Matcher card8_1_bPatternMatcher = null;
  124.         String card8_1_bText = null;
  125.         if(card8_1_bTextPatternMatcher.find())
  126.             card8_1_bText = card8_1_bTextPatternMatcher.group(1);      
  127.         if(card8_1_bText!= null)
  128.             card8_1_bPatternMatcher = card8_1_bPattern.matcher(card8_1_bText);     
  129.  
  130.         Matcher card9PatternMatcher = card9Pattern.matcher(text);
  131.         Matcher card10PatternMatcher = card10Pattern.matcher(text);
  132.         Matcher card11PatternMatcher = card11Pattern.matcher(text);    
  133.         Matcher card11_secondTextPatternMatcher = card11_secondTextPattern.matcher(text);
  134.         Matcher card11_secondPatternMatcher = null;
  135.         String card11_secondText = null;
  136.         if(card11_secondTextPatternMatcher.find())
  137.             card11_secondText = card11_secondTextPatternMatcher.group(1);
  138.         if(card11_secondText != null)
  139.             card11_secondPatternMatcher = card11_secondPattern.matcher(card11_secondText);             
  140.  
  141.         Matcher card12_1_numberPatternMatcher = card12_1_numberPattern.matcher(text);
  142.         Matcher card12_1_a_materialCommonPatternMatcher = card12_1_a_materialCommonPattern.matcher(text);      
  143.         Matcher card12_1_a_materialType1_1PatternMatcher = card12_1_a_materialType1_1Pattern.matcher(text);
  144.         Matcher card12_1_a_materialType1_2PatternMatcher = card12_1_a_materialType1_2Pattern.matcher(text);
  145.         Matcher card12_1_a_materialType2_1PatternMatcher = card12_1_a_materialType2_1Pattern.matcher(text);
  146.         Matcher card12_1_a_materialType2_2PatternMatcher = card12_1_a_materialType2_2Pattern.matcher(text);
  147.  
  148.         Matcher card13PatternMatcher = card13Pattern.matcher(text);
  149.         Matcher card13_1_aPatternMatcher = card13_1_aPattern.matcher(text);
  150.         Matcher card13_1_bTextPatternMatcher = card13_1_bTextPattern.matcher(text);
  151.         Matcher card13_1_bPatternMatcher = null;
  152.         String card13_1_bText = null;
  153.         if(card13_1_bTextPatternMatcher.find())
  154.             card13_1_bText = card13_1_bTextPatternMatcher.group(1);
  155.         if(card13_1_bText != null)
  156.             card13_1_bPatternMatcher = card13_1_bPattern.matcher(card13_1_bText);
  157.  
  158.         Matcher card14PatternMatcher = card14Pattern.matcher(text);
  159.         Matcher card14_1TextPatternMatcher = card14_1TextPattern.matcher(text);
  160.         Matcher card14_1PatternMatcher = null;
  161.         String card14_1Text = null;
  162.         if(card14_1TextPatternMatcher.find())
  163.             card14_1Text = card14_1TextPatternMatcher.group(1);
  164.         if(card14_1Text != null)
  165.             card14_1PatternMatcher = card14_1Pattern.matcher(card14_1Text);
  166.  
  167.         Matcher card16PatternMatcher = card16Pattern.matcher(text);
  168.  
  169. //      while(cardInfoMatcher.find()){
  170. //          String cardNumber = cardInfoMatcher.group(1).trim();
  171. //          String cardName = cardInfoMatcher.group(2).trim();
  172. //          String cardReadFormat = cardInfoMatcher.group(3).trim();
  173. //          //  System.out.println(cardNumber + "\t" + cardName + "\t" + cardReadFormat);
  174. //      }  
  175.  
  176.         while(card1PatternMatcher.find()){
  177.             String title = card1PatternMatcher.group(1).trim();
  178.             pakCdata.card1.put(PakCData.Card1.TITLE.toString(), title);
  179.             //  System.out.println(title);
  180.         }
  181.  
  182.         while(card2PatternMatcher.find()){
  183.             String indfor = card2PatternMatcher.group(1).trim();
  184.             pakCdata.card2.put(PakCData.Card2.INDFOR.toString(), indfor);      
  185.         }
  186.  
  187.         while(card3PatternMatcher.find()){
  188.             String np = card3PatternMatcher.group(1).trim();
  189.             pakCdata.card3.put(PakCData.Card3.NP.toString(), np);          
  190.             String nget = card3PatternMatcher.group(2).trim();
  191.             pakCdata.card3.put(PakCData.Card3.NGET.toString(), nget);          
  192.             String nmatm = card3PatternMatcher.group(3).trim();
  193.             pakCdata.card3.put(PakCData.Card3.NMATM.toString(), nmatm);        
  194.             String nstac = card3PatternMatcher.group(4).trim();
  195.             pakCdata.card3.put(PakCData.Card3.NDIN.toString(), nstac);         
  196.             String nper = card3PatternMatcher.group(5).trim();
  197.             pakCdata.card3.put(PakCData.Card3.NPER.toString(), nper);          
  198.             String prin = card3PatternMatcher.group(6).trim();
  199.             pakCdata.card3.put(PakCData.Card3.PRINT.toString(), prin);         
  200.             //  System.out.println(np + "\t" + nget + "\t" + nmatm +
  201.             //          "\t" + nstac + "\t" + nper + "\t" + prin + "\t");
  202.         }
  203.  
  204.         while(card4PatternMatcher.find()){
  205.             String inteb = card4PatternMatcher.group(1).trim();
  206.             pakCdata.card4.put(PakCData.Card4.INTEB.toString(), inteb);        
  207.             String indsc = card4PatternMatcher.group(2).trim();
  208.             pakCdata.card4.put(PakCData.Card4.INDSC.toString(), indsc);    
  209.             String iform = card4PatternMatcher.group(3).trim();
  210.             pakCdata.card4.put(PakCData.Card4.IFORM.toString(), iform);                
  211.             String maxit = card4PatternMatcher.group(4).trim();
  212.             pakCdata.card4.put(PakCData.Card4.MAXIT.toString(), maxit);    
  213.             String epsta = card4PatternMatcher.group(5).trim();
  214.             pakCdata.card4.put(PakCData.Card4.EPSTA.toString(), epsta);    
  215.             String epstr = card4PatternMatcher.group(6).trim();
  216.             pakCdata.card4.put(PakCData.Card4.EPSTR.toString(), epstr);    
  217.             String njrap = card4PatternMatcher.group(7).trim();
  218.             pakCdata.card4.put(PakCData.Card4.NJRAP.toString(), njrap);    
  219.             String isolver = card4PatternMatcher.group(8).trim();
  220.             pakCdata.card4.put(PakCData.Card4.ISOLVER.toString(), isolver);
  221.             String frequency = card4PatternMatcher.group(9).trim();
  222.             pakCdata.card4.put(PakCData.Card4.FREQUENCY.toString(), frequency);        
  223.             //  System.out.println(inteb + "\t" + indsc + "\t" + iform + "\t" + maxit +
  224.             //          "\t" + epsta + "\t" + epstr + "\t" + njrap + "\t" + isolver + "\t" + frequency);
  225.         }
  226.  
  227.         while(card5PatternMatcher.find()){
  228.             String irest = card5PatternMatcher.group(1).trim();
  229.             pakCdata.card5.put(PakCData.Card5.IREST.toString(), irest);
  230.             //  System.out.println(irest);
  231.         }
  232.  
  233.         while(card6PatternMatcher.find()){
  234.             String ndti = card6PatternMatcher.group(1).trim();
  235.             String timei = card6PatternMatcher.group(2).trim();
  236.             pakCdata.card6.put(PakCData.Card6.NDTI.toString(), ndti);
  237.             pakCdata.card6.put(PakCData.Card6.TIMEI.toString(), timei);        
  238.             //  System.out.println(ndti + "\t" + timei);
  239.         }
  240.  
  241.         int count = 1;
  242.         while(card7PatternMatcher.find()) {
  243.             Map<String, String> card7Row = new HashMap<String, String>();
  244.             String n = card7PatternMatcher.group(1).trim();
  245.             card7Row.put(PakCData.Card7.N.toString(), n);          
  246.             String i1 = card7PatternMatcher.group(2).trim();
  247.             card7Row.put(PakCData.Card7.I1.toString(), i1);
  248.             String i2 = card7PatternMatcher.group(3).trim();
  249.             card7Row.put(PakCData.Card7.I2.toString(), i2);        
  250.             String i3 = card7PatternMatcher.group(4).trim();
  251.             card7Row.put(PakCData.Card7.I3.toString(), i3);        
  252.             String i4 = card7PatternMatcher.group(5).trim();
  253.             card7Row.put(PakCData.Card7.I4.toString(), i4);        
  254.             String i5 = card7PatternMatcher.group(6).trim();
  255.             card7Row.put(PakCData.Card7.I5.toString(), i5);        
  256.             String i6 = card7PatternMatcher.group(7).trim();
  257.             card7Row.put(PakCData.Card7.I6.toString(), i6);        
  258.             String i7 = card7PatternMatcher.group(8).trim();
  259.             card7Row.put(PakCData.Card7.I7.toString(), i7);        
  260.             String i8 = card7PatternMatcher.group(9).trim();
  261.             card7Row.put(PakCData.Card7.I8.toString(), i8);        
  262.             String cord1nx = card7PatternMatcher.group(10).trim();
  263.             card7Row.put(PakCData.Card7.CORD1NX.toString(), cord1nx);          
  264.             String cord2ny = card7PatternMatcher.group(11).trim();
  265.             card7Row.put(PakCData.Card7.CORD2NY.toString(), cord2ny);          
  266.             String cord3nz = card7PatternMatcher.group(12).trim();
  267.             card7Row.put(PakCData.Card7.CORD3NZ.toString(), cord3nz);      
  268.             pakCdata.card7.put(String.valueOf(count++), card7Row);
  269.             //System.out.println(n + "\t" + i1 + "\t" + i2 + "\t" + i3 + "\t" + i4 +
  270.             //      "\t" + i5 + "\t" + i6 + "\t" + i7 + "\t" + i8  + cord1nx + "\t" + cord2ny + "\t" + cord3nz + "\t");        
  271.         }
  272.  
  273.         while(card8PatternMatcher.find()) {
  274.             String netip = card8PatternMatcher.group(1).trim();        
  275.             String net = card8PatternMatcher.group(2).trim();
  276.             String indax = card8PatternMatcher.group(3).trim();
  277.             String iatyp = card8PatternMatcher.group(4).trim();
  278.             String nmodm = card8PatternMatcher.group(5).trim();
  279.             String ipn = card8PatternMatcher.group(6).trim();
  280.             //String unknown1 = card8PatternMatcher.group(7).trim();
  281.             pakCdata.card8.put(PakCData.Card8.NETIP.toString(), netip);
  282.             pakCdata.card8.put(PakCData.Card8.NET.toString(), net);
  283.             pakCdata.card8.put(PakCData.Card8.INDAX.toString(), indax);
  284.             pakCdata.card8.put(PakCData.Card8.IATYP.toString(), iatyp);    
  285.             pakCdata.card8.put(PakCData.Card8.NMODM.toString(), nmodm);    
  286.             pakCdata.card8.put(PakCData.Card8.IPN.toString(), ipn);    
  287.             //pakCdata.card8.put(PakCData.Card8.Unknown1.toString(), unknown1);    
  288.             //System.out.println(netip + "\t" + net + "\t" + indax + "\t" + iatyp + "\t" + nmodm +
  289.             //      "\t" + ipn + "\t" + unknown1);
  290.         }  
  291.  
  292.         while(card8_1_aPatternMatcher.find()) {
  293.             String np2dmx = card8_1_aPatternMatcher.group(1).trim();
  294.             String iswell = card8_1_aPatternMatcher.group(2).trim();
  295.             pakCdata.card8_1_a.put(PakCData.Card8_1_a.NP2DMX.toString(), np2dmx);
  296.             pakCdata.card8_1_a.put(PakCData.Card8_1_a.ISWELL.toString(), iswell);          
  297.             //System.out.println(np2dmx + "\t" + iswell);
  298.         }
  299.  
  300.         count = 1;
  301.         while(card8_1_bPatternMatcher.find()) {
  302.             Map<String, String> card8_1_bRow = new HashMap<String, String>();
  303.             String nn = card8_1_bPatternMatcher.group(1).trim();
  304.             card8_1_bRow.put(PakCData.Card8_1_b.NN.toString(), nn);        
  305.             String nel1 = card8_1_bPatternMatcher.group(2).trim();
  306.             card8_1_bRow.put(PakCData.Card8_1_b.NEL1.toString(), nel1);
  307.             String nel2 = card8_1_bPatternMatcher.group(3).trim();
  308.             card8_1_bRow.put(PakCData.Card8_1_b.NEL2.toString(), nel2);
  309.             String nel3 = card8_1_bPatternMatcher.group(4).trim();
  310.             card8_1_bRow.put(PakCData.Card8_1_b.NEL3.toString(), nel3);
  311.             String nel4 = card8_1_bPatternMatcher.group(5).trim();
  312.             card8_1_bRow.put(PakCData.Card8_1_b.NEL4.toString(), nel4);
  313.             String nel5 = card8_1_bPatternMatcher.group(6).trim();
  314.             card8_1_bRow.put(PakCData.Card8_1_b.NEL5.toString(), nel5);
  315.             String nel6 = card8_1_bPatternMatcher.group(7).trim();
  316.             card8_1_bRow.put(PakCData.Card8_1_b.NEL6.toString(), nel6);
  317.             String nel7 = card8_1_bPatternMatcher.group(8).trim();
  318.             card8_1_bRow.put(PakCData.Card8_1_b.NEL7.toString(), nel7);
  319.             String nel8 = card8_1_bPatternMatcher.group(9).trim();
  320.             card8_1_bRow.put(PakCData.Card8_1_b.NEL8.toString(), nel8);
  321.             String materialId = card8_1_bPatternMatcher.group(10).trim();
  322.             card8_1_bRow.put(PakCData.Card8_1_b.MaterialID.toString(), materialId);
  323.             String youngsMod = card8_1_bPatternMatcher.group(11).trim();
  324.             card8_1_bRow.put(PakCData.Card8_1_b.YoungsModulus.toString(), youngsMod);
  325.             String dampCoeff = card8_1_bPatternMatcher.group(12).trim();
  326.             card8_1_bRow.put(PakCData.Card8_1_b.DampingCoefficient.toString(), dampCoeff);
  327.             //System.out.println(nel1 + "\t" + nel2 + "\t" + nel3 + "\t" + nel4 +
  328.             //      "\t" + nel5 + "\t" + nel6 + "\t" + nel7 + "\t" + nel8 + "\t" +
  329.             //      materialId + "\t" + youngsMod + "\t" + dampCoeff);                 
  330.             pakCdata.card8_1_b.put(String.valueOf(count++), card8_1_bRow);
  331.         }
  332.  
  333.         while(card9PatternMatcher.find()){
  334.             String numzad = card9PatternMatcher.group(1).trim();
  335.             pakCdata.card9.put(PakCData.Card9.Numzad.toString(), numzad);
  336.             //System.out.println(numzad);
  337.         }
  338.  
  339.         while(card10PatternMatcher.find()){
  340.             String qx0 = card10PatternMatcher.group(1).trim();
  341.             String qy0 = card10PatternMatcher.group(2).trim();
  342.             String qz0 = card10PatternMatcher.group(3).trim();
  343.             String p0 = card10PatternMatcher.group(4).trim();          
  344.             pakCdata.card10.put(PakCData.Card10.Qx0.toString(), qx0);
  345.             pakCdata.card10.put(PakCData.Card10.Qy0.toString(), qy0);
  346.             pakCdata.card10.put(PakCData.Card10.Qz0.toString(), qz0);
  347.             pakCdata.card10.put(PakCData.Card10.p0.toString(), p0);
  348.             //  System.out.println(qx0 + "\t" + qy0 + "\t" + qz0 + "\t" + p0);
  349.         }
  350.  
  351.         while(card11PatternMatcher.find()){
  352.             String maxsil = card11PatternMatcher.group(1).trim();
  353.             String indpj = card11PatternMatcher.group(2).trim();
  354.             pakCdata.card11.put(PakCData.Card11.MAXSIL.toString(), maxsil);
  355.             pakCdata.card11.put(PakCData.Card11.INDPJ.toString(), indpj);      
  356.             //  System.out.println(maxsil + "\t" + indpj);
  357.         }
  358.  
  359.         count = 1;
  360.         while(card11_secondPatternMatcher.find()) {
  361.             Map<String, String> card11_secondMap = new HashMap<String, String>();
  362.             //Element, Node1, Node2, Node3, Node4, TimeFunc, IVal1, IVal2, IVal3, IVal4;
  363.             String element = card11_secondPatternMatcher.group(1).trim();
  364.             String node1 = card11_secondPatternMatcher.group(2).trim();
  365.             String node2 = card11_secondPatternMatcher.group(3).trim();
  366.             String node3 = card11_secondPatternMatcher.group(4).trim();
  367.             String node4 = card11_secondPatternMatcher.group(5).trim();
  368.             String timeFunc = card11_secondPatternMatcher.group(6).trim();
  369.             String ival1 = card11_secondPatternMatcher.group(7).trim();
  370.             String ival2 = card11_secondPatternMatcher.group(8).trim();
  371.             String ival3 = card11_secondPatternMatcher.group(9).trim();
  372.             String ival4 = card11_secondPatternMatcher.group(10).trim();
  373.             card11_secondMap.put(PakCData.Card11_second.Element.toString(), element);
  374.             card11_secondMap.put(PakCData.Card11_second.Node1.toString(), node1);
  375.             card11_secondMap.put(PakCData.Card11_second.Node2.toString(), node2);
  376.             card11_secondMap.put(PakCData.Card11_second.Node3.toString(), node3);
  377.             card11_secondMap.put(PakCData.Card11_second.Node4.toString(), node4);
  378.             card11_secondMap.put(PakCData.Card11_second.TimeFunc.toString(), timeFunc);
  379.             card11_secondMap.put(PakCData.Card11_second.IVal1.toString(), ival1);
  380.             card11_secondMap.put(PakCData.Card11_second.IVal2.toString(), ival2);
  381.             card11_secondMap.put(PakCData.Card11_second.IVal3.toString(), ival3);
  382.             card11_secondMap.put(PakCData.Card11_second.IVal4.toString(), ival4);
  383.             //  System.out.println(element + "\t"  + node1 + "\t" + node2 + "\t" + node3 + "\t" + node4 + "\t" +  
  384.             //      timeFunc + "\t" + ival1 + "\t" + ival2 + "\t" + ival3 + "\t" + ival4);
  385.             pakCdata.card11_second.put(String.valueOf(count++), card11_secondMap);
  386.         }
  387.  
  388.         while(card12_1_numberPatternMatcher.find()){
  389.             String number = card12_1_numberPatternMatcher.group(1).trim();
  390.             pakCdata.card12_1_number.put(PakCData.Card12_1_number.NoOfMaterials.toString(), number);
  391.         }
  392.  
  393.         count = 1;     
  394.         while(card12_1_a_materialCommonPatternMatcher.find()){
  395.             Map<String, String> card12_1_aMap = new HashMap<String, String>();
  396.             String model = card12_1_a_materialCommonPatternMatcher.group(1).trim();
  397.             card12_1_aMap.put(PakCData.Card12_1_a_materialCommon.Model.toString(), model);
  398.             String matid = card12_1_a_materialCommonPatternMatcher.group(2).trim();
  399.             card12_1_aMap.put(PakCData.Card12_1_a_materialCommon.MatId.toString(), matid);
  400.             String indjot = card12_1_a_materialCommonPatternMatcher.group(3).trim();
  401.             card12_1_aMap.put(PakCData.Card12_1_a_materialCommon.Indjot.toString(), indjot);
  402.             String mattype = card12_1_a_materialCommonPatternMatcher.group(4).trim();
  403.             card12_1_aMap.put(PakCData.Card12_1_a_materialCommon.Mattype.toString(), mattype);
  404.             pakCdata.card12_1_a_materialCommon.put(String.valueOf(count++), card12_1_aMap);
  405.         }      
  406.  
  407.         while(card12_1_a_materialType1_1PatternMatcher.find()){
  408.             String youngsMod = card12_1_a_materialType1_1PatternMatcher.group(1).trim();
  409.             String poissonRatio = card12_1_a_materialType1_1PatternMatcher.group(2).trim();
  410.             String density = card12_1_a_materialType1_1PatternMatcher.group(3).trim();         
  411.             pakCdata.card12_1_a_materialType1_1.put(PakCData.Card12_1_a_materialType1_1.YoungsModulus.toString(), youngsMod);
  412.             pakCdata.card12_1_a_materialType1_1.put(PakCData.Card12_1_a_materialType1_1.PoissonRatio.toString(), poissonRatio);
  413.             pakCdata.card12_1_a_materialType1_1.put(PakCData.Card12_1_a_materialType1_1.Density.toString(), density);          
  414.         }      
  415.  
  416.         while(card12_1_a_materialType1_2PatternMatcher.find()){
  417.             //Porosity, Permeability, BulkModuluesOfSolid, BulkModulusOfFluid;         
  418.             String porosity = card12_1_a_materialType1_2PatternMatcher.group(1).trim();
  419.             String permeability = card12_1_a_materialType1_2PatternMatcher.group(2).trim();
  420.             String solidBulkModulus = card12_1_a_materialType1_2PatternMatcher.group(3).trim();
  421.             String fluidBulkModulus = card12_1_a_materialType1_2PatternMatcher.group(4).trim();        
  422.             pakCdata.card12_1_a_materialType1_2.put(PakCData.Card12_1_a_materialType1_2.Porosity.toString(), porosity);
  423.             pakCdata.card12_1_a_materialType1_2.put(PakCData.Card12_1_a_materialType1_2.Permeability.toString(), permeability);
  424.             pakCdata.card12_1_a_materialType1_2.put(PakCData.Card12_1_a_materialType1_2.BulkModuluesOfSolid.toString(), solidBulkModulus); 
  425.             pakCdata.card12_1_a_materialType1_2.put(PakCData.Card12_1_a_materialType1_2.BulkModulusOfFluid.toString(), fluidBulkModulus);      
  426.         }
  427.  
  428.         while(card12_1_a_materialType2_1PatternMatcher.find()){
  429.             String fluidDensity = card12_1_a_materialType2_1PatternMatcher.group(1).trim();
  430.             String speedOfSound = card12_1_a_materialType2_1PatternMatcher.group(2).trim();
  431.             pakCdata.card12_1_a_materialType2_1.put(PakCData.Card12_1_a_materialType2_1.DensityFluid.toString(), fluidDensity);
  432.             pakCdata.card12_1_a_materialType2_1.put(PakCData.Card12_1_a_materialType2_1.SpeedOfSound.toString(), speedOfSound);
  433.         }      
  434.  
  435.         while(card12_1_a_materialType2_2PatternMatcher.find()){
  436.             //Porosity, Permeability, BulkModuluesOfSolid, BulkModulusOfFluid;         
  437.             String porosity = card12_1_a_materialType2_2PatternMatcher.group(1).trim();
  438.             String permeability = card12_1_a_materialType2_2PatternMatcher.group(2).trim();
  439.             String solidBulkModulus = card12_1_a_materialType2_2PatternMatcher.group(3).trim();
  440.             String fluidBulkModulus = card12_1_a_materialType2_2PatternMatcher.group(4).trim();        
  441.             pakCdata.card12_1_a_materialType2_2.put(PakCData.Card12_1_a_materialType1_2.Porosity.toString(), porosity);
  442.             pakCdata.card12_1_a_materialType2_2.put(PakCData.Card12_1_a_materialType1_2.Permeability.toString(), permeability);
  443.             pakCdata.card12_1_a_materialType2_2.put(PakCData.Card12_1_a_materialType1_2.BulkModuluesOfSolid.toString(), solidBulkModulus); 
  444.             pakCdata.card12_1_a_materialType2_2.put(PakCData.Card12_1_a_materialType1_2.BulkModulusOfFluid.toString(), fluidBulkModulus);      
  445.         }
  446.  
  447.         while(card13PatternMatcher.find()){
  448.             //  NTABFT, MAXTFT;        
  449.             String ntabft =     card13PatternMatcher.group(1).trim();
  450.             String maxtft =     card13PatternMatcher.group(2).trim();
  451.             pakCdata.card13.put(PakCData.Card13.NTABFT.toString(), ntabft);
  452.             pakCdata.card13.put(PakCData.Card13.MAXTFT.toString(), maxtft);
  453.         }
  454.  
  455.         while(card13_1_aPatternMatcher.find()){
  456.             //  IBR, IMAX; 
  457.             String ibr =    card13_1_aPatternMatcher.group(1).trim();
  458.             String imax =   card13_1_aPatternMatcher.group(2).trim();
  459.             pakCdata.card13_1_a.put(PakCData.Card13_1_aPattern.IBR.toString(), ibr);
  460.             pakCdata.card13_1_a.put(PakCData.Card13_1_aPattern.IMAX.toString(), imax);
  461.         }
  462.  
  463.         count = 1;     
  464.         while(card13_1_bPatternMatcher.find()){
  465.             System.out.println(count);
  466.             Map<String, String> map = new HashMap<String, String>();
  467.             //  FN1IBRJ, FN2IBRJ;  
  468.             String fn1ibrj = card13_1_bPatternMatcher.group(1).trim();
  469.             String fn2ibrj = card13_1_bPatternMatcher.group(2).trim();
  470.             map.put(PakCData.Card13_1_bPattern.FN1IBRJ.toString(), fn1ibrj);
  471.             map.put(PakCData.Card13_1_bPattern.FN2IBRJ.toString(), fn2ibrj);
  472.             pakCdata.card13_1_b.put(String.valueOf(count++), map);                 
  473.         }
  474.  
  475.         while(card14PatternMatcher.find()){
  476.             String numberOfForces = card14PatternMatcher.group(1).trim();
  477.             pakCdata.card14.put(PakCData.Card14Pattern.NumberOfForces.toString(), numberOfForces);
  478.         }
  479.  
  480.         count = 1;
  481.         while(card14_1PatternMatcher.find()){
  482.             System.out.println(count);
  483.             Map<String, String> map = new HashMap<String, String>();
  484.             String node = card14_1PatternMatcher.group(1).trim();
  485.             String ind = card14_1PatternMatcher.group(2).trim();
  486.             String timeFunc = card14_1PatternMatcher.group(3).trim();
  487.             String value = card14_1PatternMatcher.group(4).trim();
  488.             map.put(PakCData.Card14_1Pattern.Node.toString(), node);
  489.             map.put(PakCData.Card14_1Pattern.Ind.toString(), ind);
  490.             map.put(PakCData.Card14_1Pattern.TimeFunc.toString(), timeFunc);
  491.             map.put(PakCData.Card14_1Pattern.Values.toString(), value);
  492.             pakCdata.card14_1.put(String.valueOf(count++), map);                   
  493.         }
  494.  
  495.         if(card16PatternMatcher.find())
  496.             System.out.println("Stop Card Found");
  497.  
  498.         return pakCdata;
  499.     }  
  500.  
  501.  
  502.     public static void main(String[] args) {
  503.         PakCDatReaderLatest pakCReader = new PakCDatReaderLatest();
  504.         String pakCfilePath = "src/main/resources/PAK/Pak.dat";
  505.         PakCData pakCData1 = pakCReader.read(pakCfilePath);
  506.         System.out.println(pakCData1);
  507.         //System.out.println(pakCData1.card1.get(PakCData.Card1.TITLE.toString()));
  508.  
  509.     }
  510.  
  511. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement