Skip to content

Commit

Permalink
update v0.2.6 --> v0.2.7
Browse files Browse the repository at this point in the history
  • Loading branch information
avgcampos committed Mar 16, 2024
1 parent 8e49820 commit 9c7a8d6
Show file tree
Hide file tree
Showing 27 changed files with 6,437 additions and 125 deletions.
574 changes: 574 additions & 0 deletions docs/tutoriais/analise_pos/tutorial_01.py

Large diffs are not rendered by default.

109 changes: 109 additions & 0 deletions docs/tutoriais/analise_pos/tutorial_02.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,109 @@
'''
myfempy Tutorial 02
Geração da malha por meio da opção legacy
'''

# Imports

from myfempy import ModelGen
from myfempy import Solver
from myfempy import PostProcess
from myfempy import postproc_plot
from myfempy import preview_plot
from math import pi

import sys

# Definição do material, geometria

mat = {
"NAME": "material",
"VXX": 0.25,
"EXX": 200E6,
"MAT": 'isotropic',
"DEF": 'axial'
}


geo = {
"NAME": "geo",
"SEC":"I",
'DIM':{'b':100,'h':150,'t':5,'d':5}}

# Linha (malha beam 2) 500 mm

meshdata = {"LEGACY": {'lx': 400, 'mesh': 'line2', 'elem': 'beam21', 'nx': 2},
"PROPMAT": [mat],
"PROPGEO": [geo],
# "FORCES": [force],
# "BOUNDCOND": [bondcond],
# "QUADRATURE": {'meth': 'gaussian', 'npp': 4},
# "DOMAIN":'structural'
}


modelinfo = ModelGen.get_model(meshdata)

previewset = {'RENDER': {'filename': 'tutorial_02a', 'show': True, 'scale': 1, 'savepng': True, 'lines': True, 'cs': True},
}

preview_plot(previewset, modelinfo)


sys.exit()
# Definição do material, geometria

mat = {
"NAME": "material",
"VXX": 0.25,
"EXX": 200E6,
"MAT": 'isotropic',
"DEF": 'planestress'
}

geo = {
"NAME": "geometria",
"THICKN": 1.0
}


# Retangulo estado plano (malha quad 4) 100 x 50 mm

meshdata = {"LEGACY": {'lx': 100, 'ly': 50, 'mesh': 'quad4', 'elem': 'plane41', 'nx': 10, 'ny': 5},
"PROPMAT": [mat],
"PROPGEO": [geo],
# "FORCES": [force],
# "BOUNDCOND": [bondcond],
# "QUADRATURE": {'meth': 'gaussian', 'npp': 4},
# "DOMAIN":'structural'
}


modelinfo = ModelGen.get_model(meshdata)

previewset = {'RENDER': {'filename': 'tutorial_02b', 'show': True, 'scale': 1, 'savepng': True, 'lines': True},
}

preview_plot(previewset, modelinfo)


# Retangulo estado plano (malha tria 3) 100 x 50 mm

meshdata = {"LEGACY": {'lx': 100, 'ly': 50, 'mesh': 'tria3', 'elem': 'plane31', 'nx': 10, 'ny': 5},
"PROPMAT": [mat],
"PROPGEO": [geo],
# "FORCES": [force],
# "BOUNDCOND": [bondcond],
# "QUADRATURE": {'meth': 'gaussian', 'npp': 4},
# "DOMAIN":'structural'
}


modelinfo = ModelGen.get_model(meshdata)

previewset = {'RENDER': {'filename': 'tutorial_02c', 'show': True, 'scale': 1, 'savepng': True, 'lines': True},
}

preview_plot(previewset, modelinfo)
221 changes: 221 additions & 0 deletions docs/tutoriais/analise_pos/tutorial_03.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,221 @@
'''
myfempy Tutorial 03
Geração da malha com gmsh
Necessario instalação prévia do gmsh (não nativo do myfempy)
'''

# Imports

from myfempy import ModelGen
from myfempy import Solver
from myfempy import PostProcess
from myfempy import postproc_plot
from myfempy import preview_plot

# Definição do material, geometria

mat = {
"NAME": "material",
"VXX": 0.25,
"EXX": 200E6,
"MAT": 'isotropic',
"DEF": 'planestress'
}

geo = {
"NAME": "geometria",
"THICKN": 1.0
}

# ----------------------------------------------------------

# Placa L estado plano (malha quad 4) 100 x 100 mm

# f1 = {
# 'DEF': 'forceedge',
# 'DOF': 'fy',
# 'DIR': 'edge',
# 'TAG': 3,
# 'VAL': [-1000.0],
# }

# bc1 = {
# 'DEF': 'fixed',
# 'DOF': 'all',
# 'DIR': 'edge',
# 'TAG': 5,
# }


# points = [[0, 0, 0],
# [100, 0, 0],
# [100, 50, 0],
# [50, 50, 0],
# [50, 100, 0],
# [0, 100, 0],
# ]

# lines = [[1, 2],
# [2, 3],
# [3, 4],
# [4, 5],
# [5, 6],
# [6, 1],
# ]

# plane = [[1, 2, 3, 4, 5, 6]]

# meshdata = {"GMSH": {'filename': 'tutorial_03a',
# 'pointlist': points,
# 'linelist': lines,
# 'planelist': plane,
# 'meshconfig': {
# 'mesh': 'tria3', #tria3
# 'elem': 'plane31', #plane31
# 'sizeelement': 10,
# 'meshmap': {'on': True,
# 'edge': 'all',
# # "numbernodes": 10,
# }
# }
# },
# "PROPMAT": [mat],
# "PROPGEO": [geo],
# "FORCES": [f1],
# "BOUNDCOND": [bc1],
# }

# modelinfo = ModelGen.get_model(meshdata)

# previewset = {'RENDER': {'filename': 'tutorial_03a',
# 'show': True,
# 'scale': 5,
# 'savepng': True,
# 'lines': True,
# 'plottags': {'point': True,
# 'edge': True}},
# }

# preview_plot(previewset, modelinfo)


# --------------------------------------------------

# # Placa H estado plano (malha quad 4) 100 x 100 mm

f1 = {
'DEF': 'forceedge',
'DOF': 'fx',
'DIR': 'edge',
'TAG': 8,
'VAL': [100.0],
}

f2 = {
'DEF': 'forceedge',
'DOF': 'fx',
'DIR': 'edge',
'TAG': 10,
'VAL': [-100.0],
}

f3 = {
'DEF': 'forceedge',
'DOF': 'fx',
'DIR': 'edge',
'TAG': 4,
'VAL': [100.0],
}

f4 = {
'DEF': 'forceedge',
'DOF': 'fx',
'DIR': 'edge',
'TAG': 2,
'VAL': [-100.0],
}

bc1 = {
'DEF': 'fixed',
'DOF': 'uy',
'DIR': 'edge',
'TAG': 3,
}

bc2 = {
'DEF': 'fixed',
'DOF': 'uy',
'DIR': 'edge',
'TAG': 9,
}

points = [
[0, 0, 0],
[20, 0, 0],
[20, 30, 0],
[80, 30, 0],
[80, 0, 0],
[100, 0, 0],
[100, 100, 0],
[80, 100, 0],
[80, 70, 0],
[20, 70, 0],
[20, 100, 0],
[0, 100, 0],
]

lines = [[1, 2],
[2, 3],
[3, 4],
[4, 5],
[5, 6],
[6, 7],
[7, 8],
[8, 9],
[9, 10],
[10, 11],
[11, 12],
[12, 1],
]

plane = [[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]]

meshdata = {"GMSH": {'filename': 'tutorial_03b',
'pointlist': points,
'linelist': lines,
'planelist': plane,
'meshconfig': {
'mesh': 'quad4', #tria3
'elem': 'plane41', #plane31
'sizeelement': 5,
'meshmap': {'on': True,
'edge': 'all',
# "numbernodes": 10,
}
}
},
"PROPMAT": [mat],
"PROPGEO": [geo],
"FORCES": [f1, f2, f3, f4],
"BOUNDCOND": [bc1, bc2],
}

modelinfo = ModelGen.get_model(meshdata)

previewset = {'RENDER': {'filename': 'tutorial_03b',
'show': True,
'scale': 4,
'savepng': True,
'lines': True,
'plottags': {
# 'point': True,
'edge': True,
# 'surf': True
}
},
}

preview_plot(previewset, modelinfo)
Loading

0 comments on commit 9c7a8d6

Please sign in to comment.