|
fosanalysis
A framework to evaluate distributed fiber optic sensor data
|
Hold the strain data and methods to identify cracks and calculate the crack widths. More...
Public Member Functions | |
| __init__ (self, np.array x, np.array strain, np.array strain_inst=None, crackfinder=None, integrator=None, lengthsplitter=None, str name="", shrink_compensator=None, bool suppress_compression=True, ts_compensator=None, *args, **kwargs) | |
| Constructs a strain profile object. | |
| add_cracks (self, *tuple cracks_tuple, bool recalculate=True) | |
Use this function to manually add a crack to crack_list at the closest measuring point to x after an intial crack identification. | |
| cracks.CrackList | calculate_crack_widths (self, bool clean=True) |
| Returns the crack widths. | |
| np.array | calculate_tension_stiffening (self) |
| Compensates for the strain, that does not contribute to a crack, but is located in the uncracked concrete. | |
| clean_data (self) | |
| Resetting several attributes to it's original state before any calculations. | |
| np.array | compensate_shrink (self, *args, **kwargs) |
| Calculate the shrink influence of the concrete and store it in shrink_calibration_values. | |
| list | delete_cracks (self, *tuple cracks_tuple, bool recalculate=True) |
| Use this function to manually delete cracks from crack_list, that were wrongfully identified automatically by find_cracks(). | |
| find_cracks (self) | |
| Identify cracks, settings are stored in crackfinder. | |
| list | set_lt (self) |
| Estimate transfer length to crack_list, settings are stored in lengthsplitter. | |
Public Member Functions inherited from fosanalysis.utils.base.Workflow | |
| __init__ (self, *args, **kwargs) | |
Public Member Functions inherited from fosanalysis.utils.base.Base | |
| __init__ (self, *args, **kwargs) | |
| Construct the object and warn about unused/unknown arguments. | |
Public Attributes | |
| crack_list = cracks.CrackList() | |
| List of cracks, see cracks.Crack for documentation. | |
| crackfinder = crackfinder if crackfinder is not None else finding.CrackFinder() | |
| finding.CrackFinder object, wich holds the settings for peak identification. | |
| integrator = integrator if integrator is not None else utils.integration.Integrator() | |
| utils.integration.Integrator object used to integrate the strain data to estimate the crack widths. | |
| lengthsplitter = lengthsplitter if lengthsplitter is not None else separation.CrackLengths() | |
| separation.CrackLengths object used to assign the cracks their respective effective lengths. | |
| name = name | |
Name of the strain profile, defaults to "". | |
| shrink_calibration_values = None | |
| Array of calibration values for the shrinking in the measurement area. | |
| shrink_compensator = shrink_compensator | |
| compensation.shrinking.ShrinkCompensator object to compensate the strain values for concrete shrinking and creep. | |
| strain = strain | |
| Strain data in the measurement area in accordance to x. | |
| strain_inst = strain_inst | |
| Strain data (y-axis) for the initial load experiment. | |
| suppress_compression = suppress_compression | |
Switch, whether compression (negative strains) should be suppressed, defaults to True. | |
| tension_stiffening_values = None | |
| Array of the tension stiffening. | |
| ts_compensator = ts_compensator | |
| compensation.tensionstiffening.TensionStiffeningCompensator object used to substract out the influence of tension stiffening on the crack width. | |
| x = x | |
| Location data of the measurement area in accordance to strain. | |
Protected Attributes | |
| np.array | _strain_compensated = None |
| Strain, from which the crack widths are calculated. | |
Hold the strain data and methods to identify cracks and calculate the crack widths.
The crack widths are calculated with the general equation:
\[ w_{\mathrm{cr},i} = \int_{l_{\mathrm{eff,l},i}}^{l_{\mathrm{eff,r},i}} \varepsilon^{\mathrm{DOFS}}(x) - \varepsilon^{\mathrm{ts}}(x) - \varepsilon^{\mathrm{shrink}}(x) \mathrm{d}x \]
With
Definition at line 20 of file strainprofile.py.
| fosanalysis.crackmonitoring.strainprofile.StrainProfile.__init__ | ( | self, | |
| np.array | x, | ||
| np.array | strain, | ||
| np.array | strain_inst = None, | ||
| crackfinder = None, | |||
| integrator = None, | |||
| lengthsplitter = None, | |||
| str | name = "", | ||
| shrink_compensator = None, | |||
| bool | suppress_compression = True, | ||
| ts_compensator = None, | |||
| * | args, | ||
| ** | kwargs ) |
Constructs a strain profile object.
| x | Location data of the measurement area in accordance to strain. For more, see x. |
| strain | Strain data in the measurement area in accordance to x. For more, see strain. |
| strain_inst | Strain data (y-axis) for the initial load experiment. For more, see strain_inst. |
| crackfinder | finding.CrackFinder object, wich holds the settings for peak identification. For more, see crackfinder. |
| integrator | utils.integration.Integrator object used to integrate the strain data to estimate the crack widths. For more, see integrator. |
| lengthsplitter | separation.CrackLengths object used to assign the cracks their respective effective lengths. For more, see lengthsplitter. |
| name | Name of the strain profile, defaults to "". For more, see name. |
| shrink_compensator | compensation.shrinking.ShrinkCompensator object to compensate the strain values for concrete shrinking and creep. For more, see shrink_compensator. |
| suppress_compression | Switch, whether compression (negative strains) should be suppressed, defaults to True. For more, see suppress_compression. |
| ts_compensator | compensation.tensionstiffening.TensionStiffeningCompensator object used to substract out the influence of tension stiffening on the crack width. For more, see ts_compensator. |
| *args | Additional positional arguments, will be passed to the superconstructor. |
| **kwargs | Additional keyword arguments, will be passed to the superconstructor. |
Definition at line 37 of file strainprofile.py.
| fosanalysis.crackmonitoring.strainprofile.StrainProfile.add_cracks | ( | self, | |
| *tuple | cracks_tuple, | ||
| bool | recalculate = True ) |
Use this function to manually add a crack to crack_list at the closest measuring point to x after an intial crack identification.
It assumes, that find_cracks() is run beforehand at least once. Afterwards, set_lt() and calculate_crack_widths() is run, if recalculate is set to True.
| cracks_tuple | Any number of cracks.Crack objects or numbers (mix is allowed). In case of a number, it is assumed to be the (approximate) position of the crack. The added cracks.Crack object will be put at the closest entry of x. In case of a cracks.Crack object (e.g. imported from another StrainProfile), a copy is placed at the closest measuring of x to cracks.Crack.location. |
| recalculate | Switch, whether all crack should be updated after the insertion, defaults to True. Set to False, if you want to suppress a recalculation, until you are finished with modifying crack_list. |
Definition at line 201 of file strainprofile.py.
| cracks.CrackList fosanalysis.crackmonitoring.strainprofile.StrainProfile.calculate_crack_widths | ( | self, | |
| bool | clean = True ) |
Returns the crack widths.
The following is done:
| clean | Switch, whether the all data should be cleaned using clean_data() before carrying out any calculation. Defaults to True. |
Definition at line 119 of file strainprofile.py.
| np.array fosanalysis.crackmonitoring.strainprofile.StrainProfile.calculate_tension_stiffening | ( | self | ) |
Compensates for the strain, that does not contribute to a crack, but is located in the uncracked concrete.
Definition at line 188 of file strainprofile.py.
| fosanalysis.crackmonitoring.strainprofile.StrainProfile.clean_data | ( | self | ) |
Resetting several attributes to it's original state before any calculations.
Clears:
Definition at line 108 of file strainprofile.py.
| np.array fosanalysis.crackmonitoring.strainprofile.StrainProfile.compensate_shrink | ( | self, | |
| * | args, | ||
| ** | kwargs ) |
Calculate the shrink influence of the concrete and store it in shrink_calibration_values.
It is required to provide the following attributes:
None Definition at line 173 of file strainprofile.py.
| list fosanalysis.crackmonitoring.strainprofile.StrainProfile.delete_cracks | ( | self, | |
| *tuple | cracks_tuple, | ||
| bool | recalculate = True ) |
Use this function to manually delete cracks from crack_list, that were wrongfully identified automatically by find_cracks().
After the deletion, set_lt() and calculate_crack_widths() is run, if recalculate is set to True.
| cracks_tuple | Any number of integers (list indexes) of the cracks that should be deleted. |
| recalculate | Switch, whether all crack should be updated after the insertion, defaults to True. |
Definition at line 236 of file strainprofile.py.
| fosanalysis.crackmonitoring.strainprofile.StrainProfile.find_cracks | ( | self | ) |
Identify cracks, settings are stored in crackfinder.
Definition at line 158 of file strainprofile.py.
| list fosanalysis.crackmonitoring.strainprofile.StrainProfile.set_lt | ( | self | ) |
Estimate transfer length to crack_list, settings are stored in lengthsplitter.
If crack_list is empty, find_cracks() is carried out beforehand.
Definition at line 164 of file strainprofile.py.
|
protected |
Strain, from which the crack widths are calculated.
It is reset to strain in calculate_crack_widths(). It is only for inspection/debugging purposes.
Definition at line 74 of file strainprofile.py.
| fosanalysis.crackmonitoring.strainprofile.StrainProfile.crack_list = cracks.CrackList() |
List of cracks, see cracks.Crack for documentation.
To restart the calculation again, set to run clean_data() and run calculate_crack_widths() afterwards.
Definition at line 87 of file strainprofile.py.
| fosanalysis.crackmonitoring.strainprofile.StrainProfile.crackfinder = crackfinder if crackfinder is not None else finding.CrackFinder() |
finding.CrackFinder object, wich holds the settings for peak identification.
Defaults to the default configuration of finding.CrackFinder.
Definition at line 93 of file strainprofile.py.
| fosanalysis.crackmonitoring.strainprofile.StrainProfile.integrator = integrator if integrator is not None else utils.integration.Integrator() |
utils.integration.Integrator object used to integrate the strain data to estimate the crack widths.
Defaults to the default configuration of utils.integration.Integrator.
Definition at line 102 of file strainprofile.py.
| fosanalysis.crackmonitoring.strainprofile.StrainProfile.lengthsplitter = lengthsplitter if lengthsplitter is not None else separation.CrackLengths() |
separation.CrackLengths object used to assign the cracks their respective effective lengths.
Defaults to the default configuration of separation.CrackLengths.
Definition at line 96 of file strainprofile.py.
| fosanalysis.crackmonitoring.strainprofile.StrainProfile.name = name |
Name of the strain profile, defaults to "".
Definition at line 104 of file strainprofile.py.
| fosanalysis.crackmonitoring.strainprofile.StrainProfile.shrink_calibration_values = None |
Array of calibration values for the shrinking in the measurement area.
If shrink_compensator is not None, it is calculated by compensate_shrink(). Else, it defaults to np.zeros of the same length as strain.
Definition at line 81 of file strainprofile.py.
| fosanalysis.crackmonitoring.strainprofile.StrainProfile.shrink_compensator = shrink_compensator |
compensation.shrinking.ShrinkCompensator object to compensate the strain values for concrete shrinking and creep.
Defaults to None, which is equivalent to no compensation.
Definition at line 90 of file strainprofile.py.
| fosanalysis.crackmonitoring.strainprofile.StrainProfile.strain = strain |
Strain data in the measurement area in accordance to x.
This data is assumed to be already preprocessed, see preprocessing.Preprocessing.
Definition at line 70 of file strainprofile.py.
| fosanalysis.crackmonitoring.strainprofile.StrainProfile.strain_inst = strain_inst |
Strain data (y-axis) for the initial load experiment.
This data is assumed to be already preprocessed, see preprocessing.Preprocessing.
Definition at line 77 of file strainprofile.py.
| fosanalysis.crackmonitoring.strainprofile.StrainProfile.suppress_compression = suppress_compression |
Switch, whether compression (negative strains) should be suppressed, defaults to True.
Suppression is done after compensation for shrinking and tension stiffening.
Definition at line 107 of file strainprofile.py.
| fosanalysis.crackmonitoring.strainprofile.StrainProfile.tension_stiffening_values = None |
Array of the tension stiffening.
While integrating the crack width, it is subtracted from the strain values.
Definition at line 84 of file strainprofile.py.
| fosanalysis.crackmonitoring.strainprofile.StrainProfile.ts_compensator = ts_compensator |
compensation.tensionstiffening.TensionStiffeningCompensator object used to substract out the influence of tension stiffening on the crack width.
Defaults to None, which is equivalent to no compensation.
Definition at line 99 of file strainprofile.py.
| fosanalysis.crackmonitoring.strainprofile.StrainProfile.x = x |
Location data of the measurement area in accordance to strain.
This data is assumed to be already preprocessed, see preprocessing.Preprocessing.
Definition at line 67 of file strainprofile.py.