GeoscienceAustralia / eqrm

Automatically exported from code.google.com/p/eqrm
Other
5 stars 4 forks source link

Damage_model.get_building_states potentially problematic #52

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
Damage_model.get_building_states contains a couple of potentially problematic 
pieces of code. This ticket is to assist in understanding the whether these 
pieces match its intended purpose.

Please use labels and text to provide additional information.

1. This piece of code determines the variability parameter of a building being 
in a given damage state for a given peak displacement (section 6.3.3 of the 
manual)

        csm_use_variability = self.csm_use_variability
        csm_standard_deviation = self.csm_standard_deviation

        beta_th_sd = 0.4
        beta_th_nsd_d = 0.5
        beta_th_nsd_a = 0.6

        if (csm_use_variability is False):
            #incorporate buiding cap variability into the beta
            # (may not be correct!)
            beta_sd =    (beta_th_sd**2+csm_standard_deviation**2)**(0.5)
            beta_nsd_d = (beta_th_nsd_d**2+csm_standard_deviation**2)**(0.5)
            beta_nsd_a = (beta_th_nsd_a**2+csm_standard_deviation**2)**(0.5)
        elif (csm_use_variability is True): #normal case:
            beta_sd = beta_th_sd
            beta_nsd_d = beta_th_nsd_d
            beta_nsd_a = beta_th_nsd_a
  #warning: this option will cause divide by zero warnings in make_fragility.m
        else:
            msg = ('ERROR in prep_build_vun: '
                   'csm_use_variability not properly defined')
            raise RuntimeError(msg) 

The constants match the manual, but the block that uses the standard deviation 
of the capacity curve is not something referenced in the manual.

What is the purpose of this? Is this implemented according to this intended 
purpose.

2. The structural damage state uses the constant from the manual in all cases:

structure_state = state_probability(threshold, beta_th_sd, SD)

where beta_td_sd is the constant and beta_sd is the value determined by the 
block in the code above.

Is this correct? Should the structural damage state always use the constant?

Original issue reported on code.google.com by b...@girorosso.com on 18 Jun 2012 at 8:17

GoogleCodeExporter commented 9 years ago
csm_standard_deviation only seems to be used here.

This is how it's defined in the manual;
csm standard deviation:
SUGGESTED = 0.3
Standard deviation for capacity curve log–normal PDF.

Original comment by duncan.g...@gmail.com on 20 Mar 2013 at 6:15

GoogleCodeExporter commented 9 years ago
I talked to David R, Mark E and Hyuek about this.
Action remove;
        if (csm_use_variability is False):
            #incorporate buiding cap variability into the beta
            # (may not be correct!)
            beta_sd =    (beta_th_sd**2+csm_standard_deviation**2)**(0.5)
            beta_nsd_d = (beta_th_nsd_d**2+csm_standard_deviation**2)**(0.5)
            beta_nsd_a = (beta_th_nsd_a**2+csm_standard_deviation**2)**(0.5)

After this you may be able to remove csm_use_variability  and 
csm_standard_deviation as well.

Original comment by duncan.g...@gmail.com on 24 Mar 2013 at 11:19