Перейти до змісту

Лінійний статичний аналіз (пружність, паралельне виконання)

Щоб виконати статичний аналіз (пружність) у 4 паралельних процесах, використовуйте дані з tutorial/02_elastic_hinge_parallel.

Об’єкт аналізу

Пункт Опис Примітки Посилання
Тип аналізу Лінійний статичний аналіз !SOLUTION,TYPE=STATIC
Кількість вузлів 84,056
Кількість елементів 49,871
Тип елемента 10-вузловий квадратичний тетраедральний елемент !ELEMENT,TYPE=342 Бібліотека елементів
Назва матеріалу STEEL !MATERIAL,NAME=STEEL Дані матеріалів
Властивості матеріалу ELASTIC !ELASTIC
Граничні умови Закріплення, зосереджене навантаження
Матричний розв’язувач CG/SSOR !SOLVER,METHOD=CG,PRECOND=1

Обчислювальна область кожного обчислювального вузла

Рисунок 4.2.1 Обчислювальна область кожного обчислювального вузла

Зміст аналізу

Розпакуйте код FrontISTR, перейдіть до каталогу цього прикладу та переконайтеся, що потрібні для аналізу файли

Ім’я файлу Тип Призначення
hecmw_ctrl.dat Загальні керувальні дані
hinge.cnt Керувальні дані аналізу
hinge.msh Дані сітки
hecmw_part_ctrl.dat Дані керування розбиттям сітки Керувальні дані, що використовуються, коли hecmw_part1 поділяє дані сітки на області

наявні.

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

Вивід:

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

Виконайте аналіз напружень, у якому переміщення закріплених поверхонь обмежуються, а до навантажувальної поверхні прикладається зосереджене навантаження.

Нижче наведено загальні керувальні дані, керувальні дані аналізу і дані керування розбиттям сітки.

Загальні керувальні дані hecmw_ctrl.dat

#
# для засобу розбиття сітки
#
!MESH, NAME=part_in,TYPE=HECMW-ENTIRE # Початкові дані сітки для поділу програмою hecmw_part1
 hinge.msh
!MESH, NAME=part_out,TYPE=HECMW-DIST  # Ім’я файлу після поділу програмою hecmw_part1
 hinge_4
#
# для розв’язувача
#
!MESH, NAME=fstrMSH, TYPE=HECMW-DIST  # Вказати дані поділеної сітки
 hinge_4
!CONTROL, NAME=fstrCNT                # Вказати керувальні дані аналізу
 hinge.cnt
!RESULT, NAME=fstrRES, IO=OUT         # Вказати дані результатів
 hinge.res
!RESULT, NAME=vis_out, IO=OUT         # Вказати дані візуалізації
 hinge_vis

Керувальні дані аналізу hinge.cnt

#  Керувальний файл для FISTR
## Керування аналізом
!VERSION                   # Вказати версію формату файлу
 3
!SOLUTION, TYPE=STATIC     # Вказати тип аналізу
!WRITE,RESULT              # Вказати виведення даних результатів
!WRITE,VISUAL              # Вказати виведення даних візуалізації
## Керування розв’язувачем
### Гранична умова
!BOUNDARY
 BND0, 1, 3, 0.000000      # Вказати закріплену поверхню 1
!BOUNDARY
 BND1, 1, 3, 0.000000      # Вказати закріплену поверхню 2
!CLOAD
 CL0, 1, 0.01000           # Вказати навантажувальну поверхню
### Матеріал
!MATERIAL, NAME=STEEL      # Вказати властивості матеріалу
!ELASTIC                   # Визначити пружний матеріал
 210000.0, 0.3
!DENSITY                   # Визначити масову густину
 7.85e-6
### Налаштування розв’язувача
!SOLVER,METHOD=CG,PRECOND=1,ITERLOG=YES,TIMELOG=YES  # Керування розв’язувачем
 10000, 2
 1.0e-08, 1.0, 0.0
## Керування постобробкою
!VISUAL,method=PSR         # Вказати метод візуалізації
!surface_num=1             # Кількість поверхонь в одному рендерингу поверхні
!surface 1                 # Вказати вміст поверхні
!output_type=VTK           # Вказати тип файлу візуалізації
!END                       # Позначити кінець керувальних даних аналізу

Дані керування розбиттям сітки hecmw_part_ctrl.dat

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

Процедура аналізу

Щоб запустити FrontISTR з MPI, спочатку поділіть дані сітки hinge.msh на чотири області.

hecmw_part1

Вивід:

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

Створюються нові файли з іменами hinge_4.x і part.inp.

ls

Вивід:

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

Далі запустіть виконувану команду FrontISTR fistr1 за допомогою MPI.

mpirun -np 4 fistr1 -t 1

(виконання з 4 процесами MPI та 1 потоком OpenMP)

##################################################################
#                         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 !!

Аналіз завершено, коли з’явиться повідомлення FrontISTR Completed !!.

Результати аналізу

Після завершення аналізу створюється кілька нових файлів.

ls

Вивід:

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.* є даними результатів і містять результати аналізу FrontISTR для кожного вузла MPI. Їх можна переглядати за допомогою REVOCAP_PrePost та подібних засобів.

Файли *_vis_* є даними візуалізації та можуть відображатися універсальним програмним забезпеченням для візуалізації. У цьому прикладі дані виводяться у форматі VTK, тому для їх перегляду використовуйте ParaView або подібне програмне забезпечення.

Результат аналізу напруження Мізеса (відображено у VTK)

Рисунок 4.2.2 Результат аналізу напруження Мізеса (відображено у VTK)

Журнал результатів аналізу 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