1-D Fiber Model Analysis
- Fiber Model Analysis for the reinforced concrete section
- Concrete: Fafitis and Shah Model
- Steel : Bi-Linear Model
- Capable of making pdf report
Two files are needed for the fiber analyis.
> tree .
├── cntl.csv ------> control file
├── sec
│ ├── sec.csv ------> section file
├── result ------> output dir. if needed
file | example file name |
---|---|
control file | cntl.csv |
section file | sec.csv |
example csv data
title, csvfile, theta, nn, ecumax, ndiv, ecu, esu, come, cuvmax, mumax, stressmax, strainmax, output, cal
CW10045, ./sec/cw1.csv, 0.0, 8466, 0.003, 100, 0.003, 0.01, Fc60/20-D41(SD490), 2.0E-6, -99, -99, 0.02, ./result/CW10045, N
parameter | example | remark |
---|---|---|
title | CW10045 | title name |
csvfile | ./sec/cw1.csv | input section file |
theta | 0.0 | angle of increment strain |
nn | 8466.0 | Axial force in analysis |
ecumax | 0.005 | maximum compressive strain in analysis |
ndiv | 100 | increment divided number |
ecu | 0.003 | ultimate concrete strain limitation for capacity |
esu | 0.01 | ultimate steel bar strain limitation for capacity |
come | Fc60/20-D41(SD490) | comment for report pdf |
cuvmax | 2.0E-6 | graph control/(-99:auto): curvature (1/mm) |
mumax | -99 | graph control/(-99:auto): bending moment (kN.m) |
stressmax | -99 | graph control/(-99:auto): steel bar stress (N/mm2) |
strainmax | 0.02 | graph control/(-99:auto): steel bar strain (-) |
output | ./result/CW10045 | output file name/ need make result dir. |
cal | Y or N | Y: Done Analysis, N: Need Analysis |
Four specified cards are needed for the csv section file.
Item | Control for |
---|---|
MATE | material select |
CAPA | allowable capacity |
FIBE | concrete fiber model |
REBA | steel bar |
material select example
#, type, parameter
MATE, 1, 42.0
MATE, 2, 490.0
type | remark |
---|---|
type | material type number as bellow |
parameter | parameter |
type | parameter | remark |
---|---|---|
=1 | fc(compressive strength) | Concrete (Fafitis and Shah Model) |
=2 | fy(yield stress) | Steel Bar ( Bi-Linear) |
=3 | fc(compressive strength) | Concrete (Ignore tension based on num==1) |
capacity control example
#,type_c,fc,type_s,fy
CAPA, 1, 28.0, 2, 490.0
item | unit | remark |
---|---|---|
type_c | - | type num. of concrete material |
fc | N/mm2 | allowable concrete strength |
type_s | - | type num. of steel bar material |
fy | N/mm2 | allowable steel bar strength |
Concrete fiber geometry data specified as the concrete fiber element by rectanglular shapes.
example data.
#, xx1,yy1,xx2,yy2,ndimx,ndimy,fc_id
FIBE, 0.0, 0.0, 1000.0, 950.0, 20, 19, 0
FIBE, 1000.0, 0.0, 2000.0, 950.0, 20, 19, 0
FIBE, 2000.0, 0.0, 3000.0, 950.0, 20, 19, 0
FIBE, 0.0, 8500.0, 1000.0, 9450.0, 20, 19, 0
FIBE, 1000.0, 8500.0, 2000.0, 9450.0, 20, 19, 0
FIBE, 2000.0, 8500.0, 3000.0, 9450.0, 20, 19, 0
FIBE, 1000.0, 950.0, 2000.0, 8500.0, 20, 151, 0
item | unit | remark |
---|---|---|
xx1 | mm | x cordinate / lower left |
yy1 | mm | y cordinate / lower left |
xx2 | mm | x cordinate / higher right |
yy2 | mm | y cordinate / higher right |
ndimx | - | divided num. for x-dir |
ndimy | - | divided num. for y-dir |
fc_id (*1 | _ | material num. |
*1) fc_id -- num. of material card
#, type, parameter
MATE, 1, 42.0 -----> num=0
MATE, 2, 490.0 -----> num=1
. -----> num=2
. -----> num=3
. -----> num=4
. -----> num=5
steel bar geometry data example
#, ids,nx,ny,dtx,dty,dia,fy_id
REBA, 0, 7, 7, 100, 100, D41, 1
REBA, 1, 7, 7, 100, 100, D41, 1
REBA, 2, 7, 7, 100, 100, D41, 1
REBA, 3, 7, 7, 100, 100, D41, 1
REBA, 4, 7, 7, 100, 100, D41, 1
REBA, 5, 7, 7, 100, 100, D41, 1
item | unit | remark |
---|---|---|
ids (*1 | - | fiber element num. specified in "FIBE" |
nx | - | bar num. in x-dir. |
ny | - | bar num. in y-dir. |
dtx | mm | distance the center of the bar from extreem compressive element specified rectanglar shape in x-dir. |
dty | mm | distance the center of the bar from extreem compressive element specified rectanglar shape in y-dir. |
dia | - | diameter of the steel bar , "D10" to "D41" |
fy_id (*2 | - | material num. |
*1) ids num. of fibe card
#, xx1,yy1,xx2,yy2,ndimx,ndimy,fc_id
FIBE, 0.0, 0.0, 1000.0, 950.0, 20, 19, 0 -----> num=0
FIBE, 1000.0, 0.0, 2000.0, 950.0, 20, 19, 0 -----> num=1
FIBE, 2000.0, 0.0, 3000.0, 950.0, 20, 19, 0 -----> num=2
FIBE, 0.0, 8500.0, 1000.0, 9450.0, 20, 19, 0 -----> num=3
FIBE, 1000.0, 8500.0, 2000.0, 9450.0, 20, 19, 0 -----> num=4
FIBE, 2000.0, 8500.0, 3000.0, 9450.0, 20, 19, 0 -----> num=5
FIBE, 1000.0, 950.0, 2000.0, 8500.0, 20, 151, 0 -----> num=6
*2) fy_id -- num. of material card
#, type, parameter
MATE, 1, 42.0 -----> num=0
MATE, 2, 490.0 -----> num=1
. -----> num=2
. -----> num=3
. -----> num=4
. -----> num=5
outputfile | content | remark |
---|---|---|
**mp | M-φ relationship | csv file |
**cap | section capacity | csv file |
*model.png | model | png file |
*mp.png | M-φ relationship | png file |
Header
p,mx,my,emax,emin,esmax,esmin,ec,xn
item | unit | content | remark |
---|---|---|---|
p | 1/mm | curvature | |
mx | kN.m | bending moment in x-dir. | |
my | kN.m | bending moment in y-dir. | |
emax | N/mm2 | maximum stress in steel bar / compression bar | |
emin | N/mm2 | minimum stress in steel bar / testion bar | |
esmax | - | maximum strain in steel bar / compression bar | |
esmin | - | minimum strain in steel bar / tention bar | |
ec | - | compressive strain of concrete at extreem fiber | |
xn | mm | neutral axis distance from the extreem compressive fiber |
Header
p,mx,my,emax,emin,esmax,esmin,ec,xn
row | content |
---|---|
1 | crack stage |
2 | allowable capacity |
3 | ultimate capacity |
fibGet give pdf report by pushing report button
coded by ptyhon
├── main.py
├── gui.py
├── fiber.py
├── aijRc.py
├── prop.py
├── store.py
├── report.py
├── gui.wxg
├── sample_data
│ ├── col_project
│ │ ├── Untitled.pdf
│ │ ├── cntl.csv
│ │ ├── input
│ │ │ └── c1.csv
│ │ └── result
│ └── project
│ ├── Untitled.pdf
│ ├── cntl.csv
│ ├── input
│ │ ├── beam.csv
│ │ ├── beam2.csv
│ │ ├── beam3.csv
│ │ ├── beam4.csv
│ │ ├── c2.csv
│ │ ├── cw1.csv
│ │ └── cw2.csv
│ └── result
├── db
├── fonts
│ └── GenShinGothic-Monospace-Medium.ttf
├── icon
│ ├── fibGet.ico
│ ├── fibGet.png
> python3 main.py
By power shell
> pyinstaller main.py --onefile --noconsole --icon=icons/fibGet.ico
> mv ./icon ./dist/icon
> mv ./fonts ./dist/fonts
> ./dist/main/main.exe
fibGet.py
class | description |
---|---|
Fiber() | calculation of the fiber model |
AftFib() | data organization after analysis |
method | description |
---|---|
init(xx1,xx2,yy1,yy2,mate1,mate2) | init |
limitation(kappa_min,kappa_max) | |
rotation(idr,th) | |
getModel(xx1,xx2,...) | |
viewModel(r_mmodel,...) | |
viewModelRep(..) | make figure of the model to png file |
viewModelGui(..) | make figure of the model to GUI |
createMatrix_steel(..) | make matrix fo the steel bar |
createMatrix | make matrix of the concrete element |
out | no use |
out_add | no use |
nn0 | axial force by specified strain |
e0 | compressive axial strain by specified axial force |
view_sig_c | make conter figure by compressibe strain & neutral axis |
nnc_c | axial force by compressibe strain & neutral axis |
mn | under develop |
mn_ec_xn | bending moment and curvature by compressibe strain & neutral axis |
xnn | curvature by comp. strain & axial force |
make_cont | make conter figure by comp. strain |
soslveBySt | bending moment by specified fiber |
mnGen | generate mn data |
mxmy_double | mx-my relationship by ecu |
solve | M-p relationship by specified axial force |
variable | description |
---|---|
xx1 | |
xx2 | |
yy1 | |
yy2 | |
mate1 | |
mate2 |
- modified script for the ultimate capacity at steel stress limitation.
- modifed linestyle, width, color in matplot
win10+python3.9+wxpython4.1.1+reportlab3.6.10