精华内容
下载资源
问答
  • Redis2020新版可视化开发工具.zip我们经常要查看Redis中存储的数据,但是每次都执行命令特别麻烦,今天就推荐一个超好用的Redis可视化工具,填好地址和ip即可正常访问
  • redis windows版和可视化工具
  • 摘要:OpendDCL_AutoCAD可视化对话框界面开发的第三方工具,适用于Lisp/Vlisp开发环境,使用简单,...本文通过简单实例介绍在Visuale Lisp开发环境下,利用Opendcl可视化对话框开发工具进行AutoCAD对话框开发的方法。
  • redis是一个开源的使用ANSI C语言编写、支持用户网络而且可基于内存亦可持久化的数据库,提供多种语言的API,不过无法在windows上显示,这款redis可视化工具就是能够让我们的用户采用可视化操作界面查看数据库的工具...
  • redis可视化工具

    2020-05-06 20:12:30
    亲测可用,windows下链接redis可视化工具,性能好,反应快,直接解压安装即可,便于学习和开发
  • MFC和可视化开发工具

    千次阅读 2004-06-24 13:54:00
    comp.os.ms-windows.programmer.tools.mfc comp.os.ms-windows.programmer.mfc microsoft.public.vc.mfc microsoft.public.vc.mfc.docview 邮件列表 http://www.digiday.com/mfcpro/joinmfcl.htm  

    列表:

    Microsoft Visual C++ ------http://msdn.microsoft.com/visualc/

    Symantec C++------http://www.symantec.com/scpp/index.html

    Inprise C++ Builder------http://www.inprise.com/bcppbuilder/

    Watcom C/C++------http://www.powersoft.com/products/languages/watccpl.html

    MFC Web 站点

    Microsoft Developer Network ----http://msdn.microsoft.com/developer/

    Microsoft Visual C++ ------http://msdn.microsoft.com/visualc/

    MFC Professional ----http://www.visionx.com/mfcpro/

    MFC FAQ ----http://www.stingsoft.com/mfc_faq/

    MFC 的主要新闻组

    comp.os.ms-windows.programmer.tools.mfc

    comp.os.ms-windows.programmer.mfc

    microsoft.public.vc.mfc

    microsoft.public.vc.mfc.docview

    邮件列表

    http://www.digiday.com/mfcpro/joinmfcl.htm

     

    展开全文
  • 刚开始学java的时候,接触swing都是直接用代码来拼凑界面。...就是原先的SWT Designer可视化界面设计工具。google早就收购了,并且现在是免费使用的。兼容gwt 和swing/swt。我都是拿来用swing界面。 这里

    刚开始学java的时候,接触swing都是直接用代码来拼凑界面。小一点的还好,稍微复杂点界面,光写界面都累死人了。尽管许多人并不使用swing来开发什么软件,但是这不影响你拿他来学习。

    google的windowbuilder。就是原先的SWT Designer可视化界面设计工具。google早就收购了,并且现在是免费使用的。兼容gwt 和swing/swt。我都是拿来用swing界面。

    这里是google的在线安装地址:http://code.google.com/intl/zh-CN/webtoolkit/tools/download-wbpro.html

    安装比较简单,

    点击 Install New Software 。

    点击add

    在Location中填入对应版本的更新地址。(版本对应eclipse,google上有说明)然后点击ok。

    记住:

    图上标出的选项一般不勾选,这样安装不检查,会比较快。

     

    可视化设计界面。

     

    比自己写代码要方块很多了。而且排列对齐也比较方便,都会自动对齐

    展开全文
  • VisIt是一种免费、开放源代码、跨平台、分布式、并行的可视化工具,用于可视化在二维和三维结构化和非结构化网格上定义的数据。VisIt的分布式体系结构使其可以利用远程大型并行计算机进行计算和本地计算机的硬件进行...

    一、VisIt简介

    1.1 VisIt基本介绍

    VisIt是一种免费、开放源代码、跨平台、分布式、并行的可视化工具,用于可视化在二维和三维结构化和非结构化网格上定义的数据。VisIt的分布式体系结构使其可以利用远程大型并行计算机进行计算和本地计算机的硬件进行绘图。VisIt的用户界面通常在Windows,Linux或OSX台式计算机上本地运行,而其计算引擎组件则在远程计算机上并行运行。

    VisIt 具有一种客户端-服务器体系结构,该体系结构由一个或多个连接到查看器的客户端组成,该查看器连接到一个或多个并行服务器。客户端和查看器通常在用户桌面系统上本地运行,而并行服务器在某些远程高性能计算平台上运行。如下图所示。这是最常见的情况,但是组件也可以全部运行在单个系统上,无论是在台式机上还是在远程高性能计算平台上。对于少量的数据集,该服务器还可以串行运行。
    在这里插入图片描述
    VisIt 支持许多不同的客户端,包括图形用户界面(GUI),基于 Python 的命令行界面(CLI)和 Java 编程界面。一次可以有多个客户端处于活动状态,VisIt 会协调它们之间的状态,使它们保持同步。

    1.2 为什么选择VisIt?

    几种常用绘图工具的比较如下所示。

    在这里插入图片描述
    VisIt、Matlab和Origin对粒子数据和场数据的可视化效果如下图所示。
    在这里插入图片描述
    VisIt、Matlab和Origin对粒子数据和场数据作图时间的比较如下表所示。
    在这里插入图片描述
    综合考虑绘图效果、作图速度、灵活性、可处理规模、程序发展等方面,VisIt都是一个更为合适的选择。

    1.3 VisIt可视化策略选取

    通过VisIt实现可视化共有三种方法:

    1. 编写VisIt可以识别的文件,如果模拟程序是C、Fortran语言则导出Silo文件,如果是C、Python等其它语言则导出VTK文件。这里用的是Fortran,所以选择Silo文件格式。
    2. 给VisIt编写插件,以读取现有程序能生成的文件,比如DAT格式文件。
    3. 在程序内编写调用模块,直接调取 VisIt进行在线作图。

    三种方式的优缺点比较如下表所示:

    在这里插入图片描述
    对于一般的模拟程序而言,采用第一种方式最为简单和直接。经过实际的比较,Silo格式的文件比Dat文件的文件写入速度要快得多,而且生成的文件大小也更小,具有明显的优势。

    文件格式粒子数据写入时间场强数据写入时间
    Silo0.015625 秒0.015625 秒
    Dat1.218750 秒0.390625 秒
    文件格式写入粒子数据写入场强数据
    Silo5.37M0.207M
    Dat17.3M4.28M

    综上,目前以第一种可视化策略为主。本教程也主要是在Windows平台上实现第一种绘图方法。

    二、使用要求

    VisIt能支持在多种平台上运行,但是其对运行环境有一些特殊的要求,尤其是对于程序开发人员来说。

    1、计算机系统必须是 64 位的,VisIt目前均为64位的安装包,不支持在32位的操作系统上运行。
    2、VisIt 要求计算机上安装好 64 位的 Visual Studio 2017 和 CMAKE 等专业软件,如果已经有了silo文件,不需要自己存储数据的话可以不需要。
    3、计算机需要有较好的处理器和显示器,以保证运行的流畅性。本机的参考配置为i7八核处理器 2.90GHz、16G内存、intel UHD Graphics 630第八代核显(推荐使用独立显卡)、1080P 27寸戴尔显示器。
    4、安装好2017或2019版本的IVF编译器,以及MPI并行程序接口,以满足VisIt和模拟程序的并行运行要求,并进行相应的配置,同理,不需要编程的话可以不用,本教程是从需要编程开发的角度写的。

    三、安装流程

    开始安装之前先准备好上面的运行环境,其中安装Visual Studio、IVF等软件可以参考网上教程,安装好VS2017、IVF2017/2019、MPI等Fortran编程开发环境。

    首先进入官方下载地址:
    https://wci.llnl.gov/simulation/computer-codes/visit/executables。进入官网后,找到对应的 VisIt 版本,这里以最新的 VisIt 3.1 版本为例,点击 Windows(10/8/7)64 Bit 后面的Download按钮进行下载。
    在这里插入图片描述
    将文件下载到指定目录下后,双击exe文件运行。
    在这里插入图片描述
    如果电脑上安装了杀毒软件的话,需要全部关掉,同时也要把系统自带的防火墙关掉,否则将会出现如下图所示的报错提示,导致安装无法进行。

    在这里插入图片描述
    因为本电脑只安装了Windows自带的防火墙,所以只需要将其关闭即可,在电脑右下角的任务栏里面找到 Windows Security并打开。

    在这里插入图片描述
    在弹出来的 Windows Security 窗口中找到下图所示的图标,点进去。
    在这里插入图片描述
    在 Virus & threat protection 页面里面,找到 Virus & threat protection Settings 板块,点击下面的 Manage settings。
    在这里插入图片描述
    在 Virus & threat protection Settings 页面里面,找到 Real-time protection,在它下面有一个开关按钮,把它拨到 Off 的状态。同理,把 Real-time protection 下面还有 Cloud-delivered protection、Automatic sample submission 和 Tamper Protection 三项,也按同样的方法关闭。

    在这里插入图片描述
    在这里插入图片描述
    接下来再重新运行visit3.1.0_x64.exe文件。如果还提示安全警告可以点图中的 More info,然后选择Run anyway,也可以运行。

    在这里插入图片描述
    在这里插入图片描述
    点击Next进行下一步。

    在这里插入图片描述
    点击I Agree。

    在这里插入图片描述
    选择All Users,Next。

    在这里插入图片描述
    自动下载相关文件中。
    在这里插入图片描述
    选择安装位置。注意安装路径不要有中文,点击Next。

    在这里插入图片描述
    选择要安装的组件,建议都安装,其中Plugin development组件安装必须先安装好Microsoft Visual Studio 2017,全部勾选后点击Next。

    在这里插入图片描述
    选择默认的数据库读取插件,这里默认不选择,点击Next。

    在这里插入图片描述
    选择网络配置,这里也默认不选择,点击Next。

    在这里插入图片描述
    关联文件类型,这里是可选项,如果后面用到Python控制VisIt则勾选上第一项,这里建议两个都勾选,点击Install。

    在这里插入图片描述
    正在安装,稍等几分钟。

    在这里插入图片描述

    安装过程会提示你如果想要用到VisIt的远程处理功能,则需要将VisIt添加到系统防火墙的例外清单中,点击OK,再点击Finish完成安装。

    在这里插入图片描述
    在这里插入图片描述
    安装完成之后,按照相同的方法再去把系统防火墙打开。此时桌面就会有一个VisIt软件的图标,双击运行它。会弹出两个安全警告窗口,都选择Allow access。至此,软件的安装完成。
    在这里插入图片描述
    在这里插入图片描述
    第一次运行会弹出三个窗口,GUI操作面板、图形显示窗口和用户指导手册。
    在这里插入图片描述
    其他注意事项:

    1. 如果运行VisIt后发现窗口出现绿色闪烁条纹,影响显示效果,多半是核心显卡的问题,可以通过切换为独立显或卸载当前显卡来解决,参考教程:http://cadclub.glodon.com/question/detail/4402。
    2. 如果出现运行VisIt后只弹出一个窗口,找不到另一个窗口,多半是显示器的问题,显示器的分辨率过小,默认无法全部显示出来,可以调高显示器的分辨率,如果无法继续调高显示器的分辨率,可以使用Windows自带的分屏功能将另一个窗口调出来——将其中一个窗口用鼠标拖拽到显示器最左侧,松开后在右侧会显示其余活动窗口,单击Window窗口即可调出来。

    在这里插入图片描述
    4. 每次导入一个数据文件到VisIt时,会让你选择操作模式,Serial是串行,parallel是并行,如果想要缩短绘图时间并且处理器性能较好时建议选择并行模式,同时还可以设置要使用处理器的数量,默认是CPU的最大核数。
    5.
    在这里插入图片描述

    四、基本绘图方法

    当运行 VisIt图形用户界面时,可以看到一个基于Qt的 GUI 窗口(左)。GUI 是 VisIt 的客户端,提供了用户界面和菜单,可以选择要显示的内容。查看器显示所有可视化内容,并负责跟踪 VisIt的状态并将该状态与其他组件进行协调。因为需要利用本地计算机的图形硬件,所以GUI和查看器均应在本地运行。其它两个组件也可以在客户端计算机上运行,但它们通常是在生成数据文件的远程并行计算机或群集上运行。

    VisIt最多支持 16个绘图窗口。每个窗口彼此独立。VisIt使用活动窗口概念,在主窗口或其弹出窗口之一中所做的所有更改都将应用于当前活动的可视化窗口。主窗口和可视化窗口如下图所示。

    在这里插入图片描述
    VisIt 的主界面由五个部分组成:运算符区模块、表达式模块、数据库模块、绘图模块和查询区域。数据库从文件读取数据,并将数据作为变量显示在用户界面中。根据不同的变量类型,系统将自动显示出可以进行的绘图操作供用户选择。表达式对变量执行计算以生成新变量。查询通常将变量作为输入并生成单个值或少量值。查询还可以创建曲线,其中最常见的是随时间查询的结果,该查询随时间创建标量值的曲线。

    下面以一个VisIt自带的Silo数据文件为例,演示VisIt作图的流程。

    第一步 ,在GUI界面的Source模块中,点击Open以打开数据库读取工具,会弹出下图所示的File open窗口。

    在这里插入图片描述
    第二步,在 Path框中,输入要读取文件的路径然后回车,对应的文件将显示在右下角的 Files 方框中,这里以 multi-rect2d.silo 文件为例,multi-rect2d.silo文件在data文件夹中,选中对应的文件后,点击OK打开。

    在这里插入图片描述
    成功打开后,在 GUI 窗口中的 Sources 模块中就可以看当前激活的文件名称,并且下方的 Add 图标会从灰色变成彩色,表示成功读取了文件。

    在这里插入图片描述
    第三步,点击 Plots 模块中的 Add 按钮,先选择需要呈现的图形类型,这里选择伪色图(Pseudo color),再选择需要可视化的变量,能选择的变量是由Silo文件决定的,VisIt只负责识别并且呈现出来,这里以第一个变量d为例进行绘图。VisIt绘图的思路是先读取文件,识别其中的数据类型以及各种变量,以各种变量或者网格为基本单元进行绘图。

    在这里插入图片描述
    选择完之后,其下方会出现一个列表,列表名字为绘图类型-变量名称。刚读入的时候该列表的字体是绿色的,表示还没进行数据的处理;

    在这里插入图片描述
    第四步,作图。点击Draw进行画图,字体颜色会从绿色变成黄色,黄色表示数据正在进行处理;当处理完成之后,字体会变为黑色,表示已经处理完毕并且在图形查看窗口中将图形显示出来。做出来的图如下图所示。

    在这里插入图片描述
    如果要切换可视化的变量,点击Plots模块中的Variables按钮,即可直接切换变量进行显示。
    在这里插入图片描述
    如果想要对图像的显示进行一些设置,直接双击列表中激活的任务栏即可,会弹出对应的参数数值窗口,可以对显示的方式进行更加细致的调整。

    在这里插入图片描述
    绘制好你想要的图形后,如果想要保存图像,可以在左侧窗口中,选择File,然后选择Set Save options… 就可以自定义选择要保存的方式。

    在这里插入图片描述

    保存的设置窗口如下图所示,可以保存多种类型的格式,还有设置大小、保存位置等等,除此之外,VisIt还能保存为Movie模式,就是动态演示的视频,目前来看还用不到这个功能。

    在这里插入图片描述

    更加详细的介绍请参考用户指导手册https://visit-sphinx-github-user-manual.readthedocs.io/en/develop/gui_manual/index.html。

    五、编程前的配置

    上一小节已经实现用VisIt读取写好的数据文件,但是这种文件格式和我们现在用的DAT格式不同,这种Silo文件格式是LLNL公司推荐的一种更高效的存储数据格式,并且对于链接Fortran程序和VisIt绘图是最佳的选择。

    因此。为了能够在Fortran程序中将数据导出为Silo格式的文件,需要插装LLNL提供的第三方库,插装Silo库主要分为四个步骤。

    第一步,下载并安装。在官网中找到对应版本的Silo库文件,如果是在 Windows平台的话,参考链接:https://wci.llnl.gov/simulation/computer-codes/visit/source,找到对应版本下面的VisIt Windows sources下载包,下载好后是一个名为visitdev3.1.0.exe的文件,需要双击进行安装,安装完后会生成一个名为VisItDev3.1.0 的文件夹,这个里面就有我们所需要的 Silo库文件。

    第二步,更改头文件。首先定位到Silo库的目录位置:…\VisItDev3.1.0\windowsbuild\MSVC2017\ 这里会有两个文件夹:include和lib,分别代表头文件和库文件,进入include文件夹,里面会有一个名为silo.inc的文件,这个是一个包含文件,将所有的头文件打包起来的一个总文件,只需要在模拟程序的最前面进行声明就可以声明所有 Silo 库中的函数和变量。但是这个文件是固定格式的Fortran文件,需要先将其转换为自由格式才能使用,推荐使用鹅毛笔http://quill.fcode.cn/这个小工具。转换为自由格式后,在主程序里面声明:include “silo.inc” 。

    第三步,添加头文件路径。在VS2017编辑器中,右键项目,选择 Properties 选项,定位到Configuration->Fortran->General->Additional Include Directories的位置,下拉,然后选择编辑,添加Silo库的include文件夹路径,如下图所示…\VisItDev3.1.0\windowsbuild\MSVC2017\silo\ 4.10.3\include。

    在这里插入图片描述
    第四步,添加库文件路径。在VS2017编辑器中,右键项目,选择 Properties 选项,定位到Configuration->Linker->General->Additional Library Directories 的位置,下拉,然后选择编辑,添加 Silo 库的 lib 文件夹路径:… \VisItDev3.1.0\windowsbuild\MSVC2017\silo\4.10.3\lib。此外,还需要在 Configuration->Linker->Input-> Additional Dependencies 的位置添加附加依赖库:silohdf5.lib,如下图所示。
    在这里插入图片描述
    至此, Silo库就成功地插装到模拟程序中了,只需要在程序中声明好include “silo.inc”(这里的silo.inc文件必须是要转换成了自由格式的文件才行),就可以在 Fortran 程序中直接调用 Silo 的函数接口了。

    六、编程实例

    首先要强调的是,VisIt仅支持64位的环境,所以不管是操作系统还是编译器调试环境,都只能选择64位(x64)的。

    这里以等离子体模拟程序中的一维粒子数据和二维场强数据为例,分别导出对应的Silo格式的数据文件,并在VisIt中进行作图。

    6.1 创建一个基本的silo文件

    首先,需要创建一个基本的silo格式的文件,然后才能在上面添加网格等数据。

    先新建一个空项目。

    在这里插入图片描述
    添加一个.f90文件。

    在这里插入图片描述
    在这里插入图片描述
    首先需要更改编译环境位数为64为,即x64。下拉选择配置管理。
    在这里插入图片描述
    选择<New…>
    在这里插入图片描述

    下拉,选择x64,然后OK。关闭窗口,现在就可以选择为x64了。
    在这里插入图片描述
    在这里插入图片描述

    在main文件中输入以下程序代码。

    Program main
      Implicit None
      Include 'silo.inc'
      Integer dbfile, ierr
    ! The 11 and 22 arguments represent the lengths of strings
      ierr = dbcreate('fbasic.silo', 11, db_clobber, db_local, 'Comment about the data', 22, db_hdf5, dbfile)
      If (dbfile==-1) Then
        Write (6, *) 'Could not create Silo file!\n'
        Goto 10000
      End If
    ! Add other Silo calls here.
    ! Close the Silo file.
      ierr = dbclose(dbfile)
      10000 Stop
    End Program main
    

    添加头文件和添加库路径,再添加附加库的名称“silohdf5.lib”,表示要创建以HDF5为基础的silo文件,具体添加方法见前文“编程前的配置”。

    全部配置完成后,就可以编译运行了。先Compile编译。

    在这里插入图片描述
    再Build链接。
    在这里插入图片描述
    最后再Debug运行。
    在这里插入图片描述
    成功运行完之后,main文件的同级目录下就会生成一个空的silo文件,这时里面没有具体数据,所以也无法用VisIt打开和查看。
    在这里插入图片描述
    这时可以用到一个叫browser的小工具来查看silo文件的具体信息。具体查看方法参考链接:http://yushimin123.com/browser.html

    6.2 写入一维粒子数据

    基本的配置和上面一致,将程序代码改为下面的程序。

    本教程中的所以例程和参考手册均已上传至百度网盘中:链接:https://pan.baidu.com/s/1-lRnd1gyYdhLJAyrPXtXKw 提取码:yusm

    Program main
      Implicit None
      Include 'silo.inc'
      Integer dbfile
      Real :: start, finish
      Integer err, ierr, i
      Real Xcurve(117091), Vxcurve(117091), Vycurve(117091), Vzcurve(117091), Axcurve(117091),  Aycurve(117091),  Azcurve(117091)
      Open(2, file='10000Electron.dat', status='old')
      Do i=1,117091 
        read(2,*) Xcurve(i), Vxcurve(i), Vycurve(i), Vzcurve(i), Axcurve(i), Aycurve(i), Azcurve(i)
      End Do
      Close(2)
      call cpu_time(start)
      ierr = dbcreate('Curve.silo', 11, db_clobber, db_local, 'Write a curve object into a Silo file', 22, db_hdf5, dbfile)
      If (dbfile == -1) Then
        Write(6, *) 'Could not create Silo file!\n'
        Goto 10000
      End If
      err = dbputcurve(dbfile, 'X2Vx', 4, Xcurve, Vxcurve, db_float, 117091, db_f77null, ierr)
      err = dbputcurve(dbfile, 'X2Vy', 4, Xcurve, Vycurve, db_float, 117091, db_f77null, ierr)
      err = dbputcurve(dbfile, 'X2Vz', 4, Xcurve, Vzcurve, db_float, 117091, db_f77null, ierr)
      err = dbputcurve(dbfile, 'X2Ax', 4, Xcurve, Axcurve, db_float, 117091, db_f77null, ierr)
      err = dbputcurve(dbfile, 'X2Ay', 4, Xcurve, Aycurve, db_float, 117091, db_f77null, ierr)
      err = dbputcurve(dbfile, 'X2Az', 4, Xcurve, Azcurve, db_float, 117091, db_f77null, ierr) 
      Write(*,*) 'Write a curve object into a Silo file successful.'
      ierr = dbclose(dbfile)
      call cpu_time(finish)
      print '("Time = ",es21.14," seconds.")',finish-start
      10000 Stop
    End Program main
    

    这里有一点需要注意的是,考虑到程序的通用性,这里程序不是直接写在原有的iPM程序里面,而是用读取iPM程序运行后生成的DAT文件的形式,可以称为二次读写,所以程序的正常运行还需要有10000Electron.dat文件,如果想要移植到iPM程序中也是非常容易的,只需要把写入DAT文件部分的程序去掉,将相应的变量替换为模拟程序中需要存储和作图的变量即可。

    该程序的设计思路比较清晰,先定义好各个变量参数,然后打开要写入的.dat 文件,然后依次将.dat 文件中的数据写入自定义的变量中,循环次数就是粒子数量,然后再关闭刚打开的.dat 文件,下一步就是创建一个.silo 文件,并检查 dbcreate 函数的返回值,如果文件创建失败则在输出窗口上提示“Could not create Silo file! ”,如果创建成功了,则开始将变量里的数据通过 dbputcurve 函数以曲线的格式写入到 Silo 文件中,数据全部写入完成后在输出窗口上提示操作者“Write a curve object into a Silo file successful.”,最后再关闭 Silo 文件,这样就生成了粒子数据的可视化接口。

    程序运行完成后,用 VisIt 打开生成的 Silo 文件,选择变量进行绘图,这里选择粒子X轴方向的速度变量进行绘图,然后进行相应的参数设置和调整,最终效果如下图所示。
    在这里插入图片描述
    双击左侧的Curve-X2Vx,图形显示的设置参考如下:

    在这里插入图片描述
    在这里插入图片描述

    图中,横坐标是粒子的位置,纵坐标是粒子的速度,总共约有 130000个粒子,从图中可以看到,粒子速度的分布较为均匀,粒子数据的可视化效果也很不错。

    6.3 写入二维场强数据

    基本的配置和上面一致,将程序代码改为下面的程序。

    Program main
      Implicit None
      Include 'silo.inc'
      Integer dbfile
    ! Write a scalar variable Start
      Integer err, ierr, dims(2),dimsV(2), ndims, nx, ny, i, j
      Parameter (nx=500)
      Parameter (ny=101)
      Real x(nx), y(ny)
      Real nodal(nx, nx)
      Real Dx(nx*ny), Dt(nx*ny), Value1(nx*ny), Value2(nx*ny)
      Real :: start, finish
      Data dims/nx, ny/
      do i = 1,nx 
          x(i) = (i-1)/5.0
         !x(i) = (i-1)/3200.0
      end do
      do j = 1,ny
          y(j) = (j-1)
          !y(j) = (j-1)/50.0
      end do
    ! opening the file for reading
       open (2, file='Grid2D21002.dat', status='old')
       do i=1,nx*ny
          read(2,*) Dx(i), Dt(i), Value1(i), Value2(i)
       end do 
       close(2)
      do i = 1,ny 
        do j = 1,nx
            nodal(j, i) = Value2(j+(i-1)*nx)
        end do
      end do
      Data dimsV/nx, ny/
      ndims = 2
    ! Write a scalar variable End
      call cpu_time(start)
    ! The 11 and 22 arguments represent the lengths of strings
      ierr = dbcreate('Grid2D21002.silo', 16, db_clobber, db_local, 'Comment about the data', 22, db_hdf5, dbfile)
      If (dbfile==-1) Then
        Write (6, *) 'Could not create Silo file!\n'
        Goto 10000
      End If
    ! Add other Silo calls here.
      ! Write a rectilinear mesh Start
      err = dbputqm(dbfile, 'quadmesh', 8, 'xc', 2, 'yc', 2, 'zc', 2, x, y, db_f77null, dims, ndims, db_float, db_collinear, db_f77null, ierr)
      ! Write a scalar variable Start 
      err = dbputqv1(dbfile, "nodal", 5, "quadmesh", 8, nodal, dimsV, ndims, db_f77null, 0, db_float, db_nodecent, db_f77null, ierr)
      ! Write a scalar variable End
     !Close the Silo file.
      ierr = dbclose(dbfile)
      call cpu_time(finish)
      print '("Time = ",es21.14," seconds.")',finish-start
      10000 Stop
    End Program main
    

    不同于一维粒子数据,一维粒子数据采用的是曲线的格式保存,而二维场量数据采用的是网格的格式进行存储,二维数据本身是不能体现可视化的呈现形式的,只能借助自定义的网格来进行表现。这里程序的实现思路和一维程序的实现思路大体相同,都是先打开模拟程序生成的 DAT 文件,对文件数据进行读取,然后将数据以网格的形式写入一个 Silo文件中。

    和上面相同,此程序的运行也需要先将DAT文件放在main文件的同级目录下。

    在这里插入图片描述

    6.4 串行到并行绘图

    除了可以编写串行的程序接口外,还可以编写并行的程序接口,让数据通过并行的方式写入silo文件中。并行的原理是将数据文件拆分为多个,每个子文件分别分配一个处理器进行处理,分别处理好后再整合到一个文件里面,基本原理如下图所示。
    在这里插入图片描述
    并行处理会产生多个子文件,需要将其整合起来,因此需要一些额外的配置,这里的处理方式就是在上一小节的基础上,多写一个子例行程序,将需要设置的并行处理操作都写在这个子程序里面,最后在主程序中调用这个程序即可,子例行程序代码如下所示。

    subroutine write_master()
        implicit none
        Include 'silo.inc'
        integer err, ierr, dbfile, nmesh, oldlen
        character*20 meshnames(2) /'multimesh.1:quadmesh', 'multimesh.2:quadmesh'/
        integer lmeshnames(2) /20,20/
        integer meshtypes(2) /DB_QUAD_RECT, DB_QUAD_RECT/
        err = dbcreate('multimesh.root', 14, DB_CLOBBER, DB_LOCAL, 'multimesh root', 14, DB_HDF5, dbfile)
        If (dbfile==-1) Then
          write (6,*) 'Could not create Silo file!'
          return
        endif
        oldlen = dbget2dstrlen()
        err = dbset2dstrlen(20)
        nmesh = 2
        err = dbputmmesh(dbfile, "quadmesh", 8, nmesh, meshnames, lmeshnames, meshtypes, DB_F77NULL, ierr)
        err = dbset2dstrlen(oldlen)
        err = dbclose(dbfile)
    End
    

    这里设置的是两路并行,子文件分别为 multimesh.1: quadmesh 和 multimesh.2: quadmesh,整合出来的文件就是 quadmesh。程序的主要实现过程就是先将数据并行写入多个子文件,再将这些子文件进行合并。合并出来的效果和上一小节是一样的,在主程序中,还需要在前面先调用子例行程序:call write master (),位置如下,即在创建silo文件之前。

    … …
      call cpu_time(start)
    ! Write parallel function in here
    
    ! write here
      call write_master()
      
    ! The 11 and 22 arguments represent the lengths of strings
      ierr = dbcreate('Grid2D21002.silo', 16, db_clobber, db_local, 'Comment about the data', 22, db_hdf5, dbfile)
      If (dbfile==-1) Then
        Write (6, *) 'Could not create Silo file!\n'
        Goto 10000
      End If
    … …
    

    可以看出,并行操作相比于串行操作,就是增加了一个并行程序模块,其余步骤都是一样的。采用并行写入数据的方式,可以减少程序运行的时间,提高工作效率。

    6.5 写入其他类型的数据

    如果是其他类型的数据需要写入到silo文件中,基本方法都和上面类似,其中关键的步骤就是学会使用silo库中的函数库,只需要规范调用其中的函数,就可以写入自己想要的数据。LLNL公司提供了silo库的详细介绍和参考手册, 参考手册里面包含了函数的具体使用方法,输入输出参数规范,以及并行I/O的配置。

    具体可参考链接:https://wci.llnl.gov/simulation/computer-codes/silo https://wci.llnl.gov/simulation/computer-codes/silo/documentation https://wci.llnl.gov/content/assets/docs/simulation/computer-codes/silo/LLNL-SM-654357.pdf

    七、常见问题和解决办法

    问题1:
    我目前用的是3.1.0的版本,有一个问题就是,在启动VisIt的时候,经常那个绘图窗口飞到桌面以外了,拖拽不出来。(后来发现是显示器分辨率的问题,分辨率太低,软件不适配)

    解决办法1:
    按住 Alt 键,再点击 Tab 来切换窗口,切换到你要显示的窗口(绘图窗口)为止,切换完之后还是没有显示的,这一步只是激活了当前窗口。

    现在可以松开 Alt 和 Tab 键,再按 Alt + Space(空格)键,单击一次就行,完了就会显示当前窗口的可操作选项。如下图所示。
    在这里插入图片描述

    这时候之间选最大化就是了,窗口就会最大化显示在屏幕上。

    解决办法2:
    windows10有一个强大的快捷操作,就是你把某一个窗口直接往最左侧或者最右侧拖拽的话,一松开就变成左半屏显示或右半屏显示,而另外半边则会展示出所有活动的窗口,你只要点击一个,就会补全另外半屏,就是所谓的二分频工作模式。这个对于VisIt这种双活动窗口的软件来说是非常方便的,你只要先把控制面板窗口往左拖拽至半分屏显示,右边再选中windows绘图窗口就可以了。
    在这里插入图片描述
    问题2:
    VisIt 打开一个 Silo 文件报错,显示不能打开。格式错误或是找不到该文件等等提示。

    解决办法:
    这个问题出现有几种可能:

    第一种,这个文件不是用 VisIt 自带的库来创建的文件,因为 Silo 文件是他们自己公司开发的,综合使用了HDF和PDB Lib等模块库,和网上其它的也是HDF等驱动的文件有所不同,VisIt 只能读取用自家的Silo文件,不能读取别的。不过,其它像.txt等通用的格式是可以识别的。

    第二种可能,该Silo文件是空文件,啥都没有的,那 VisIt 也是打不开的,因为没有数据的话就没有 Plot 函数可以给你用,读取了也没有用。

    另外,其它文件,比如DAT文件,如果也是别的地方生成的话,一般也打不开,这个我不清楚是因为不是 VisIt 库生成的,还是说文件的书写格式不对,我觉得更有可能是前者吧。

    问题3:
    编译、链接都没问题,运行程序时报错 Unable to start program,如下图
    在这里插入图片描述

    解决办法:
    这时只要按照报错的提示设置一下VS就可以,就是要在下面这个选项前面打勾。具体原因还不清楚。
    在这里插入图片描述

    问题4:
    报错:error LNK2019: unresolved external symbol DBCREATE referenced in function MAIN

    解决办法:
    这个是链接错误,报错很有可能是因为位数没选对,请选择 X64 下编译和调试,x86下就会报这种错误,因为silo只是64位的,不能和32位编译器编译出来的目标文件链接的。

    八、后期工作

    本教程对现有模拟程序的数据文件进行离线处理的,VisIt 还支持在模拟过程中对数据进行在线处理,这意味着可以不需要向磁盘中写入数据文件而直接绘图,这将更大程度的缩短数据可视化的时间和节省更多的磁盘空间。

    后期还可以继续开展的工作有如下几项:

    1. 在模拟程序中实现VisIt的在线调用,做到实时可视化。
    2. 在Linux系统中按照上述模式摸索出类似的教程,目前只完成了在Linux系统中安装VisIt并进行基本绘图的工作,还没有进行编程和调试。
    3. 目前的silo库仅适用于 MicrosoftVS2017,要想适配更多种类的编辑器,需要使用CMAKE工具进行编译得到相应的库文件。
    4. 将程序的运行从本机计算机过渡到远程计算机,最后能在本地链接到超级计算机上进行运行。

    参考:https://www.llnl.gov/
    本教程在我的博客同步发表:http://yushimin123.com/visit-windows.html

    展开全文
  • Windows):单击工具图标(像个板子)选择“Options”(选项)。将会打开一个新窗口。 (苹果机)在“Chrome”菜单下面,选择“Preferences”(自定义)。将会打开一个新窗口。 单击“Under the Hood”...

    下载:http://down.zzbaike.com/download/Maqetta-5135.html

    对以下浏览器支持:google chrome(当前版本),火狐3.5以上版本和苹果safari5

    当前Maqetta只能在上述浏览器中安装开发

    通常,maqetta在Chrome,火狐4和safari上比在火狐3.5上运行快,因此建议开发者使用Chrome,safari和火狐4

    确保安装不受影响:重新启动浏览器,清楚缓存

    在浏览器中打开Maqetta预览之前,建议关闭当前打开的浏览器并且重新打开浏览器,同时清楚浏览器的缓存cache。上述动作可能在很多情况下并不是必须的,但是我们并不确定我们已经把Maqetta的缓存逻辑处理的完美无缺,权当防患于未然。这些步骤对使用过以前版本Maqetta的用户更为重要。

    不同浏览器清除缓存详细操作如下:

    第一次使用新版本maqetta之前关闭当前浏览器,并重新启动。

    对于大多数人而言,这个是不必要的,但最好是执行一次。我们已经发现谷歌浏览器中Maqetta从旧版本到新版本转换时偶尔出现问题。

    清除浏览器的缓存和它的“应用缓存”(离线存储,比如游戏的)

    Chrome

    (Windows):单击工具图标(像个板子)选择“Options”(选项)。将会打开一个新窗口。

    (苹果机)在“Chrome”菜单下面,选择“Preferences”(自定义)。将会打开一个新窗口。

    单击“Under the Hood”(高级选项)连接。

    清除缓存:在高级选项卡里,单击“clear browsing data”(清除浏览器数据)。在随即出现的对话框中,确定“Empty the cache”(清空缓存)是否选择。其他选项可以不用选择。现在单击“chear browsing data”(清除浏览数据)按钮。

    清除应用缓存(离线存储):单击“Content settiongs....”(内容设置)打开内容设置对话框。选择左侧“Cookies”项,单击“Show cookies and other site data”(显示Cookies和其他网站的数据),在“Search”(搜索)框中键入你运行Maqetta的服务器的名字。如果你是在本地安装,输入“localhost”。如果在http://maqetta.org下运行,输入“maqetta”。显示结果树中,打开有关服务器的节点(即"localhost"or"maqetta.org")。如果有一个入口写着“Application Caches”(应用缓存),打开树节点。或者选择“Application Caches”树节点或子节点,单击底部的“清除”按钮。

    火狐

    (Windows)在主目录中,工具->选项。在打开的窗口中单击"高级”,接着单击“网络”选项。

    (苹果机)在“Firefox”菜单下选择“Preference”(自定义)。单击“Advanced”(高级),然后单击“网络”选项。

    清除缓存:在“Offline Storage”(离线存储)下,单击“Clear Now”(现在清空)。

    清空应用缓存:在“离线存储”下,底部标有“以下网站为离线使用存储了数据:”,检查是否有Maqetta主机列出。以下操作与在Chrome中相同。

    Safari

    (苹果机)在”Safari“菜单下,调用”Empty cache....“命令清空浏览器缓存和应用缓存。

    本地安装运行Maqetta步骤

    使用以下步骤本地安装运行Maqetta(即http://localhost:50000)

    第一步:确定你机器上已经安装java5。

    Maqetta本地运行需要java5(即JRE 1.5)的支持。

    用以下步骤检查java的版本:

    1.打开命令行窗口

        在windwos中:单击开始,运行 输入cmd,确定

        在苹果机中:打开 Finder > Applications > Utilites > Terminal

    2.输入

        java -version

    3.如果版本在1.5及以上,不需要其他操作。

    4.如果版本在1.5以下,或根本没有安装java虚拟机,你就需要安装java1.5或更高版本。

    第二步:打开Maqetta服务器

    1.打开就压后的Maqetta目录

    2.打开Maqetta服务器进程

      windows中,双击maqetta.local.win.bat(有可能你的windows设置中不显示扩展名)

      苹果机中,双击maqetta.local.mac.command(同上)

    如果出现以下内容,则服务器启动成功:

    !!!!!!!!!!!!!!
    NOTE: CLOSING THIS WINDOW WILL
          STOP THE MAQETTA SERVER PROCESS
    !!!!!!!!!!!!!
    
    Using directory : <maqetta-unzip-dir>/users
    start your browser at http://localhost:50000/maqetta
    
    osgi>
     
    
     
    

    Maqetta服务器在你关闭此窗口前将一直运行,关闭窗口,服务即停止。

    当你的系统中已经有程序在http://localhost:50000 端口中运行,将会出现问题,根据以下介绍更改端口。

     

    在苹果系统中,你可以将”maqetta.local.mac.command“拖到右侧的doc中运行。

    运行的脚本(maqetta.local.win.bat and maqetta.local.mac.command) 有以下默认参数:

        HTTP 端口号--该脚本的默认端口是50000.如果你想用8080或其他端口号,编辑脚本,手动改动到其他端口即可。

        用户工作文件夹--所有在Maqwtta中创建的文件都将保存到maqetta服务器管理的文件夹中。你可以通过编辑脚本手动修改文件夹的位置。注意,将来的版本将会支持打开本地系统中的任意文件,但当前版本智能打开工作目录(workspace)中的文件。默认的工作目录位置:

    • Windows: <maqetta-unzip-dir>/users
    • Macintosh: <maqetta-unzip-dir>/users

    第三步:在Google Chrome, Firefox 3.5+ or Mac Safari中运行Maqetta应用

      只要Maqetta服务器已经运行,打开上述浏览器中的一个,然后输入

    http://localhost:50000/maqetta

     

    HTML5应用缓存--”允许“提示

    Maqetta现在利用最近HTML5在现在浏览器中的HTML应用缓存。这允许浏览器在本地保存一个有Maqwtta的很大部分的缓存版本。

    因此极大的改善了Maqwtta的运行,尤其当网速很慢时。当你第一次运行Maqwtta时,你将会看到一个提示,询问你是否允许Maqwtta保存离线数据。单击”Allow“让你的Maqwtta得到优化。

     

     

     

    展开全文
  • Android的可视化界面开发工具DroidDraw

    千次阅读 2011-07-22 09:33:16
    软件名称:DroidDraw软件大小:489KB(Windows版本)支持系统:Mac OS X/Windows/Linux下载地址:http://code.google.com/p/droiddraw/ ADT中的界面开发工具实在是很烂,通常情况下都需要硬编码,对于
  • Apk依赖关系图(ADG)类依赖关系可视化工具。 只需要apk文件。 类耦合是重要的代码指标之一,它显示了更改,维护和测试代码的难易程度。 此工具可帮助查看完整的Apk依赖关系图(ADG)类依赖关系可视化工具。 只需要...
  • memcached可视化客户端工具

    千次阅读 2018-03-21 12:00:42
    TreeNMS是一款redis,Memcache可视化客户端工具,采用JAVA开发,实现基于WEB方式对Redis, Memcached数据库进行管理、维护。 功能包括:NoSQL数据库的展示,库表的展示,key,value的展示,新增,修改,删除等数据的...
  • 这是我以前在百度文库写的一篇文章,主要讲解在eclipse中安装windowbuder插件让java也能像c++那样进行可视化开发,废话不多说,直接开始 Window builder安装 进入这个网站...
  • 一款好用的mysql、oracle、MongoDB等数据库的连接工具,适用于MacOS系统,Navicat可视化连接工具,免激活,安装即用
  • 64位下载地址:链接:... 由php开发的MongoDB可视化工具,是一个web服务 2 怎么使用: 解压即可按照里面的的文件的步骤使用(先在 web/rockmongo/config.php 文件里配置ip和端口再双击rockstart.bat启动服务即可)
  • MASM汇编可视化开发环境,09版支持windows ,vista,window7
  •  整合单片机、混合信号、模拟器件和闪存解决方案的供应商--Microchip Technology Inc.(美国微芯科技公司)宣布推出其增强型可视化设计工具图形显示设计器X(GDD X),为采用Microchip 16位或32位PIC MCU的应用提供...
  • 10个可视化开发的MySQL管理工具

    万次阅读 2012-11-09 20:06:55
    使用各种精心设计的工具来管理MySQL数据库要比单纯使用传统的方法轻松得的多。...MySQL Workbench是一个由MySQL开发的跨平台、可视化数据库工具。它作为DBDesigner4工程的替代应用程序而备受瞩目。MySQL Workbe
  • windows安装Readis与可视化工具

    千次阅读 2019-03-28 23:48:18
    1.准备工作 废话不多说直接上步骤 windows版本readis下载,官网上面已经找不到了 ...可视化工具 链接:https://pan.baidu.com/s/1EaP7nEL8VWAOMyPsmfoAMA 提取码:2qao 转自博客园:https://www.cnblogs.c...
  • Visual C++作为一个功能非常强大的可视化应用程序开发工具,是计算机界公认的最优秀的应用开发工具之一。Microsoft的基本类库MFC使得开发Windows应用程序比以往任何时候都要容易。
  • Redis可视化操作工具

    2020-11-20 17:12:29
    Another-Redis-Desktop-Manager.1.3.9,提供了方便的Redis操作界面,对于开发来说使用便捷简单,也支持主从集群,个人觉得比RedisDesktopManager好看好用,而且RedisDesktopManager新版本好像收费了。
  • 面向文档的数据库管理系统,官方下载地址是:MongoDB,我选择的是 Enterprise Server (MongoDB 3.2.9)版本,安装在WindowsServer 2012环境中。MongoDB使用BSON对象来存储,与JSON格式类...
  • Web开发必备的43款可视化工具

    千次阅读 2013-01-16 08:58:01
    国外站点DATAVISUALIZATION.CH为大家总结出了当前热用的43款可视化工具,包括Arbor、Chroma.js、D3.js、Google Chart Tools等,绝对让你一饱眼福。 1.Arbor.js Arbor是一个免费的、可视化的图形库,基于矢量创建...
  • Git 三款经典可视化管理工具-对比分享 Github Desktop / Sourcetree / TortoiseGit “工欲善其事,必先利其器”,团队项目开发中的高效协作管理非常重要。 对于高级程序员及IT老兵来说,有了Git直接用命令行管理也许...
  • eclipse可视化开发控件

    万次阅读 2018-01-10 18:48:56
    Eclipse并不自带GUI的可视化开发工具,那么如果要在Eclipse进行可视化的GUI开发,就需要依靠第三方的插件。 1. Visual Editor Eclipse官方提供了一个叫做Visual Editor(VE)的开源GUI插件,功能还是比较强。可以...
  • winform窗体可视化设计工具
  • Windows下安装Redis及可视化工具

    万次阅读 多人点赞 2017-03-31 13:45:55
    Redis对于Linux是官方...详情请参考:http://redis.io/download Redis官方是不支持windows的,只是 Microsoft Open Tech group 在 GitHub上开发了一个Win64的版本,项目地址是:https://github.com/MSOpenTech/redis/rel

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 65,364
精华内容 26,145
关键字:

windows可视化开发工具