Прескокнете до содржината

Линеарна статичка анализа (еластичност, паралелно)

За да се изведе статичка анализа (еластичност) со 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

#
# for partitioner
#
!MESH, NAME=part_in,TYPE=HECMW-ENTIRE # оригинални податоци за мрежата што ги дели hecmw_part1
 hinge.msh
!MESH, NAME=part_out,TYPE=HECMW-DIST  # име на датотеката по поделбата со hecmw_part1
 hinge_4
#
# for solver
#
!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

#  Control File for FISTR
## Analysis Control
!VERSION                   # задавање на верзијата на форматот на датотеката
 3
!SOLUTION, TYPE=STATIC     # задавање на видот на анализа
!WRITE,RESULT              # задавање излез на податоците за резултатите
!WRITE,VISUAL              # задавање излез на податоците за визуелизација
## Solver Control
### Boundary Condition
!BOUNDARY
 BND0, 1, 3, 0.000000      # задавање на ограничената површина 1
!BOUNDARY
 BND1, 1, 3, 0.000000      # задавање на ограничената површина 2
!CLOAD
 CL0, 1, 0.01000           # задавање на површината за оптоварување
### Material
!MATERIAL, NAME=STEEL      # задавање на материјалните својства
!ELASTIC                   # дефиниција на еластичен материјал
 210000.0, 0.3
!DENSITY                   # дефиниција на густината на маса
 7.85e-6
### Solver Setting
!SOLVER,METHOD=CG,PRECOND=1,ITERLOG=YES,TIMELOG=YES  # контрола на решавачот
 10000, 2
 1.0e-08, 1.0, 0.0
## Post Control
!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 на 4 домени.

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

Потоа извршете ја командата fistr1 за FrontISTR со MPI.

mpirun -np 4 fistr1 -t 1

(MPI со 4 паралелни процеси, 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.* се датотеки со податоци за резултатите и ги содржат резултатите од анализата за секој MPI јазол на FrontISTR. Може да се прикажат со REVOCAP_PrePost и слични алатки.

*_vis_* се датотеки со податоци за визуелизација и може да се прикажат со општ софтвер за визуелизација. Во овој пример излезот е во VTK формат, па се користи ParaView или слична алатка.

Резултат од анализата на von Mises напрегањето (приказ во VTK)

Слика 4.2.2 Резултат од анализата на von Mises напрегањето (приказ во 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