Pereiti prie turinio

Tiesinė statinė analizė (elastingumas, lygiagretus vykdymas)

Norėdami atlikti statinę analizę (elastingumas) 4 krypčių lygiagrečiuoju vykdymu, naudokite tutorial/02_elastic_hinge_parallel duomenis.

Analizės objektas

Elementas Turinys Pastabos Nuoroda
Analizės tipas Tiesinė statinė analizė !SOLUTION,TYPE=STATIC
Mazgų skaičius 84,056
Elementų skaičius 49,871
Elemento tipas 10 mazgų kvadratinis tetraedro elementas !ELEMENT,TYPE=342 Elementų biblioteka
Medžiagos pavadinimas STEEL !MATERIAL,NAME=STEEL Medžiagų duomenys
Medžiagos savybės ELASTIC !ELASTIC
Kraštinės sąlygos Įtvirtinimas, sutelktoji apkrova
Matricos sprendimo metodas CG/SSOR !SOLVER,METHOD=CG,PRECOND=1

Kiekvieno mazgo skaičiavimo sritis

4.2.1 pav. Kiekvieno mazgo skaičiavimo sritis

Analizės parengimas

Išskleiskite FrontISTR kodą, pereikite į šio pavyzdžio katalogą ir patikrinkite, ar yra šie analizei reikalingi failai:

Failo pavadinimas Tipas Paskirtis
hecmw_ctrl.dat Globalieji valdymo duomenys
hinge.cnt Analizės valdymo duomenys
hinge.msh Tinklo duomenys
hecmw_part_ctrl.dat Srities skaidymo valdymo duomenys Valdymo duomenys, naudojami, kai hecmw_part1 padalija tinklo duomenis į sritis

Patikrinkite, ar šie failai yra.

tar xvf FrontISTR.tar.gz
cd FrontISTR/tutorial/02_elastic_hinge_parallel
ls

Išvestis:

hecmw_ctrl.dat  hecmw_part_ctrl.dat  hinge.cnt  hinge.msh

Atlikite įtempių analizę, apribodami įtvirtintų paviršių poslinkius ir apkrovos paviršiui taikydami sutelktąją apkrovą.

Globalieji valdymo duomenys, analizės valdymo duomenys ir srities skaidymo valdymo duomenys pateikti toliau.

Globalieji valdymo duomenys hecmw_ctrl.dat

#
# for partitioner
#
!MESH, NAME=part_in,TYPE=HECMW-ENTIRE # Pradiniai tinklo duomenys, kuriuos hecmw_part1 turi padalyti
 hinge.msh
!MESH, NAME=part_out,TYPE=HECMW-DIST  # Failo pavadinimas po padalijimo su hecmw_part1
 hinge_4
#
# for solver
#
!MESH, NAME=fstrMSH, TYPE=HECMW-DIST  # Nurodomi padalyto tinklo duomenys
 hinge_4
!CONTROL, NAME=fstrCNT                # Nurodomi analizės valdymo duomenys
 hinge.cnt
!RESULT, NAME=fstrRES, IO=OUT         # Nurodomi rezultatų duomenys
 hinge.res
!RESULT, NAME=vis_out, IO=OUT         # Nurodomi vizualizavimo duomenys
 hinge_vis

Analizės valdymo duomenys hinge.cnt

#  Control File for FISTR
## Analysis Control
!VERSION                   # Nurodoma failo formato versija
 3
!SOLUTION, TYPE=STATIC     # Nurodomas analizės tipas
!WRITE,RESULT              # Nurodoma rezultatų duomenų išvestis
!WRITE,VISUAL              # Nurodoma vizualizavimo duomenų išvestis
## Solver Control
### Boundary Condition
!BOUNDARY
 BND0, 1, 3, 0.000000      # Nurodomas įtvirtintas paviršius 1
!BOUNDARY
 BND1, 1, 3, 0.000000      # Nurodomas įtvirtintas paviršius 2
!CLOAD
 CL0, 1, 0.01000           # Nurodomas apkrovos paviršius
### Material
!MATERIAL, NAME=STEEL      # Nurodomos medžiagos savybės
!ELASTIC                   # Apibrėžiama elastinė medžiaga
 210000.0, 0.3
!DENSITY                   # Apibrėžiamas masės tankis
 7.85e-6
### Solver Setting
!SOLVER,METHOD=CG,PRECOND=1,ITERLOG=YES,TIMELOG=YES  # Valdomas sprendiklis
 10000, 2
 1.0e-08, 1.0, 0.0
## Post Control
!VISUAL,method=PSR         # Nurodomas vizualizavimo metodas
!surface_num=1             # Paviršių skaičius viename paviršių atvaizdavime
!surface 1                 # Nurodomas paviršiaus turinys
!output_type=VTK           # Nurodomas vizualizavimo failo tipas
!END                       # Žymi analizės valdymo duomenų pabaigą

Srities skaidymo valdymo duomenys hecmw_part_ctrl.dat

!PARTITION,TYPE=NODE-BASED,METHOD=PMETIS,DOMAIN=4,UCD=part.inp

Analizės procedūra

Norėdami paleisti FrontISTR su MPI, pirmiausia padalykite tinklo duomenis hinge.msh į keturias sritis.

hecmw_part1

Išvestis:

Oct 07 11:04:52 Info: Reading mesh file...
Oct 07 11:04:52 Info: Starting domain decomposition...
Oct 07 11:04:52 TH(0/8) Info: Creating local mesh for domain #0 ...
Oct 07 11:04:52 TH(2/8) Info: Creating local mesh for domain #1 ...
Oct 07 11:04:52 TH(6/8) Info: Creating local mesh for domain #2 ...
Oct 07 11:04:52 TH(7/8) Info: Creating local mesh for domain #3 ...
Oct 07 11:04:52 Info: Domain decomposition done

Sugeneruojami nauji failai pavadinimais hinge_4.x ir part.inp.

ls

Išvestis:

hecmw_ctrl.dat  hecmw_part_ctrl.dat  hinge.msh  hinge_4.1  hinge_4.3
hecmw_part.log  hinge.cnt            hinge_4.0  hinge_4.2  part.inp

Tada paleiskite FrontISTR vykdomąjį failą fistr1 naudodami MPI.

mpirun -np 4 fistr1 -t 1

(Vykdoma 4 MPI procesais ir 1 OpenMP gija)

##################################################################
#                         FrontISTR                              #
##################################################################
---
version:    5.1.0
git_hash:   acab000c8c633b7b9d596424769e14363f720841
build:
  date:     2020-10-05T07:39:55Z
  MPI:      enabled
  OpenMP:   enabled
  option:   "-p --with-tools --with-refiner --with-metis --with-mumps --with-lapack --with-ml --with-mkl "
  HECMW_METIS_VER: 5
execute:
  date:       2020-10-07T11:07:21+0900
  processes:  4
  threads:    1
  cores:      4
  host:
    0: flow-p06
    1: flow-p06
    2: flow-p06
    3: flow-p06
---
...
 Step control not defined! Using default step=1
 fstr_setup: OK
 Start visualize PSF 1 at timestep 0

 loading step=    1
 sub_step= 1,   current_time=  0.0000E+00, time_inc=  0.1000E+01
 loading_factor=    0.0000000   1.0000000
### 3x3 BLOCK CG, SSOR, 2
      1    2.183567E+00
      2    2.423900E+00
      3    2.939117E+00
...
   2084    1.158654E-08
   2085    1.032414E-08
   2086    9.436273E-09
### Relative residual = 9.43589E-09

### summary of linear solver
      2086 iterations      9.435886E-09
    set-up time      :     4.695220E-02
    solver time      :     7.103976E+01
    solver/comm time :     1.929294E+01
    solver/matvec    :     1.544405E+01
    solver/precond   :     3.243278E+01
    solver/1 iter    :     3.405549E-02
    work ratio (%)   :     7.284205E+01

 Start visualize PSF 1 at timestep 1
### FSTR_SOLVE_NLGEOM FINISHED!

 ====================================
    TOTAL TIME (sec) :     72.42
           pre (sec) :      0.29
         solve (sec) :     72.13
 ====================================
 FrontISTR Completed !!

Analizė baigta, kai parodoma FrontISTR Completed !!.

Analizės rezultatai

Baigus analizę sukuriami keli nauji failai.

ls

Išvestis:

0.log       FSTR.dbg.3           hinge.cnt      hinge.res.2.1  hinge_vis_psf.0000
1.log       FSTR.msg             hinge.msh      hinge.res.3.0  hinge_vis_psf.0000.pvtu
2.log       FSTR.sta             hinge.res.0.0  hinge.res.3.1  hinge_vis_psf.0001
3.log       hecmw_ctrl.dat       hinge.res.0.1  hinge_4.0      hinge_vis_psf.0001.pvtu
FSTR.dbg.0  hecmw_part.log       hinge.res.1.0  hinge_4.1      part.inp
FSTR.dbg.1  hecmw_part_ctrl.dat  hinge.res.1.1  hinge_4.2
FSTR.dbg.2  hecmw_vis.ini        hinge.res.2.0  hinge_4.3

*.res.* failuose yra kiekvieno MPI mazgo FrontISTR analizės rezultatų duomenys. Juos galima atvaizduoti naudojant REVOCAP_PrePost ir panašius įrankius.

*_vis_* failuose yra vizualizavimo duomenys, kuriuos galima atvaizduoti bendros paskirties vizualizavimo programine įranga. Šiame pavyzdyje duomenys išvedami VTK formatu, todėl jiems atvaizduoti naudokite ParaView ar panašią programinę įrangą.

Von Miseso įtempio analizės rezultatas (atvaizduotas VTK)

4.2.2 pav. Von Miseso įtempio analizės rezultatas (atvaizduotas VTK)

Analizės rezultatų žurnalas 0.log

 fstr_setup: OK
#### Result step=     0
 ##### Local Summary @Node    :Max/IdMax/Min/IdMin####
 //U1    0.0000E+00         1  0.0000E+00         1
 //U2    0.0000E+00         1  0.0000E+00         1
 //U3    0.0000E+00         1  0.0000E+00         1
 //E11   0.0000E+00         1  0.0000E+00         1
 //E22   0.0000E+00         1  0.0000E+00         1
 //E33   0.0000E+00         1  0.0000E+00         1
 //E12   0.0000E+00         1  0.0000E+00         1
 //E23   0.0000E+00         1  0.0000E+00         1
 //E31   0.0000E+00         1  0.0000E+00         1
 //S11   0.0000E+00         1  0.0000E+00         1
 //S22   0.0000E+00         1  0.0000E+00         1
 //S33   0.0000E+00         1  0.0000E+00         1
 //S12   0.0000E+00         1  0.0000E+00         1
 //S23   0.0000E+00         1  0.0000E+00         1
 //S31   0.0000E+00         1  0.0000E+00         1
 //SMS   0.0000E+00         1  0.0000E+00         1
 ##### Local Summary @Element :Max/IdMax/Min/IdMin####
 //E11   0.0000E+00         1  0.0000E+00         1
 //E22   0.0000E+00         1  0.0000E+00         1
 //E33   0.0000E+00         1  0.0000E+00         1
 //E12   0.0000E+00         1  0.0000E+00         1
 //E23   0.0000E+00         1  0.0000E+00         1
 //E31   0.0000E+00         1  0.0000E+00         1
 //S11   0.0000E+00         1  0.0000E+00         1
 //S22   0.0000E+00         1  0.0000E+00         1
 //S33   0.0000E+00         1  0.0000E+00         1
 //S12   0.0000E+00         1  0.0000E+00         1
 //S23   0.0000E+00         1  0.0000E+00         1
 //S31   0.0000E+00         1  0.0000E+00         1
 //SMS   0.0000E+00         1  0.0000E+00         1
 ##### Global Summary @Node    :Max/IdMax/Min/IdMin####
 //U1    0.0000E+00        14  0.0000E+00        14
 //U2    0.0000E+00        14  0.0000E+00        14
 //U3    0.0000E+00        14  0.0000E+00        14
 //E11   0.0000E+00        14  0.0000E+00        14
 //E22   0.0000E+00        14  0.0000E+00        14
 //E33   0.0000E+00        14  0.0000E+00        14
 //E12   0.0000E+00        14  0.0000E+00        14
 //E23   0.0000E+00        14  0.0000E+00        14
 //E31   0.0000E+00        14  0.0000E+00        14
 //S11   0.0000E+00        14  0.0000E+00        14
 //S22   0.0000E+00        14  0.0000E+00        14
 //S33   0.0000E+00        14  0.0000E+00        14
 //S12   0.0000E+00        14  0.0000E+00        14
 //S23   0.0000E+00        14  0.0000E+00        14
 //S31   0.0000E+00        14  0.0000E+00        14
 //SMS   0.0000E+00        14  0.0000E+00        14
 ##### Global Summary @Element :Max/IdMax/Min/IdMin####
 //E11   0.0000E+00        14  0.0000E+00        14
 //E22   0.0000E+00        14  0.0000E+00        14
 //E33   0.0000E+00        14  0.0000E+00        14
 //E12   0.0000E+00        14  0.0000E+00        14
 //E23   0.0000E+00        14  0.0000E+00        14
 //E31   0.0000E+00        14  0.0000E+00        14
 //S11   0.0000E+00        14  0.0000E+00        14
 //S22   0.0000E+00        14  0.0000E+00        14
 //S33   0.0000E+00        14  0.0000E+00        14
 //S12   0.0000E+00        14  0.0000E+00        14
 //S23   0.0000E+00        14  0.0000E+00        14
 //S31   0.0000E+00        14  0.0000E+00        14
 //SMS   0.0000E+00        14  0.0000E+00        14
#### Result step=     1
 ##### Local Summary @Node    :Max/IdMax/Min/IdMin####
 //U1    7.4906E-03     50978 -6.9368E-04     51989
 //U2    6.1150E-05      2426 -1.2781E-04     40202
 //U3    1.8720E-04      2712 -5.5024E-03     67858
 //E11   1.3024E-03     28591 -1.2844E-03     28580
 //E22   2.1102E-04     24593 -2.0594E-04       205
 //E33   6.8634E-04     51036 -5.9603E-04     67794
 //E12   5.2186E-04       209 -5.4559E-04     28641
 //E23   2.5417E-04     28521 -3.2956E-04       187
 //E31   7.2396E-04     36168 -9.5847E-04     28591
 //S11   3.6844E+02     28591 -3.6387E+02     28580
 //S22   1.5841E+02     28591 -1.5743E+02     28580
 //S33   1.5959E+02     51036 -1.5643E+02     28580
 //S12   4.2150E+01       209 -4.4067E+01     28641
 //S23   2.0529E+01     28521 -2.6618E+01       187
 //S31   5.8474E+01     36168 -7.7415E+01     28591
 //SMS   2.5134E+02     28591  3.5157E-02     12726
 ##### Local Summary @Element :Max/IdMax/Min/IdMin####
 //E11   1.0115E-03      9959 -9.7870E-04      9942
 //E22   1.5457E-04     13694 -1.4639E-04      7189
 //E33   5.9415E-04     44563 -5.0497E-04     47965
 //E12   3.5513E-04      9579 -3.9083E-04      9600
 //E23   2.0608E-04      9563 -2.3480E-04      9589
 //E31   5.7633E-04     43142 -4.8019E-04      9571
 //S11   2.6038E+02      9573 -2.5605E+02      9571
 //S22   1.0144E+02      9573 -1.0100E+02      9571
 //S33   1.3921E+02     44569 -1.1431E+02     47974
 //S12   2.8683E+01      9579 -3.1567E+01      9600
 //S23   1.6645E+01      9563 -1.8964E+01      9589
 //S31   4.6550E+01     43142 -3.8785E+01      9571
 //SMS   2.0350E+02      9959  3.4602E-02        28
 ##### Global Summary @Node    :Max/IdMax/Min/IdMin####
 //U1    3.9115E-02     82452 -7.1083E-04     65233
 //U2    7.4504E-05       354 -5.8813E-04       696
 //U3    5.9493E-04        84 -5.8751E-03     61080
 //E11   1.3777E-03       130 -1.3653E-03     77625
 //E22   4.9199E-04        61 -5.4370E-04       102
 //E33   6.8634E-04     51036 -6.1176E-04     30070
 //E12   7.1556E-04     27808 -6.8093E-04     27863
 //E23   5.3666E-04        56 -5.4347E-04        82
 //E31   7.2396E-04     36168 -9.6621E-04       130
 //S11   3.8626E+02       130 -3.6387E+02     28580
 //S22   1.6628E+02       130 -1.5743E+02     28580
 //S33   1.6502E+02     30033 -1.5643E+02     28580
 //S12   5.7795E+01     27808 -5.4998E+01     27863
 //S23   4.3345E+01        56 -4.3896E+01        82
 //S31   5.8474E+01     36168 -7.8040E+01       130
 //SMS   2.8195E+02     77625  1.2755E-02     75112
 ##### Global Summary @Element :Max/IdMax/Min/IdMin####
 //E11   1.0731E-03     10485 -1.2123E-03     41779
 //E22   3.9143E-04     33536 -4.1389E-04     22892
 //E33   5.9415E-04     44563 -5.0497E-04     47965
 //E12   5.3264E-04      9163 -5.0405E-04      9161
 //E23   3.9226E-04     33024 -4.1464E-04     23465
 //E31   5.7633E-04     43142 -4.8019E-04      9571
 //S11   2.7231E+02      9180 -2.9763E+02     41779
 //S22   1.0792E+02      9180 -1.0656E+02     41779
 //S33   1.3921E+02     44569 -1.1431E+02     47974
 //S12   4.3021E+01      9163 -4.0712E+01      9161
 //S23   3.1683E+01     33024 -3.3490E+01     23465
 //S31   4.6550E+01     43142 -3.8785E+01      9571
 //SMS   2.4057E+02     41779  3.1383E-02     38687
AI-assisted translation May contain errors Official docs Status