精华内容
下载资源
问答
  • 第一部分:稳态模拟基础部分第一节:流程模拟的基本概念、HYSYS软件的...“模拟”可以理解为“模仿”与“拟合”,是用软件作为工具,去模仿一个过程(反应、精馏、吸收、萃取、换热、洁净等),根据所给过程条件(温...

    第一部分:稳态模拟基础部分

    第一节:

    流程模拟的基本概念、HYSYS软件的特征、流程模拟软件所需的基础知识、HYSYS软件应用的领域介绍、HYSYS

    软件功能。

    一、流程模拟的基本概念

    什么是流程模拟?

    所谓流程模拟,可以理解为使用计算机程序定量模拟一个物理和化学过程的特性方程。“模拟”可以理解为“模仿”与“拟合”,是用软件作为工具,去模仿一个过程(反应、精馏、吸收、萃取、换热、洁净等),根据所给过程条件(温度、压力、流量、设备尺寸),对这个过程进行物料平衡、能量平衡、相平衡、化学平衡的计算,预计过程可能发生的现象,指导科研、设计、生产部门的工作。过程可以是实际生产过程、实验过程、假象过程。

    软件中使用的基本物性关系:

    质量和能量平衡

    Equilibrium(平衡)关系

    速率系数

    (反应和质量/热量传递)

    软件可以预测:

    物流流率,

    组成和性质

    操作条件

    设备尺寸

    软件模拟的优越性

    1、 减少了装置的设计时间。HYSYS软件可以使设计工程师快速的测试各种装置的配置方案,完成不同方案的比较、优化设计工作。

    2、 帮助改进当前的工艺方案

    可以回答“如果……会怎么样的”的问题

    在给定的限制条件内优化工艺条件

    辅助确定一个工艺的约束位置,也就是说可以帮助消除工艺瓶颈。

    好的流程模拟实践经验和建议:

    1、 在建立大的流程模拟时,最好一个建立几个模块。这样在流程出现错误的时候,有利于找出问题很快的解决。

    2、 要认真确保流程参数输入的合理性。

    3、 认真检查计算结果的一致性和实际性。

    二、HYSYS软件的基本特征和介绍

    HYPROTECH公司简介:

    该公司1976成立于加拿大阿尔伯特省,卡尔加里市。向用户提供流程模拟技术,使用户能够在石油,石化及化学工业领域做出高质量的决策,改进设计水平和生产优化,从而提高经济效益。过去几年里,公司营业额几乎以每年30%的速度增长,在加拿大工程软件公司排行于首位。全世界发行量为9000多套,超过任何其它的流程模拟软件商。其1500多个用户分布于85个国家,世界各地有200多名销售人员,9个区域办公室,16个代理办理处。

    HYSYS发展史:

    ?/P>

    HYSYS

    ?/P>

    " 1976:

    由一个教授专家组,在加拿大,阿尔伯特省卡尔加里市成立。

    " 1980: 开发出HYSIM软件-第一个交互式流程模拟软件,以微机为产生。

    " 1981: 严 格蒸馏模型加进HYSIM系统。

    " 1984:首次发布在IBM PC机上运行的商业化的流程模拟系统 。

    " 1985:炼油专用模型加进HYSIM。

    " 1987: 在HYSIM中开发出HCL,用户化语言。

    " 1988: 重新用C语言编写HYSIM,交互性更强。

    " 1991: 化工专用模 型加入HYSIM。

    " 1991: Hyprotech

    获得阿尔伯特省专业工程师协颁发的流程模 拟软件发明奖。

    " 1995:

    用32位C++开发了在WINDOWS环境下第一个真正集成式的静态,动态一体的流程模拟系统。

    " 1995:由 Hyprotech

    在加拿大工程软件工业中排行第一。

    " 1995: HYSYS.Concept-概念设计软件,先进的数据回归功能,热力学数据库,蒸馏分析系统,加进HYSYS集成式工程环境。

    " 1996: Microsoft OLE

    自动化执行技术加进HYSYS

    " 1996: FLARENET,火炬系统设计,标定,瓶径分析软件发布。

    " 1997: Hyprotech 成为AEA公司的成员

    " 2002: Hyprotech 公司成为 AspenTech 公司的一部分。

    HYPROTECH

    系列软件:

    " Steady and Dynamic Simulation -

    Hysys.Process

    " 静态和动态的流程模拟系统

    " Plant Detail Steady and Dynamic Simulation -

    Hysys.Plant 工厂详细动态流程模拟系统

    " Distill

    萃取精馏、共沸精馏研究、设计系统

    " Polymer Simulation - Polysim 聚合反应动态模拟系统

    " Heat Transfer Software - HTFS 热交换设备计算

    " Pipe Software - Pipesys 管道计算

    " Batch Design - BDk 间歇操作

    " HX.NET 换热网络热能集成,狹点分析软件

    Hyprotech

    公司国外用户:

    BP 、 Chevron 、 Dow 、

    DuPont 、 Exxon Mobil 、 Fluor Daniel 、 Monsanto 、 Glaxo

    SmithKline 、 Rohm Hass 、 Bayer 、 Shell 、 PraxAir 、 UOP

    HYSYS

    在国内应用非常广泛,国内用户总数已超过 50

    。所有的油田设计系统全部采用该软件进行工艺设计。下面是部分国内油田用户名单:大庆油田设计院、辽河油田设计院、华北油田设计院、大港油田设计院、四川油田设计院、长庆油田设计院、青海油田设计院、中原油田设计院、江汉油田设计院、克拉玛依油田设计院、克拉玛依油田研究院、独山子炼油厂、独山子石化设计院、廊坊管道勘察设计研究院、中国海洋总公司生产研究中心、中国海洋总公司石油工程公司(天津塘沽)。中国海洋总公司南海分公司、壳牌中国分公司(

    Shell

    )、辽阳化纤公司、辽阳石化设计院、大庆石化设计院、岳阳石化公司、九江石化公司、南京石化公司、扬子石化公司、扬子石化设计院、抚顺石化设计院、抚顺石化公司、金陵石化公司、茂名石化设计院、镇江炼化工程公司等

    Hyprotech出品的Hysys是一个炼油化工流程模拟动态软件,是一款环境模拟设计软件,允许设计者通过概念上的设计而简化制作过程来完成项目工作。完整的交互性能充分发挥你的创造力。

    " 集成的模拟环境

    " 直观的交互过程模拟

    " 开放的可扩展的HYSYS结构

    展开全文
  • 软件设计规范

    2015-03-11 11:57:50
    软件模拟现实对象的过程中继承了其结构。 工业控制也开启了新的软件世界,因为软件要从分离的输入建立“综合感知”,感知到设备状态,然后做出响应。 软件有其固有的物理属性,也就是计算的量。算法领域,无论...
  • 软件测试规范

    2018-04-23 09:16:12
    1.什么软件测试 .................................................................................................................................. 2 2.软件测试的目标 ....................................
  • 首先, 我们来理解一下接口测试的原理: 通过工具或者代码模拟请求的发送, 同时获取响应, 并对响应进行断言. 如此而已, 就是接口测试了.Jmeter是Apache组织开发的基于Java的压力测试工具。用于对软件做接口或者压力...

    首先, 我们来理解一下接口测试的原理: 通过工具或者代码模拟请求的发送, 同时获取响应, 并对响应进行断言. 如此而已, 就是接口测试了.

    Jmeter是Apache组织开发的基于Java的压力测试工具。用于对软件做接口或者压力测试,它最初被设计用于Web应用测试,但后来扩展到其他测试领域。 它可以用于测试静态和动态资源,例如静态文件、Java 小服务程序、CGI 脚本、Java 对象、数据库、FTP 服务器, 等等。JMeter 可以用于对服务器、网络或对象模拟巨大的负载,来自不同压力类别下测试它们的强度和分析整体性能。另外,JMeter能够对应用程序做功能/回归测试,通过创建带有断言的脚本来验证你的程序返回了你期望的结果。为了最大限度的灵活性,JMeter允许使用正则表达式创建断言。

    它的测试用例放在线程组中, 模拟的请求叫取样器, 断言可以有很多方式, 响应是在结果树中查看. 因此, 如果你要学习Jmeter的话, 需要学习属于它的叫法.

    Python+Requests, 它是使用了现在非常主流的脚本语言Python, 同时使用目前十分流行的第三方包Requests(更正一下, 这个包名叫Requests, 非Request).

    因此, 要使用它来做接口测试, 需要有Python基础, 同时掌握Requests来发送请求, 获取响应. 同时, 使用python+requests, 通常情况会和unittest或者pytest框架结合使用.

    因此, 综上, 这两种方式做接口测试, 本质上没有任何的区别, 只是从工具和语言特性来进行学习和使用罢了. 从难度上来讲, Jmeter如果不进行深入的话, 它的学习成本会比较低一些.

    【重要消息】

    感谢知友您能够看到这部分内容,本文是软件测试系列知识中接口测试中的一篇,笔者认为本部分全面的知识应该包含如下图所示的内容:

    如果知友对这部分内容感兴趣,可以持续关注小编的账号,除此之外,小编还录制了不少这方面的技术视频,知友如果有需要,可以私聊本小编获取哦!

    展开全文
  • (四)KRStock有什么用? 1、让自己的网站更好玩。用户发帖赚了不少金钱,怎么办?娱乐太少,没有什么好玩的。KRStock可以为您解决这个问题。 2、让您的网站有更好的互动体验。你是不是觉得网站的人气在流失?好不...
  • 面向对象开发软件——三种模型

    万次阅读 2007-11-03 17:29:00
    面向对象方法开发软件,通常需要建立三种形式的模型:对象模型:描述系统数据结构动态模型:描述系统控制结构功能模型:描述系统功能 什么是对象模型对象模型表示静态的、结构化的系统的“数据”性质。对象模型是...

    用面向对象方法开发软件,通常需要建立三种形式的模型:
    对象模型:描述系统数据结构
    动态模型:描述系统控制结构
    功能模型:描述系统功能

    什么是对象模型
    对象模型表示静态的、结构化的系统的“数据”性质。
    对象模型是对模拟客观世界实体的对象以及对象彼此间的关系的映射,描述了系统的静态结构。

    什么是动态模型
    动态模型表示瞬时的、行为化的系统的“控制”性质,规定了对象模型中对象的合法变化序列。即对象的动态行为。
    用状态图来描绘对象的状态、触发状态转换的事件、以及对象的行为(对事件的响应)。
    每个类的动态行为用一张状态图来描绘,各个类的状态图通过共享事件合并起来,从而构成系统的动态模型。

    什么是功能模型
    功能模型表示变化的系统的“功能”性质,它指明了系统应该“做什么”,故更直接反映了用户对目标系统的需求。
    表示方法
    功能模型也通常由一组数据流程图表示。
    在面向对象方法中,数据流程图没有在结构化分析中重要,有时可以省略

     
    展开全文
  • 模拟QQ退出登录界面的提示框。 点击退出登录出现提示框,点击取消,退出登录框,点击确认退出,退出软件。 设计思路: 主界面:点击退出即可创建一个自定的mdialog提示框,并为提示框的按钮设置监听(为什么要...

    运行效果图:

    模拟QQ退出登录界面的提示框。

    点击退出登录出现提示框,点击取消,退出登录框,点击确认退出,退出软件。

    设计思路:

    主界面:点击退出即可创建一个自定的mdialog提示框,并为提示框的按钮设置监听(为什么要在这里设置呢,是因为按钮监听进行的操作是对dialog本身进行的,如果在dialog自身类设置监听不好操作)。

    mdialog类:设计一个layout布局文件,并掉用之。

    mdialog布局:根据图片进行设计。

    drawable文件:设置提示框的背景。

    style:设置提示框的style。

    代码示例:

    MainActivity

    package com.example.administrator.simulateqq;
    
    import android.support.v7.app.AppCompatActivity;
    import android.os.Bundle;
    import android.view.View;
    import android.view.WindowManager;
    
    import view.Mdialog;
    
    public class MainActivity extends AppCompatActivity {
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            //不显示系统的标题栏
            getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
                    WindowManager.LayoutParams.FLAG_FULLSCREEN);
    
    
        }
        /**
         * 设置退出账号按钮弹出对话框
         */
        public void OnExitDialog(View view)
        {
            final Mdialog mdialog = new Mdialog(this);  //实例化自定义对话框
    
            //给取消按钮设置监听事件
            mdialog.cancel.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View view) {
                    if (mdialog.isShowing()){
                        mdialog.dismiss();  //关闭对话框
                    }
                }
            });
    
            //给确定按钮设置监听事件
            mdialog.ensure.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View view) {
                    if (mdialog.isShowing()){
                        mdialog.dismiss();      //关闭对话框
                        finish();       //关闭当前界面
                    }
                }
            });
            mdialog.show();
        }
    }
    

    Mdialog

    package com.example.administrator.simulateqq;
    
    import android.support.v7.app.AppCompatActivity;
    import android.os.Bundle;
    import android.view.View;
    import android.view.WindowManager;
    
    import view.Mdialog;
    
    public class MainActivity extends AppCompatActivity {
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            //不显示系统的标题栏
            getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
                    WindowManager.LayoutParams.FLAG_FULLSCREEN);
    
    
        }
        /**
         * 设置退出账号按钮弹出对话框
         */
        public void OnExitDialog(View view)
        {
            final Mdialog mdialog = new Mdialog(this);  //实例化自定义对话框
    
            //给取消按钮设置监听事件
            mdialog.cancel.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View view) {
                    if (mdialog.isShowing()){
                        mdialog.dismiss();  //关闭对话框
                    }
                }
            });
    
            //给确定按钮设置监听事件
            mdialog.ensure.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View view) {
                    if (mdialog.isShowing()){
                        mdialog.dismiss();      //关闭对话框
                        finish();       //关闭当前界面
                    }
                }
            });
            mdialog.show();
        }
    }
    

    mdialoglayout.xml

    <?xml version="1.0" encoding="utf-8"?>
    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
         android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:background="@drawable/mdialog">
        <!--对话框标题区域-->
        <RelativeLayout
            android:id="@+id/dialog_title"
            android:layout_width="280dp"
            android:layout_height="100dp"
            android:gravity="center">
            <TextView
                android:id="@+id/text_title"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:gravity="center"
                android:text="@string/text_title"
                android:textColor="@color/colorBlack" />
        </RelativeLayout>
        <!--对话框横线-->
        <View
            android:layout_below="@+id/dialog_title"
            android:layout_width="280dp"
            android:layout_height="1dp"
            android:layout_marginBottom="10dp"
            android:background="@color/colorGray" />
        <!--按钮区域-->
        <RelativeLayout
            android:layout_below="@+id/dialog_title"
            android:layout_width="280dp"
            android:layout_height="wrap_content"
            android:id="@+id/bottom">
            <LinearLayout
                android:id="@+id/buttons"
                android:layout_width="280dp"
                android:layout_height="wrap_content"
                android:orientation="horizontal">
                <!--取消按钮-->
                <Button
                    android:id="@+id/btn_cancel"
                    android:paddingBottom="10dp"
                    android:layout_marginTop="10dp"
                    android:layout_width="0dp"
                    android:layout_height="wrap_content"
                    android:layout_weight="1"
                    android:text="@string/text_cancel"
                    android:background="@null"
                    android:textColor="@color/colorBlue"
                    android:textSize="16sp" />
                <View
                    android:layout_width="1dp"
                    android:layout_height="match_parent"
                    android:background="@color/colorGray"/>
                <!--确定按钮-->
                <Button
                    android:id="@+id/btn_ensure"
                    android:paddingBottom="10dp"
                    android:layout_marginTop="10dp"
                    android:layout_width="0dp"
                    android:layout_height="wrap_content"
                    android:layout_weight="1"
                    android:background="@null"
                    android:text="@string/text_ensure"
                    android:textColor="@color/colorBlue"
                    android:textSize="16sp"/>
            </LinearLayout>
        </RelativeLayout>
    
    
    </RelativeLayout>

    mdialog_bg.xml

    <?xml version="1.0" encoding="utf-8"?><!--圆角矩阵背景-->
    <shape xmlns:android="http://schemas.android.com/apk/res/android"
        android:shape="rectangle">
        <!--设置背景颜色-->
        <solid android:color="#fff" />
        <!--设置角度-->
        <corners android:radius="16sp">
    
        </corners>
    
    
    </shape>

    styles.xml

    <resources>
    
        <!-- Base application theme. -->
        <style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
            <!-- Customize your theme here. -->
            <item name="colorPrimary">@color/colorPrimary</item>
            <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
            <item name="colorAccent">@color/colorAccent</item>
            <item name="windowNoTitle">true</item>
        </style>
        <!--对话框样式-->
        <style name="mdialog" parent="android:style/Theme.Dialog">
            <!--背景透明-->
            <item name="android:windowBackground">@android:color/transparent</item>
            <!--没有标题-->
            <item name="android:windowNoTitle">true</item>
            <!--背景昏暗-->
            <item name="android:backgroundDimEnabled">true</item>
        </style>
    
    </resources>
    

     

    需要打包的源码,请评论区留言!

    展开全文
  • VC实现炫眩qq界面的模拟(附源码)

    千次下载 热门讨论 2008-03-10 15:24:28
    美观个性化的界面是一个软件吸引和留住用户的法宝之一,通讯软件QQ/MSN就是这类产品中的一个典型的代表,下面将VC++对QQ的界面进行模拟实现,供广大朋友参考。 相信各位对QQ已经相当熟悉,因此对其外观特性等不作累...
  • 2、什么动态模型?建立功能模型时主要使用哪些图形符号?这些符号的含义 是什么? 答:动态模型表示瞬时的、行为化的系统的“控制”性质,它规定了对象模型中的对象的台法变化序列。 通常,UML提供的状态
  • 实际上加密锁的好坏仅仅是一个方面,不论加密锁提供的功能有多丰富,加密性有多好,更主要的是使用者,因为软件毕竟是要被人的。希望所有的加密锁使用者能够更好的使用他的加密锁来完成对自己软件的保护。 加密...
  • 瀑布模型进行软件开发已经有近十年了,并取得了一些成功。若你作为一名管理员刚加入M公司,你认为快速原型法对公司的软件开发更加优越,请向公司副总裁写一份报告阐明你的理由,切记:副总裁不喜欢报告长度 超过一...
  • A:顾名思义,“虚”总是相对“实”而言的,在IT行业,所谓的“实”,也就是指看得见、摸得着的服务器、CPU等硬件产品以及部分可视化软件等,虚的软件来代替或者模拟这些实际存在的东西,也就是虚拟化。...
  • :允许用户数字键盘拨号,即使电台没有工作在电话模式下。 Channel Spacing :信道带宽。 Tx V oice/Signal :发射信号调制。只能选择模拟或者 Astro 。 Transmit Power Level :发射功率。 (固定...
  • 在解说时您可以鼠标模拟的“粉笔”在屏幕上补充和评点,并可以利用工具或快捷菜单控制演示的进程。此外,CD音轨、WAV或MIDI音乐可以作为背景音乐为您的演示文档锦上添花。有了 WPS 2000,您进行各种演示和学术报告...
  • 持续交付-发布可靠软件的系统方法

    热门讨论 2014-03-02 01:32:14
    Jez Humble编著的《持续交付(发布可靠软件的系统方法)》讲述如何实现更快、更可靠、低成本的自动化软件交付,描述了如何通过增加反馈,并改进开发人员、测试人员、运维人员和项目经理之间的协作来达到这个目标。...
  • 3dsmax是制作建筑效果图和动画制作的专业工具,广泛应用于建筑设计、三维动画、音视制作等各种静态、动态场景的模拟制作。max5max6max7max7.5max8max9等分中文版与英文版。无论是室内建筑装饰效果图,还是室外建筑...
  • 《持续交付--发布可靠软件的系统方法》,英文名《Continuous Delivery: Reliable Software Releases through Build, Test, and Deployment Automation》,原作者:(英)Jez Humble、(英)David Farley,翻译:乔梁,...
  • 什么是VLAN

    2013-10-23 09:59:12
    虚拟局域网的好处是可以限制广播范围,并能够形成虚拟工作组,动态管理网络。 编辑本段VLAN的目的  VLAN(Virtual Local Area Network,虚拟局域网)的目的非常的多。通过认识VLAN的本质,将可以了解到其用处究竟在...
  • 上面,我们得到了Osip的解析器开发库,下面再编译完整的Osip协议栈开发库,同样照上述方法,分别创建动态链接库工程和静态链接库工程,只是要拷的文件换成src下的osip目录下文件和include下的osip目录,...
  • 下面我按照自己的回忆把对话模拟出来,A指面试官,B指我: <p>A:你有写过瀑布流吗? <p>B:我写过等宽瀑布流。实现是当用户拉到底部的一定高度的时候,向后端请求一定...
  • 文章更新于:2020-02-18注:python 爬虫当然要安装 python,如何安装参见:python 的安装使用和基本语法一、什么是网络爬虫网络爬虫就是代码模拟人类去访问网站以获取我们想要信息。由于代码模拟的速度和效率很高...
  • Jmeter学习分享

    2020-01-19 10:17:08
    1.什么是jmeter?...2.我能它做什么? Apache JMeter可用于测试静态和动态资源、Web动态应用程序的性能。它可以用来模拟服务器、服务器组、网络或对象上的重负载,以测试其强度或分析不同负载类型下的...
  • JMeter官方API(doc)

    2018-03-05 09:31:38
    Apache JMeter™ ...我能它做什么? Apache JMeter可用于测试静态和动态资源,Web动态应用程序的性能。 它可用于模拟服务器,服务器组,网络或对象上的重负载,以测试其强度,或分析不同负载类型下的整体性能。
  • JMeter概览

    2019-07-23 11:08:30
    我能它做什么? Apache JMeter可以用来测试静态资源性能和动态资源性能,Web动态引用。 它可以用来模拟一个服务器、一组服务器、网络或者对象的大量负载来测试它的强度或者分析不同负载强度下的整...
  • Apache JMeter™ 概述

    2019-05-09 14:15:34
    我能他做什么? Apache JMeter可用于测试静态和动态资源,Web动态应用程序的性能。它可用于模拟服务器,服务器组,网络或对象上的重负载,以测试其强度或分析不同负载类型下的整体性能。 Apache JMeter...
  • 模拟器qemu技术内幕

    千次阅读 2013-11-07 23:33:29
    用软件模拟设备行为什么时候都是革命思想,在今天像七十年前一样。 - 开发qemu的Fabrice Bellard 说:“qemu是快速的动态便捷的翻译器“;官方网站说qemu是开源的通用的机器仿真器(emulator)和虚拟器...
  • 22、智能指针

    2020-08-21 10:59:15
    内存泄漏主要是由于动态申请堆空间,完后不归还,且c++中没有垃圾回收机制和指针无法控制所指堆空间的生命周期。那么有没有好的方案尽力地去避开内存泄漏呢?那就是使用智能指针,所谓智能指针就是对象来模拟...
  • docker初体验

    2020-06-16 17:45:49
    一、为什么docker 提供一次性的环境。比如,本地测试他人的软件、持续集成的时候提供单元测试和构建的环境。 提供弹性的云服务。因为 Docker 容器可以随开随关,很适合动态扩容和缩容。 组建微服务架构。通过多...
  • 一周学会 python 爬虫_1

    2020-12-22 05:22:41
    就像探测机器一样,基本操作就是模拟人去浏览各个网站,浏览数据,查看信息。 2、爬虫可以做什么? (1)抢火车票: 这应该是爬虫行业中使用量最大,很多抢票软件每秒对12306扫数千数万次。 (2)刷浏览量: 爬虫重...

空空如也

空空如也

1 2 3 4 5 ... 10
收藏数 194
精华内容 77
关键字:

动态模拟用什么软件