-
Notifications
You must be signed in to change notification settings - Fork 49
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Update EC2 parabolic stress-strain profile #80
base: master
Are you sure you want to change the base?
Update EC2 parabolic stress-strain profile #80
Conversation
I like the idea of having the two stress strain profiles as you describe. I believe the EDIT: Fixed above sentence. |
|
Sorry coming back to this after a bit of a holiday and might have lost the train of thought slightly.
Could you very quickly show me what this would look like?
Agreed there is something not quite right here. I'll do some digging to try to make the comparison more consistent, but you're right - the comparison isn't really fair or valid given the differences in the ultimate profiles. |
Hi @robbievanleeuwen @dataclass
class BilinearStressStrain(ConcreteUltimateProfile):
"""Class for a bilinear stress-strain relationship.
:param compressive_strength: Concrete compressive strength
:param compressive_strain: Strain at which the concrete stress equals the
compressive strength
:param ultimate_strain: Concrete strain at failure
:param alpha: Factor that modifies the concrete compressive strength
"""
strains: List[float] = field(init=False)
stresses: List[float] = field(init=False)
compressive_strength: float
compressive_strain: float
ultimate_strain: float
alpha:float = field(default=1.0)
def __post_init__(
self,
):
self.strains = [
-self.compressive_strain,
0,
self.compressive_strain,
self.ultimate_strain,
]
self.stresses = [
0,
0,
self.compressive_strength*alpha,
self.compressive_strength*alpha,
] Kind of feel like This |
Yeah EC2 does the analysis with reduced steel and concrete strengths (equivalent to applying phi to the material properties before doing the analysis) vs how AS and NZS codes work by applying the phi factor right at the end to the calculated strength. So if using with a code that uses phi applied at end of an analysis with a EC2 parabolic profile I feel it is appropriate to reduce the concrete strength in the profile by some factor that is likely equivalent to the alpha factor. So if using a rectangular stress block and a parabolic one for example, the maximum design compressive strength is similar or the same to compare apple with apples if that makes sense. Only modifying the shape to be more realistic, but still having the same maximum strength effectively. Refer to the description I added in the docs for the updated parabolic EC2 curve, I left it fairly generic given the lack of advice around this (really up to the user to apply some engineering judgement here). |
Hi @robbievanleeuwen
Pull request addressing points noted in #79.
Note I decided at this stage against being able to specify the ultimate strain and transition strain as optional parameters pending your thoughts on the following. I think instead it is maybe better to add a further generic parabolic class (like you have for the Bilinear ssp) utilising the EC2 derivation for want of anything better, where you can specify these directly (basically almost like the older
EurocodeParabolicUltimate
class but renamed as a generic one?So you'd have the specific EC2 one with all the calculated factors, and then a generic one that takes a concrete strength that the user has already reduced to a design value as opposed to a characteristic value and a user-specified transition strain, ultimate strain and n_exp value.
(with this in mind potentially a warning is required in the generic ones to apply the equivalent of the
alpha
factor to reduceconcrete_strength
to a design value, this would be true of all the generic cases. Maybe the generic profiles should have anotheralpha
factor reduction variable that is equal to 1.0 by default that the user can feed in a specific reduction factor if required by their use case).Note for the
AS3600
example changes, given I'm not too familiar with AS3600. Should the final design strength of the concrete be thealpha
factor inAS3600
class multiplied by the concrete strength multiplied by the 0.9 factor?So effectively you're comparing the stress-strain profile all with the same maximum design concrete strength? As it previously was arranged, this did not appear to be the case, bilinear and parabolic utilised
0.9*40
MPa, and the rectangular stress block utilisedalpha*0.9*40
which are not really consistent for comparing apples with apples which the plot is intended to do?I'll do a similar approach for the EC2 bilinear class as for the parabolic class. I'll keep it draft until that is incorporated.