Користувальницькькі налаштування

Налаштування сайту


3dvisualization

Розбіжності

Тут показані розбіжності між вибраною ревізією та поточною версією сторінки.

Посилання на цей список змін

Both sides previous revision Попередня ревізія
3dvisualization [2016/01/19 08:52]
wombat [Использование]
3dvisualization [2016/01/19 09:09] (поточний)
wombat [Использование] пояснение переменных
Рядок 1: Рядок 1:
 +====== Silomesh ======
  
 +===== Установка =====
 +
 +Перед установкой silomesh необходимо произвести некоторые подготовительные действия. На разных системах они могут быть разные. Некоторые описаны ниже.
 +
 +==== В Ubuntu 14.04 (Trusty) ====
 +
 +  sudo apt-get install python-h5py python3-h5py
 +
 +Также требуется пакет ''​libsiloh5-0'',​ но в Ubuntu 14.04 он собран с поддержкой MPI, а версия OpenMPI не поддерживает Fortran2003,​ который требуется для OpenMC. Поэтому для использования с OpenMC нужно пересобрать и пакет ''​libsiloh5-0''​ без поддержки MPI, чтобы использовать ''​gfortran'',​ который имеет поддержку Fortran2003.
 +
 +  ~ $ apt-get source libsiloh5-0
 +  ~ $ cd silo-llnl-4.8/​
 +  ~/​silo-llnl-4.8 $ nano debian/​rules
 +Вместо nano можно использовать любой текстовый редактор. Находим и редактируем следующие строки,​ удаляя параметр ''​-I$(MPI_INC)''​
 +
 +<file bash rules>
 +...
 +#include /​usr/​share/​mpi-default-dev/​debian_defaults
 +##​ARCH_DEFAULT_MPI_IMPL=lam
 +#​MPI_INC=/​usr/​lib/​$(ARCH_DEFAULT_MPI_IMPL)/​include
 +#
 +#ifeq ($(ARCH_DEFAULT_MPI_IMPL),​lam)
 +#  CC:​=mpicc.lam
 +#else
 +#  CC:=mpicc
 +#endif
 +...
 + LDFLAGS="​$(LDFLAGS) -Wl,​--as-needed"​ dh_auto_configure -- --enable-pythonmodule --enable-silex --with-qt=/​usr --enable-pythonmodule --enable-silex --with-qt-bin=/​usr/​bin --with-qt-lib=/​usr/​lib ​ --with-qt-include=/​usr/​include/​qt4 --with-hdf5=/​usr/​include,/​usr/​lib CPPFLAGS="​ -I$(MPI_INC) $(CPPFLAGS)" ​ CC=$(CC) ​ CFLAGS="​$(CFLAGS)"​
 +...
 + --with-hdf5=/​usr/​include,/​usr/​lib PYTHON=$$p CPPFLAGS="​ -I$(MPI_INC) $(CPPFLAGS)"​ CC=$(CC) ​ CFLAGS="​$(CFLAGS)"​ ; \
 +
 +</​file>​
 +
 +  ~/​silo-llnl-4.8 $ debuild -uc -us
 +  ~/​silo-llnl-4.8 $ cd ..
 +  ~ $ sudo dpkg -i libsilo-bin_4.8-13build1_amd64.deb libsilo-dev_4.8-13build1_amd64.deb libsiloh5-0_4.8-13build1_amd64.deb python-silo_4.8-13build1_amd64.deb
 +
 +==== В Gentoo ====
 +
 +  emerge sci-libs/​silo
 +
 +==== Пользовательская установка ====
 +
 +В данном случае предлагается устанавливать silomesh не общесистемно,​ а в домашний каталог пользователя. В таком случае не требуются права администратора (хотя, права администратора требуются для подготовительных действий,​ описанных выше).
 +
 +  git clone https://​github.com/​nhorelik/​silomesh
 +  cd silomesh/
 +  python setup.py build
 +  python setup.py install --prefix=/​home/​user/​local/​usr/​
 +
 +Следует отметить,​ что в случае с Gentoo понадобилась такая последовательность команд:​
 +
 +  python setup.py build_ext --libraries=stdc++
 +  python setup.py build
 +  python setup.py install --prefix=/​home/​user/​local/​usr/​
 +
 +
 +===== Использование =====
 +
 +Если silomesh был установлен в домашний каталог пользователя,​ как описано выше, то для использования этого модуля в своих программах на Python, нужно указать путь к этому модулю:​
 +
 +<code python silomesh-use.py>​
 +import sys
 +sys.path.append('/​home/​user/​local/​usr/​lib/​python2.7/​site-packages/'​)
 +import silomesh
 +
 +silomesh.init_silo("​filename.silo"​)
 +silomesh.init_mesh('​Mesh1',​ *mesh.dimension,​ *mesh.lower_left,​ *mesh.upper_right)
 +silomesh.init_var('​Variable1'​)
 +for x in range(1,​nx+1):​
 +  for y in range(1,​ny+1):​
 +    for z in range(1,​nz+1):​
 +      silomesh.set_value(float(value),​x,​y,​z)
 +silomesh.finalize_var()
 +silomesh.finalize_mesh()
 +silomesh.finalize_silo()
 +</​code>​
 +
 +При этом
 +  * ''​mesh.dimension''​ -- это список числа ячеек сетки в трёх измерениях вида ''​[nx,​ ny, nz]'';​
 +  * ''​mesh.lower_left''​ -- список координат нижнего левого угла трёхмерной сетки вида ''​[x,​ y, z]'';​
 +  * ''​mesh.upper_right''​ -- список координат верхнего правого угла трёхмерной сетки вида ''​[x,​ y, z]'';​
 +  * ''​value''​ -- значение измеряемой величины в данной ячейке сетки.
 +
 +
 +
 +====== Ссылки ======
 +
 +
 +
 +[[http://​www.paraview.org/​ | ParaView]]
 +
 +[[http://​www.vtk.org/​ | VTK]]
 +
 +[[https://​wci.llnl.gov/​simulation/​computer-codes/​visit | VisIt]]
 +
 +[[https://​wci.llnl.gov/​simulation/​computer-codes/​silo | Silo]]
 +
 +[[https://​github.com/​nhorelik/​silomesh | silomesh]]
3dvisualization.txt · В останнє змінено: 2016/01/19 09:09 by wombat