eamontoyaa/pySigmaP

Evaluation of Data with Second Reloading after Second Unloading possible?

Closed this issue · 2 comments

  • pySigmaP version: 0.1.9
  • Python version: 3.9.
  • Operating System: Windows 10

Description

Is there any way to apply pySigmaP for the evaluation of oedometer tests, in which there is a second reloading after the second unloading ?

What I Did

If I load a dataset with a second reloading, the follow error occurs
ValueError: "x" must be strictly increasing sequence.

Removing the data of the second reloading from the rawdata does resolve that issue, but if possible, I would like to keep the dataset for the evaluation complete.

Thanks in advance!

Hi @felixdoerr

Thanks for using pySigmaP.

Yes, you can. When we released pySigmaP v0.1.9, we included a feature to do so under the request/suggestion of another user who had the same need. You have to specify which unloading-reloading (UR) stage you want to use to calculate the reloading index. You only have to set use_this_UR_stage=n in the attributes of the Data class, where n is the index of the UR stage starting from zero.

However, I must admit there is a not-very-elegant detail in the current release (v0.1.9) to consider. If there is no unloading (U) stage at the end of your test, you must also specify secondUnloading=False in the attributes of the Data class to avoid getting the error you mentioned. This is because the first release of pySigmaP was initially developed for tests with only one UR-stage and an optional U-stage after the UR-stage. That optional U-stage would be the second and last unloading stage. If there was no second U-stage, secondUnloading=False was mandatory. Since we included the feature of allowing several UR-stages, the secondUnloading attribute will actually refer to the final U-stage of the test.

Since the above might need to be more explicit, this example may help load the data correctly. After it, the methods for calculating 𝜎ₚ should run with no problem:

from pysigmap.data import Data
raw_data = pd.read_csv("test_data.csv")
data = Data(
    raw_data,
    sigmaV=75,
    use_this_UR_stage=1,
    secondUnloading=False
)
data.compressionIdx(range2fitCc=[500, np.inf])
data.recompressionIdx(opt=2)
fig = data.plot() 

I've attached the files for you to show the outcome. Please, try again, considering the example and what I said before. If it still does not run, and if you want, you can send the data from one of your tests, and I will return the code if I run it successfully. Do not hesitate if you have further questions.

Regards,
Exneyder

test_with_several_UR_stages.pdf
test_with_several_UR_stages

Hi @eamontoyaa,

thank you very much for your immediate response. It worked out perfectly well.

Thank you very much for developing such a handy tool - great work!