-
Notifications
You must be signed in to change notification settings - Fork 34
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
docs: Add theory for sections and materials #197
base: dev
Are you sure you want to change the base?
Conversation
|
||
## Geometry definition | ||
|
||
Structuralcodes adopts Shapely for creating and managing the geometry. Shapely works in screen **XY** coordinates, which are mapped to **yz** in the **GRS** system. Geometries are essential for defining structural sections and are categorized into the following classes: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Consider adding a sub-heading H3, e.g. "General notes", before describing that we are using shapely.
|
||
## Geometry definition | ||
|
||
Structuralcodes adopts Shapely for creating and managing the geometry. Shapely works in screen **XY** coordinates, which are mapped to **yz** in the **GRS** system. Geometries are essential for defining structural sections and are categorized into the following classes: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
...Structuralcodes adopts Shapely for creating and managing the geometry...
Although it is true, I find it a bit hard to explain and understand this way. Perhaps we could instead say e.g. that In Structuralcodes, a geometry object is a polygon or a point with a material assigned to it. We are using Shapely for creating polygons and points
?
Combines multiple geometries into a single entity. Allows the creation of complex sections by grouping simpler geometries. A typical use is combining one or more surface geometries | ||
|
||
:::{seealso} | ||
For a description of the API for geometry creation and the different classes involved, refer to the [API documentation](https://fib-international.github.io/structuralcodes/api/index.html#). |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
For the link we should instead use the following code:
[API reference](api-geometry-creation)
**Figure Placeholder**: Example of geometries (SurfaceGeometry, PointGeometry, and CompoundGeometry) and their translations to the GRS coordinate system. | ||
|
||
## Section calculators | ||
Section calculators evaluate the structural response based on section properties and applied loads. They integrate results from the geometry and material models to provide insights into section performance by using a specific *section integrator*. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Consider putting this text under the "General concept" heading.
Section calculators evaluate the structural response based on section properties and applied loads. They integrate results from the geometry and material models to provide insights into section performance by using a specific *section integrator*. | ||
|
||
### General concept | ||
The section calculator contains the methods that permits to handle a structual analysis for a cross section. For instance it is possible to compute the bending strength given the axial force, or to compute the moment curvatura, or to compute the strength domain. The outputs of those methods are represented as *ad-hoc* defined results objects which contains the data and the methods to further process them. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
For the moment, we are not providing any methods on the result objects.
|
||
![Bending Strength Rotated](FigureBendingRotated.png) | ||
|
||
In the rotated reference system **y\*z\***, the bending strength in terms of positive $M_y^*$ is computed. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Instead of the inline dollar-math, we should use the math-role like this:
... positive {math}`M_{\textrm{y}^*}` is computed.
:::{Note} | ||
According to such definition, to compute the bending strength for a section with top fibers in compression and bottom fibers in tension, the angle theta should be inpu equal to *pi*. | ||
|
||
![Bending Strength Bottom Tension](FigureBendingTopCompression.png) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Could we do a similar figure for the general case described above, or perhaps just indicate the blue and red zones in the "Bending Strength Rotated" figure above?
![Bending Strength Bottom Tension](FigureBendingTopCompression.png) | ||
::: | ||
|
||
According to classic RC theory, the deformations domains could be represented as following (with domains from 1 to 6 moving respectivelly from pure tension to pure compression): |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Here it would be nice to add a reference to e.g. Leonhardt (?)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I was really going to add Leonhardt but could find the details of an English translation online so I postponed it.
1. **Rotate the section**: the section is rotated by the given angle theta. In this new CRS (**y\*z\***), the problem becomes uniaxial bending about the **y\*** axis | ||
2. **Axial load check**: verify if axial load is within the admissible range of axial loads (in tension and compression). This ensures the section can withstand the applied aixal load without failure. | ||
3. **Ultimate strain profile**: find a strain profile that reaches the utimate strain for at least one of the materials. The found strain profile must guarantee equilibrium with external axial load. This is computed with an iterative algorithm based on bisection method. | ||
1. The internal axial load, defined by the balanced failure condition (i.e., the simultaneous reaching of ultimate strain in both the stretched and compressed materials), is evaluated by integrating the strain profile. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Consider using a., b., ... for the sub-items.
3. **Ultimate strain profile**: find a strain profile that reaches the utimate strain for at least one of the materials. The found strain profile must guarantee equilibrium with external axial load. This is computed with an iterative algorithm based on bisection method. | ||
1. The internal axial load, defined by the balanced failure condition (i.e., the simultaneous reaching of ultimate strain in both the stretched and compressed materials), is evaluated by integrating the strain profile. | ||
2. If the internal axial load is greater than the external axial load, the neutral axis needs to be lowered, indicating excessive tension in the section. If the internal axial load is lower, the neutral axis should be raised to reduce compression. | ||
3. The strain profile is then adjusted by changing the curvature, pivoting on either the top or bottom chord. The goal is to balance the axial load and reach a solution that satisfies equilibrium. This is done solving the equation $\Delta N(k_{y^*}) = 0$ where $\Delta N(k_{y^*}) = N_ext - N_int(k_{y^*})$. For instance the function could be something like depicted in the following picture: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It could be hard to interpret what we mean by "... pivoting on either the top or bottom chord."
3. **Ultimate strain profile**: find a strain profile that reaches the utimate strain for at least one of the materials. The found strain profile must guarantee equilibrium with external axial load. This is computed with an iterative algorithm based on bisection method. | ||
1. The internal axial load, defined by the balanced failure condition (i.e., the simultaneous reaching of ultimate strain in both the stretched and compressed materials), is evaluated by integrating the strain profile. | ||
2. If the internal axial load is greater than the external axial load, the neutral axis needs to be lowered, indicating excessive tension in the section. If the internal axial load is lower, the neutral axis should be raised to reduce compression. | ||
3. The strain profile is then adjusted by changing the curvature, pivoting on either the top or bottom chord. The goal is to balance the axial load and reach a solution that satisfies equilibrium. This is done solving the equation $\Delta N(k_{y^*}) = 0$ where $\Delta N(k_{y^*}) = N_ext - N_int(k_{y^*})$. For instance the function could be something like depicted in the following picture: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
For the inline math, we can use the same math-role as above.
|
||
![Bisection demo](bisection_demo.gif) | ||
|
||
4. **Final Computation of Bending Strength**: once the equilibrium strain profile is found, the bending strength is calculated. The bending moment is computed using the rotated section's stress-strain relationship, incorporating the material properties and geometry of the section. This results in the final bending strength in the rotated coordinate system, which is then transformed back to the original coordinate system. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Here we are saying that we are using the stress-strain relationship for the rotated section as if it was something new to step 4, but we using this also to integrate the strain response to find the internal axial force. Consider describing this related to the internal axial force as well or instead.
|
||
|
||
|
||
## Section integrators |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We could consider describing the section integrators before the section calculator since the calculator uses the integrator (?)
@@ -0,0 +1,109 @@ | |||
# Section |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We could consider splitting the content into several pages that are put in a logical order, e.g.:
- Material
- Coordinate system and sign convention
- Geometry
- Section (where we also introduce the calculator and integrator)
- Section integrators
- Section calculator
No description provided.