N-value and refusal display on boring logs

I am using gINT V8i S s1 version 08.30.03.140. on  MS windows 2007.

 I have a question regarding changing the reporting of N-values on boring log reports. The project manager wants to show an N-value for the sum of both the  2nd and 3rd intervals and the sum of 3rd and 4th intervals of a 4 interval SPT sampling program. I am not sure how to accomplish this. Our current output calculates the N-value from the 2nd and 3rd intervals even if there are 4 intervals. Furthermore, our current output does not show an N-value if there is refusal on the SPT sample (e.g. 50/4). We are wanting to display the N-value even if there is refusal.

 Below is the user system data of the “blows and N value” and the “refusal Penetration” functions from our current library file. Any help on this matter would be much appreciated.

blows and N value

<<Let(Refusal Pen = <<User System Data.Refusal Penetration>>)>>_
<<Let(Blows =_
    <<Case(<<Get(Max Blows Pen Inches)>>,
           =18,<<SAMPLE.Blows 3rd>>,_
           =12,<<SAMPLE.Blows 2nd>>,_
           =6,<<SAMPLE.Blows 1st>>_
     )>>_
)>>_
_
<<ListBuildSepTrim(_
  -,_
  <<SAMPLE.Blows 1st>>,_
  <<SAMPLE.Blows 2nd>>,_
  <<SAMPLE.Blows 3rd>>,_
  <<SAMPLE.Blows 4th>>_
)>>_
<<HasData(<<Get(Refusal Pen)>>,_
  /<<Get(Refusal Pen)>>,_
  <<DelimitData(_
    <<cr>>(,_
    <<Calc(<<SAMPLE.Blows 2nd>> + <<SAMPLE.Blows 3rd>>)>>,_
    )_
  )>>_
)>>

 

Refusal Penetration

<<IIF(<<PROJECT.Output Units>> = "M",_
  <<Let(Interval = 15)>>,_
  <<Let(Interval = 6)>>_
)>>_
<<Let(Pen Inches = _
   <<Format(_
     <<Case(<<PROJECT.Output Units>>,_
         <><<PROJECT.Input Units>>,_
           <<UnitsConvert(<<SAMPLE.Length>>,_
             <<IIF(<<PROJECT.Output Units>>="M",_
               <<Let(Factor E to M = 30.48)>>,_
               <<Let(Factor E to M = 1/0.3048*12)>>_
             )>>_
            <<Get(Factor E to M)>>_
           )>><<Let(Formatting=0.0)>>,_
       ="E",<<Calc(<<SAMPLE.Length>>*12)>><<Let(Formatting=0)>>,_
       ="M",<<Calc(<<SAMPLE.Length>>*100)>><<Let(Formatting=0)>>,_
     )>>,_
  <<Get(Formatting)>>)>>_
)>>_
_
<<Let(Max Blows Pen Inches = _
  <<Calc(_
    <<DataCount(_
      <<SAMPLE.Blows 1st>>,_
      <<SAMPLE.Blows 2nd>>,_
      <<SAMPLE.Blows 3rd>>,_
      <<SAMPLE.Blows 4th>>_
    )>> * <<Get(Interval)>>_
  )>>_
)>>_
_
<<IIf(<<HasData(<<Get(Pen Inches)>>)>> And _
      <<HasData(<<SAMPLE.Blows 1st>>)>>,_
  <<IIf(<<Get(Pen Inches)>> < <<Get(Max Blows Pen Inches)>>,_
    <<Format(_
      <<MaxVal(_
        <<Calc(<<Get(Interval)>> - (<<Get(Max Blows Pen Inches)>> - <<Get(Pen Inches)>>))>>,_
        0.00_
      )>>,_
      <<Get(Formatting)>>_
    )>>_
  )>>_
)>>

  • Hi DOUGRASZ,

    Using the suggested changes below, a sample with four sets of blows (4, 5, 6, and 7 respectively) and 24 inches of penetration will give you the following output:

    4-5-6-7
    N1(11)
    N2(13)

    ==========================================

    blows and N value

    <<Let(Refusal Pen = <<User System Data.Refusal Penetration>>)>>_
    <<Let(Blows =_
    <<Case(<<Get(Max Blows Pen Inches)>>,
    =18,<<SAMPLE.Blows 3rd>>,_
    =12,<<SAMPLE.Blows 2nd>>,_
    =6,<<SAMPLE.Blows 1st>>_
    )>>_
    )>>_
    _
    <<ListBuildSepTrim(_
    -,_
    <<SAMPLE.Blows 1st>>,_
    <<SAMPLE.Blows 2nd>>,_
    <<SAMPLE.Blows 3rd>>,_
    <<SAMPLE.Blows 4th>>_
    )>>_
    <<HasData(<<Get(Refusal Pen)>>,_
    /<<Get(Refusal Pen)>>,_
    <<ListBuildSepTrim(<<cr>>,_
    <<DelimitData(<<cr>>N1(,<<Calc(<<SAMPLE.Blows 2nd>> + <<SAMPLE.Blows 3rd>>)>>,))>>,_
    <<DelimitData(N2(,<<Calc(<<SAMPLE.Blows 3rd>> + <<SAMPLE.Blows 4th>>)>>,))>>_
    )>>_
    )>>
    
    

    ==========================================

    Please let me know if this solves your issue.
    Best Regards,
    -- 
    Johnny Martel
    Geotechnical Data Services 
    gINT Software Specialist
    Tel +34 617-217-012
    Los Angeles, USA
    Barcelona, SPAIN
  • Thanks a lot jmartel. that worked perfectly. I really appreciate your help. I can do gint basics but the more involved programing sometimes gives me problems.

    btw, do you have any aid on the second issued I asked about regarding why an N-value does not show up when there is refusal. I know that some folks consider there to be no N-value in that case. but others consider the refusal to be the N-value while others still would add the 50 and the previous interval to get an N-value.

    I assume that there is a way to get something to show up.

    thanks again,

    Doug

  • You're welcome Doug! I'm glad I could help. 

    The reason you were getting no N value with refusal present was due to the conditional statement below which states that if there is refusal then print only the refusal penetration, otherwise print only the N1 and N2.  

    <<HasData(<<Get(Refusal Pen)>>,_
    /<<Get(Refusal Pen)>>,_
    <<ListBuildSepTrim(<<cr>>,_
    <<DelimitData(<<cr>>N1(,<<Calc(<<SAMPLE.Blows 2nd>> + <<SAMPLE.Blows 3rd>>)>>,))>>,_
    <<DelimitData(N2(,<<Calc(<<SAMPLE.Blows 3rd>> + <<SAMPLE.Blows 4th>>)>>,))>>_
    )>>_
    )>>

    I'm not sure I understood correctly what what you wanted but the following will give you an N equal to 50 + the final interval if there is refusal present. So for example if you have a sample length of 17 inches and three intervals 4-5-49 respectively, your output will be...

    4-5-49/5.0
    N(99)
    Otherwise it will still print N1 if there are data in blows 2nd and 3rd and print N2 if there are data in blows 3rd and 4th. 

    ==========================================

    Blows and N Value

    <<Let(Refusal Pen = <<User System Data.Refusal Penetration>>)>>_
    _
    <<Let(N1 = <<DelimitData(N1(,<<Calc(<<SAMPLE.Blows 2nd>> + <<SAMPLE.Blows 3rd>>)>>,))>>)>>_
    _
    <<Let(N2 = <<DelimitData(N2(,<<Calc(<<SAMPLE.Blows 3rd>> + <<SAMPLE.Blows 4th>>)>>,))>>)>>_
    _
    <<Let(Final Interval = _
    <<FirstData(_
    <<SAMPLE.Blows 4th>>,_
    <<SAMPLE.Blows 3rd>>,_
    <<SAMPLE.Blows 2nd>>,_
    <<SAMPLE.Blows 1st>>_
    )>>_
    )>>_
    _
    <<ListBuildSepTrim(_
    -,_
    <<SAMPLE.Blows 1st>>,_
    <<SAMPLE.Blows 2nd>>,_
    <<SAMPLE.Blows 3rd>>,_
    <<SAMPLE.Blows 4th>>_
    )>>_
    <<HasData(<<Get(Refusal Pen)>>,_
    /<<Get(Refusal Pen)>><<cr>>N(<<Calc(<<Get(Final Interval)>> + 50)>>),_
    <<cr>>_
    <<ListBuildSepTrim(<<cr>>,_
    <<Get(N1)>>,_
    <<Get(N2)>>_
    )>>_
    )>>
    -- 
    Johnny Martel
    Geotechnical Data Services 
    gINT Software Specialist
    Tel +34 617-217-012
    Los Angeles, USA
    Barcelona, SPAIN
  • jmartel

    after speaking to the PM once again, he wants the N-value for a refusal to be displayed as the full refusal (e.g. 50/2 or 50/4), not just 50, nor 50 plus the previous interval blows. but we need this to be the displayed N-value regardless of which interval refusal occurs (1, 2, 3, or 4). so ultimately we hope to show the N-values of both the 2nd+3rd interval and the 3rd+4th interval (as you help with yesterday), but if refusal occurs at any interval, then the N-value shall be (50/x). I made multiple attempts ot alter the last code that you sent to have this output, but alas I have been unsuccessful. would you please be able to help with this one last issue.

    thanks again,

    Doug

  • Try this

    ==========================================

    Blows and N Value

    <<Let(Refusal Pen = <<User System Data.Refusal Penetration>>)>>_
    _
    <<Let(N1 = <<Calc(<<SAMPLE.Blows 2nd>> + <<SAMPLE.Blows 3rd>>)>>)>>_
    _
    <<Let(N2 = <<Calc(<<SAMPLE.Blows 3rd>> + <<SAMPLE.Blows 4th>>)>>)>>_
    _
    <<ListBuildSepTrim(_
    -,_
    <<SAMPLE.Blows 1st>>,_
    <<SAMPLE.Blows 2nd>>,_
    <<SAMPLE.Blows 3rd>>,_
    <<SAMPLE.Blows 4th>>_
    )>>_
    <<HasData(<<Get(Refusal Pen)>>,_
    /<<Get(Refusal Pen)>>,_
    <<cr>>_
    <<ListBuildSepTrim(<<cr>>,_
    <<HasData(<<Get(N2)>>,_
    N1(<<Get(N1)>>),_
    <<DelimitData("N(",<<Get(N1)>>,")")>>_
    )>>,_
    <<DelimitData("N2(",<<Get(N2)>>,")")>>_
    )>>_
    )>>