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=5steel 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.pyBy power shell
> pyinstaller main.py --onefile --noconsole --icon=icon/fibGet.ico
> cp ./icon ./dist/icon
> cp ./fonts ./dist/fonts
> mkdir ./dist/db
> ./dist/main/main.exe
By power shell
Change fibget.py, "GetPath()" -> "GetPaths()[0]>nuitka --mingw64 --follow-imports --onefile --include-data-dir=.\fonts=fonts --include-data-dir=.\icon=icon --include-data-dir=.\db=db --windows-icon-from-ico=./icon/fibGet.ico main.py
>./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
- modified fiber.py
- change "linewidth="0.5"" to to "linewidth=0.5"
Package Version
--------------------------------- ---------------
absl-py 0.15.0
altgraph 0.17
appnope 0.1.3
argon2-cffi 21.3.0
argon2-cffi-bindings 21.2.0
astunparse 1.6.3
async-generator 1.10
attrs 21.4.0
backcall 0.2.0
beautifulsoup4 4.11.1
bleach 4.1.0
cached-property 1.5.2
cachetools 4.2.4
certifi 2021.10.8
cffi 1.15.1
charset-normalizer 2.0.12
chromedriver 2.24.1
chromedriver-binary 103.0.5060.53.0
clang 5.0
cycler 0.10.0
dataclasses 0.8
decorator 5.1.1
defusedxml 0.7.1
entrypoints 0.4
et-xmlfile 1.0.1
flatbuffers 1.12
gast 0.4.0
geojson 2.5.0
google-auth 1.35.0
google-auth-oauthlib 0.4.6
google-pasta 0.2.0
graphviz 0.19.1
grpcio 1.44.0
h5py 3.1.0
idna 3.3
importlib-metadata 4.8.3
ipykernel 5.5.6
ipython 7.16.3
ipython-genutils 0.2.0
ipywidgets 7.7.1
jdcal 1.4.1
jedi 0.17.2
Jinja2 3.0.3
joblib 1.1.0
jsonschema 3.2.0
jupyter 1.0.0
jupyter-client 7.1.2
jupyter-console 6.4.3
jupyter-contrib-core 0.3.3
jupyter-contrib-nbextensions 0.5.1
jupyter-core 4.9.2
jupyter-highlight-selected-word 0.2.0
jupyter-latex-envs 1.4.6
jupyter-nbextensions-configurator 0.4.1
jupyterlab-pygments 0.1.2
jupyterlab-widgets 1.1.1
keras 2.6.0
Keras-Preprocessing 1.1.2
kiwisolver 1.3.1
lxml 4.9.1
macholib 1.14
Markdown 3.3.6
MarkupSafe 2.0.1
matplotlib 3.3.2
mistune 0.8.4
modulegraph 0.18
mpmath 1.1.0
nbclient 0.5.9
nbconvert 6.0.7
nbformat 5.1.3
nest-asyncio 1.5.5
notebook 6.4.10
numpy 1.19.4
oauthlib 3.2.0
openpyxl 3.0.5
opt-einsum 3.3.0
packaging 21.3
pandas 1.1.5
pandocfilters 1.5.0
parso 0.7.1
pexpect 4.8.0
pickleshare 0.7.5
Pillow 8.0.1
pip 21.3.1
prometheus-client 0.14.1
prompt-toolkit 3.0.30
protobuf 3.19.4
ptyprocess 0.7.0
py2app 0.22
pyasn1 0.4.8
pyasn1-modules 0.2.8
pycparser 2.21
pydotplus 2.0.2
Pygments 2.12.0
pyinstaller 4.1
pyinstaller-hooks-contrib 2020.10
pyparsing 2.4.7
PyQt5 5.15.2
PyQt5-sip 12.8.1
pyrsistent 0.18.0
python-dateutil 2.8.1
pytz 2020.5
PyYAML 6.0
pyzmq 23.2.0
qtconsole 5.2.2
QtPy 2.0.1
reportlab 3.5.55
requests 2.27.1
requests-oauthlib 1.3.1
rsa 4.8
scikit-learn 0.24.2
scipy 1.5.4
seaborn 0.11.2
selenium 3.141.0
Send2Trash 1.8.0
setuptools 59.6.0
Shapely 1.8.0
six 1.15.0
sklearn 0.0
soupsieve 2.3.2.post1
sympy 1.7.1
tensorboard 2.6.0
tensorboard-data-server 0.6.1
tensorboard-plugin-wit 1.8.1
tensorflow 2.6.2
tensorflow-estimator 2.6.0
termcolor 1.1.0
terminado 0.12.1
testpath 0.6.0
threadpoolctl 3.1.0
tk 0.1.0
tornado 6.1
traitlets 4.3.3
turfpy 0.0.7
typing-extensions 3.7.4.3
urllib3 1.26.8
wcwidth 0.2.5
webencodings 0.5.1
Werkzeug 2.0.3
wheel 0.37.1
widgetsnbextension 3.6.1
wrapt 1.12.1
wxPython 4.1.0
xlrd 2.0.1
zipp 3.6.0




