The Cross-section Solver provides comprehensive analysis of structural cross-sections, calculating geometric properties, elastic properties, plastic properties, and warping characteristics using the sectionproperties library.
Most parameters are optional, but enough information must be provided to create a stable structure with:
- Both stiffnesses (EA and EI)
- Length specification
- At least 1-2 supports
- At least one strength load case/combination
- At least one serviceability load combination
Core Configuration
Array of section dictionaries following sectionproperties Documentation format with additional ClearCalcs-specific entries.Note: You may see std_*
parameters in past examples. These donโt do anything currently and are simply passed through. They were intended for cross-section design linking.
String describing the section type. Full names from sectionproperties documentation are available, plus abbreviated names.
sectionsData[n]['mirror']
Mirror the section about an axis. Options: "x"
, "y"
, or "null"
Rotate section counterclockwise by specified degrees. Use null
for no rotation.
Dictionary of material names and their properties.Default: {"default": {"E": 1, "nu": 0, "fy": 1, "color": "#000", "lineWeight": 3}}
Properties include:
E
: Elastic modulus
nu
: Poissonโs ratio
fy
: Yield strength
color
: Line color
lineWeight
: Line weight for display
Analysis Configuration
Type of analysis to perform:
"none"
: No analysis (geometry only)
"elastic"
: Elastic analysis only
"warping"
: Elastic + warping analysis
"plastic"
: Elastic + plastic analysis
"frame"
: Optimized analysis for frame properties
"full"
: Complete analysis (elastic + warping + plastic)
Geometry validity checking:
"check"
: Issue error messages for problems
"clean"
: Try to fix geometry issues automatically
"none"
: No geometry checking
Mesh and Output Configuration
Maximum mesh size = gross area / this factor
Color for mesh lines in output
Line weight for mesh lines
Tolerance below which results are rounded to zero. Engineering applications typically use 1e-6
.
Unit for length outputs. Must be valid mathjs unit (e.g., โmโ for SI, โftโ for US)
Unit for force outputs. Must be valid mathjs unit (e.g., โNโ for SI, โkipโ for US)
Output Properties
All outputs are accessible via solverRefId.propertyName
where solverRefId
is your solverโs reference ID.
Always Available (All Analysis Types)
All lines making up the cross-section (excluding mesh)
Default dimensions for cross-section diagrams. Includes all input dimensions.
2ร2 array of outer domain extents: [[xmin, ymin], [xmax, ymax]]
nร2 array of all points/nodes: [[x1, y1], [x2, y2], ...]
nร2 array of all elements: [[node0, node1], ...]
Points located within empty regions
Points located within filled regions
Amount by which each geometry was shifted
Elastic Results
Available for elastic
, warping
, plastic
, and full
analysis types:
Basic Properties
Centroid location (X, Y coordinates)
Radius of gyration about centroidal axes
Radius of gyration about principal axes
Angle of major principal axis
Stiffness Properties
First moment of area about global axes
Second moment of area about centroidal axes
Second moment of area about principal axes
Second moment of area about global axes
Section Moduli
Elastic section modulus for positive/negative bending about centroidal X-axis
Elastic section modulus for positive/negative bending about centroidal Y-axis
Minimum elastic section modulus (min of positive/negative)
EZ11p, EZ11m, EZ22p, EZ22m
Elastic section modulus about principal axes
Minimum elastic section modulus about principal axes
Same Stiffness Outputs
When all sections have identical stiffness, additional properties without โEโ prefix are available:
Qx
, Qy
, Ixx
, Iyy
, Ixy
, I11
, I22
, I12
, Ixxg
, Iyyg
, Ixyg
, Zxxp
, Zxxm
, Zyyp
, Zyym
, Zxx
, Zyy
, Z11p
, Z11m
, Z22p
, Z22m
, Z11
, Z22
Plastic Properties
Available for plastic
and full
analysis types:
Plastic centroid location
Plastic centroid location on principal axes
Plastic section modulus about centroidal axes
Plastic section modulus about principal axes
Same Yield Stress Outputs
When all sections have identical yield stress: Sxx
, Syy
, S11
, S22
Warping Properties
Available for warping
and full
analysis types:
Shear Centers
Shear center on principal axes
Taffetz shear center location
Monosymmetry Constants
betaxp, betaxm, betayp, betaym
Monosymmetry constants for positive/negative bending about centroidal axes
beta11p, beta11m, beta22p, beta22m
Monosymmetry constants about principal axes
Advanced Properties
St Venantโs torsion constant
Shear area about centroidal axes
Shear area about principal axes
Same Stiffness Outputs
When all sections have identical stiffness: J
, Iw
, Asx
, Asy
, As11
, As22
Frame Properties
For analysisType: "frame"
- optimized subset for frame analysis:
Angle of major principal axis
St Venant torsion constant
First moment of area about global axes
Second moment of area about centroidal axes
Example Usage
{
"type": "remote",
"referenceId": "section_analysis",
"solver": "crossSection",
"inputs": {
"sectionsData": [
{
"type": "rectangular",
"b": 200,
"h": 300,
"material": "steel"
}
],
"materialsData": {
"steel": {
"E": 200000,
"nu": 0.3,
"fy": 250,
"color": "#1f77b4",
"lineWeight": 2
}
},
"analysisType": "full",
"lenUnit": "mm",
"forceUnit": "N"
}
}
Best Practices
- Analysis Type Selection: Choose the minimum analysis type needed for your calculations to optimize performance
- Unit Consistency: Ensure
lenUnit
and forceUnit
match your templateโs unit system
- Geometry Validation: Use
checkGeom: "clean"
for robust geometry handling
- Material Properties: Define realistic material properties for accurate results
- Mesh Control: Adjust
defaultMeshFactor
based on section complexity and required accuracy
"frame"
analysis type is fastest and most reliable for basic frame properties
"full"
analysis provides complete results but takes longer
- Complex geometries may require geometry cleaning (
checkGeom: "clean"
)
- Large
defaultMeshFactor
values create finer meshes but slower analysis
When using complex geometries, test with checkGeom: "check"
first to identify potential issues before using "clean"
mode.