HI,欢迎来到起点商标网!
24小时服务QQ:2880605093

实验现象模拟方法、装置、系统和电子设备与流程

2021-01-25 13:01:16|317|起点商标网
实验现象模拟方法、装置、系统和电子设备与流程

本申请涉及计算机交互应用技术领域,具体而言,涉及一种实验现象模拟方法、装置、系统和电子设备。



背景技术:

传统的实验教学,学生在老师的指导下按照固定的连线方式或者原料的配比进行试验,即使有足够的设备可以让实验人员动手实践,但是考虑到实际实验可能引发的危险性,也会限制实验人员的实验类型及时长,存在很大的局限性,无法让实验人员自主地进行实验。



技术实现要素:

本申请实施例的目的在于提供一种实验现象模拟方法、装置、系统和电子设备,用以解决现有技术中存在的问题。

第一方面,本发明实施例提供一种实验现象模拟方法,包括:定义实验模拟系统的初始函数和逻辑功能函数,在初始函数中定义执行对象;在执行对象中创建多个实体对象,实体对象包含实体属性;根据每个实体属性和逻辑功能函数,生成模拟结果。

于一实施例中,在初始函数中定义执行对象,包括:在初始函数中创建逻辑空间;从预设数据库中调用目标组件至逻辑空间,组成多执行对象;其中,目标组件具有标识信息。

于一实施例中,实体属性包括身份属性,在执行对象中创建多个实体对象,包括:根据身份属性和目标组件,于逻辑空间中创建多个实体对象;将多个实体对象存储与执行对象中,并根据目标组件的标识信息向身份属性分配标识信息;其中,标识信息为唯一标识,用于识别实体对象的身份。

于一实施例中,实体属性包括特征属性,在执行对象中创建多个实体对象,还包括:根据特征属性和目标组件,于逻辑空间中创建多个实体对象;根据特征属性,修改目标组件的特征并更新。

于一实施例中,根据每个实体属性和逻辑功能函数,生成模拟结果,包括:根据每个实体对象的实体属性,对应建立模拟子系统;调用模拟子系统中的所有实体属性,代入逻辑功能函数,并生成模拟结果。

第二方面,本发明实施例提供一种实验现象模拟装置,包括:第一定义模块,用于定义实验模拟系统的初始函数和逻辑功能函数,在初始函数中定义执行对象;第一创建模块,用于在执行对象中创建多个实体对象,实体对象包含实体属性;第一生成模块,用于根据每个实体属性和逻辑功能函数,生成模拟结果。

于一实施例中,第一定义模块还用于:在初始函数中创建逻辑空间;从预设数据库中调用目标组件至逻辑空间,组成多执行对象;其中,目标组件具有标识信息。

于一实施例中,实体属性包括身份属性,第一创建模块还用于:根据身份属性和目标组件,于逻辑空间中创建多个实体对象;将多个实体对象存储与执行对象中,并根据目标组件的标识信息向身份属性分配标识信息;其中,标识信息为唯一标识,用于识别实体对象的身份。

于一实施例中,实体属性包括特征属性,第一创建模块还用于:根据特征属性和目标组件,于逻辑空间中创建多个实体对象;根据特征属性,修改实体对象的特征并更新。

于一实施例中,第一生成模块还用于:根据每个实体对象的实体属性,对应建立模拟子系统;调用模拟子系统中的所有实体属性,代入逻辑功能函数,并生成模拟结果。

第三方面,本发明实施例提供一种实验现象模拟系统,包括:控制器,用于定义实验模拟系统的初始函数和逻辑功能函数,在初始函数中定义执行对象,并且,在执行对象中创建多个实体对象,以及,根据每个实体对象的实体属性和逻辑功能函数,生成模拟结果;存储单元,用于存储执行对象、在执行对象中创建的多个实体对象;运算单元,用于通过控制器的控制,根据每个实体属性和逻辑功能函数,生成模拟结果。

第四方面,本发明实施例提供一种电子设备,包括:存储器,用以存储计算机程序;处理器,用以执行如前述实施方式中任一项的方法。

本申请实施例提供的一种实验现象模拟方法、装置、系统和电子设备,可以实现虚拟化学实验使用计算机模拟仿真,在网页端和移动端均可使用,不受限于设备数量及危险性限制。实验系统通过手动组装化学仪器和药品,并时时给出真实的化学实验现象和数据,达到低成本、零风险、且不存在实验器材损耗无需教师维护等优势。

附图说明

为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。

图1为本申请实施例提供的一种电子设备的结构示意图;

图2为本申请实施例提供的一种实验现象模拟方法的应用场景示意图;

图3为本申请实施例提供的一种实验现象模拟方法的流程图;

图4为本申请实施例提供的另一种实验现象模拟方法的流程图;

图4a为本申请实施例提供的一种实体对象的示意图;

图4b为本申请实施例提供的另一种实体对象的示意图;

图4c为本申请实施例提供的一种模拟子系统的示意图;

图4d为本申请实施例提供的一种模拟子系统的示意图;

图5为本申请实施例提供的一种实验现象模拟装置的结构示意图;

图6为本申请实施例提供的一种实验现象模拟系统的结构示意图。

图标:1-电子设备;10-总线;11-处理器;12-存储器;100-用户终端;200-服务端;500-实验现象模拟装置;501-第一定义模块;502-第一创建模块;503-第一生成模块;600-实验现象模拟系统;601-控制器;602-存储单元;603-运算单元。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。

如图1所示,本实施例提供一种电子设备1,包括:至少一个处理器11和存储器12,图1中以一个处理器11为例。处理器11和存储器12通过总线10连接,存储器12存储有可被处理器11执行的指令,指令被处理器11执行。

存储器12可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(staticrandomaccessmemory,简称sram),电可擦除可编程只读存储器(electricallyerasableprogrammableread-onlymemory,简称eeprom),可擦除可编程只读存储器(erasableprogrammablereadonlymemory,简称eprom),可编程只读存储器(programmablered-onlymemory,简称prom),只读存储器(read-onlymemory,简称rom),磁存储器,快闪存储器,磁盘或光盘。

图2是本申请实施例提供的实验现象模拟方法的应用场景示意图。如图2所示,该应用场景包括用户终端100和服务端200。用户终端100和服务端200之间可以通过wifi、2.4g、433m、gprs(generalpacketradioservice,通用分组无线服务)等无线通信方式进行配置信息的传输。

其中,服务端200可以是服务器、服务器集群或者云计算中心,服务端200根据用户终端100发送的执行指令运行对应的执行对象。用户终端100可以是安装了应用程序的个人电脑(personalcomputer,pc)、平板电脑、智能手机、个人数字助理(personaldigitalassistant,pda)等,以实现将本地接收的外部控制命令发送至服务端200,接收服务端200返回的数据。

于一实施例中,服务端200还可以是个人电脑,用户终端100可以是操作个人电脑的外部设备,外部设备由用户操作向服务端200发送控制指令,外部控制命令可以用于控制用户终端100指示服务端200处打开应用程序以及控制应用程序运行。应用程序用于实现定义实验模拟系统的初始函数和逻辑功能函数,在初始函数中定义执行对象,并且在执行对象中创建多个实体对象,实体对象包含实体属性,以及根据每个实体属性和逻辑功能函数,生成模拟结果。

于一实施例中,数据库可以是存储器12,也可以是存储器12中划分的数据存储空间,存储器12可以存储应用程序和执行应用程序的执行参数,还可以存储应用程序运行后由用户输入的执行参数。

请参阅图3,其为本申请实施例提供的一种实验现象模拟方法的流程图,该方法可由图1所示的电子设备1来执行,并用于图2所示的交互场景中。

该方法包括如下步骤:

步骤301:定义实验现象模拟系统600的初始函数和逻辑功能函数,在初始函数中定义执行对象。

在步骤中,实验现象模拟系统600可以使用ecs(entity-component-system,实体-组件-系统)架构,主要目的是减少开发大量实验元器件的工作量、传统面向对象编写大量对象带来的继承混乱问题,新的元器件可以通过组合已有组件来创造。

entity(实体),实验系统内的每个元器件都是一个entity,每个实体里面有多个component(组件)。

component(组件),组件定义具有某种特性的属性,由组件组成的实体可包含其特性数据。例如:化学物质组件包含化学式、物质状态(固态、气态、液态)、温度、体积、质量等属性。如果在仪器entity上加载了化学物质组件,那么该化学物质就具有当前属性数据,可在系统中进行使用同时可修改数据。

system(系统),系统是用来处理拥有一个或者相同的几个组件的实体集合的工具,其只拥有函数方法或运算逻辑(在系统中没有任何的数据)。如物态变换系统,依赖上述的化学物质组件,根据当前化学元素的温度、沸点和物质状态等属性,判断当前物质是否发生熔化、气化等物态变化,并计算变化后的物质状态、体积、质量等数据,更新当前实体挂载的组件数据。

于一实施例中,执行对象可以是实验现象模拟系统600中的运行环境或者是由多个组件构成的实体,或多个实体组成的子系统。执行对象被执行时,利用函数执行该执行对象中的所有组件、或实体、或子系统。函数可以是逻辑功能函数,也可以是其他功能函数。

步骤302:在执行对象中创建多个实体对象。

在本步骤中,实体对象包含实体属性,实体对象可以是一个entity(实体),每个entity(实体)里面有多个component(组件),其中实体属性来自component(组件),例如:化学物质组件包含化学式、物质状态(固态、气态、液态)、温度、体积、质量等属性。component(组件)配合逻辑功能函数结算出system(系统)一个或者相同的几个组件的实体集合的结果。

步骤303:根据每个实体属性和逻辑功能函数,生成模拟结果。

在本步骤中,由于多个实体对象分别具有不同的实体属性,则可以根据每个实体属性对应建立模拟子系统,每个模拟子系统专注处理一种实验过程,或者专注处理组件中的某一属性。通过不同系统的顺序循环执行,构建成出一个仿真的化学世界,也即调用模拟子系统中的所有实体属性,代入逻辑功能函数,并生成模拟结果。

请参阅图4,其为本申请实施例提供的一种实验现象模拟方法的流程图,该方法可由图1所示的电子设备1来执行,并用于图2所示的交互场景中。

该方法包括如下步骤:

步骤401:在初始函数中创建逻辑空间。

在本步骤中,实验现象模拟系统600在初始化时,需要构建运行框架,以使实体、组件和系统都在该框架内按照预设的逻辑运行。

步骤402:从预设数据库中调用目标组件至逻辑空间,组成多执行对象。

在本步骤中,目标组件具有标识信息。目标组件是由用户选择需要组成执行对象的component(组件)。

于一实施例中,实体属性包括身份属性或者特征属性,实体属性为身份属性时进入步骤403,实体属性为特征属性时,进入步骤405。

步骤403:根据身份属性和目标组件,于逻辑空间中创建多个实体对象。

在本步骤中,有的实体对象是用来模拟实验原料的,例如氢、氦、锂、铍、硼等化学物质作为实体,还有的实体对象是用来模拟实验仪器的,例如烧杯、试管、胶塞、导管等仪器。身份属性用于表示实体对象在本系统中的身份角色。

步骤404:将多个实体对象存储于执行对象中,并根据目标组件的标识信息向身份属性分配标识信息。

在本步骤中,标识信息为唯一标识,用于识别实体对象的身份。在建立好实体对象后,实体对象包含身份属性,身份属性可以是id(identitydocument,身份标识号),在创建实体对象时,为各实体对象分别分配唯一标识以用于识别实体对象身份,为实体对象分配的唯一标识可以是全局唯一id,利用全局唯一id可以作为于数据库中查找实体对象时的索引。例如图4a所示,建立的实体对象可以是“烧杯”,“烧杯”所代表的中文字符串即为该实体对象的id。

步骤405:根据特征属性和目标组件,于逻辑空间中创建多个实体对象。

在本步骤中,目标组件可以是化学物质组件,化学物质组件包含的特征属性可以是化学式、物质状态(固态、气态、液态)、温度、体积、质量等属性,每个目标组件都具有一种或几种特征属性。建立实体对象时,由于实体对象包含多个目标组件,将目标组件的特征属性赋予实体对象。

步骤406:根据特征属性,修改实体对象的特征并更新。

在本步骤中,当多个目标组件组成实体对象后,特征属性会发生一定的改变。例如目标组件为化学物质组件时,化学物质组件中有化学式、物质状态、温度、体积、质量、物质的量、浓度、颜色、沸点、熔点等属性,表示当前实体的状态。可在系统中使用这些属性数据进行计算,同时也可更改实体的组件属性数据。如图4b所示,氢离子实体由化学物质组件、离子组件组成。

于一实施例中,目标组件可以是反应容器组件,反应容器组件包含的特征属性中有容积、宽、高、温度、是否密闭、是否破裂、是否正在产生气体等属性,表示当前反应容器具有的属性状态。同时可以在系统中通过对反应容器组件的监听,获取到每一个具有反应容器组件的实体的状态,并在逻辑计算中应用。

步骤407:根据每个实体对象的实体属性,对应建立模拟子系统。

在本步骤中,多个实体对象组合起来可以生成实体对象集合,实体对象集合可以作为一个模拟子系统进行试验模拟。

步骤408:调用模拟子系统中的所有实体属性,代入逻辑功能函数,并生成模拟结果。

在本步骤中,模拟子系统可以是物态变换系统,如图4c所示,物态变换系统监听包含反应容器组件和包含物质结构组件组成的所有实体。通过遍历反应容器内包含的化学物质,以及化学物质具有的温度、沸点、熔点等属性,判断当前化学物质是否满足发生气化、液化、熔化、固化、升华、凝华等物理变换条件。如果满足则按照一定的变换速度生成对应状态的化学物质实体,同时更新当前状态的化学物质实体。

于一实施例中,模拟子系统可以是压强系统,如图4d所示,压强系统分别监听包含反应容器组件、包含物质结构组件组成的实体集合和包含连接器组件组成的实体集合,并实现了如下的功能:(1)根据混合气体物质的量、温度、体积,计算非恒压容器的压强;(2)根据恒压容器中物质的体积,判断容器内物质溢出或者流入情况;(3)根据容器恒压/非恒压情况,计算并更新容器内气体化学物质的体积;(4)计算连接器连接的两端反应容器的压强差,并判断物质流动的反向及流动化学物质的类型,同时更新两端反应容器中化学物质的量。

于一实施例中,模拟子系统可以是温度系统,温度系统监听包含反应容器组件的实体集合,实现了如下功能:(1)判断容器是否有接触热源,更新容器正在被加热属性;(2)根据容器正在被加热属性以及温度变化函数,更新容器的温度;(3)根据容器的温度及温度变化函数,更新容器内各个化学物质的温度。

于一实施例中,模拟子系统可以是溶解系统,溶解系统监听包含反应容器组件和包含物质结构组件组成的所有实体,实现了溶解和析出的功能。遍历当前容器内的化学物质,根据物质的溶解度和容器内溶液体积,判断固体物质是否会溶解为离子状态,更新化学物质状态和物理量;同时计算溶液中的离子浓度,根据离子的饱和程度,判断离子溶液是否可以析出,并更新物质状态及物理量。

于一实施例中,模拟子系统可以是化学反应系统,化学反应系统监听包含反应容器组件和包含物质结构组件组成的所有实体。通过配置的化学反应条件列表,判断当前容器内是否发生化学反应,并根据反应速度,计算和更新容器内的反应物、生成物的物理量。

于一实施例中,模拟子系统可以是化学物理量变化系统,化学物理量变化变化系统监听包含反应容器组件和包含物质结构组件组成的所有实体,实现了如下功能:(1)判断反应容器内的物质,当物质的量为0时,删除当前化学物质实体;(2)创建混合物实体,便于在压强系统中进行混合气体压强的计算;(3)计算非封闭容器内气体的流动;(4)根据非密闭容器的角度,计算并更新容器内剩余物质的量;(5)根据容器内溶液的体积,更新离子的浓度。

请参阅图5,其为本申请实施例提供的一种实验现象模拟装置500的结构示意图,该实验现象模拟装置500可由图1所示的电子设备1来执行,并用于图2所示的交互场景中,以实现定义实验现象模拟系统600的初始函数和逻辑功能函数,在初始函数中定义执行对象,并且在执行对象中创建多个实体对象,实体对象包含实体属性,以及根据每个实体属性和逻辑功能函数,生成模拟结果的实验现象模拟的过程。实验现象模拟装置500包括:第一定义模块501、第一创建模块502和第一生成模块503。各模块具体原理关系如下:

第一定义模块501,用于定义实验模拟系统的初始函数和逻辑功能函数,在初始函数中定义执行对象。详细请参阅上述实施例中对步骤301的描述。

于一实施例中,第一定义模块501还用于:在初始函数中创建逻辑空间,以及从预设数据库中调用目标组件至逻辑空间,组成多执行对象。其中,目标组件具有标识信息。详细请参阅上述实施例中对步骤401、402的描述。

第一创建模块502,用于在执行对象中创建多个实体对象,实体对象包含实体属性。详细请参阅上述实施例中对步骤302的描述。

于一实施例中,实体属性包括身份属性,第一创建模块502还用于:根据身份属性和目标组件,于逻辑空间中创建多个实体对象,以及将多个实体对象存储与执行对象中,并根据目标组件的标识信息向身份属性分配标识信息。其中,标识信息为唯一标识,用于识别实体对象的身份。详细请参阅上述实施例中对步骤403、404的描述。

于一实施例中,实体属性包括特征属性,第一创建模块502还用于:根据特征属性和目标组件,于逻辑空间中创建多个实体对象,以及根据特征属性,修改实体对象的特征并更新。详细请参阅上述实施例中对步骤405、406的描述。

第一生成模块503,用于根据每个实体属性和逻辑功能函数,生成模拟结果。详细请参阅上述实施例中对步骤303的描述。

于一实施例中,第一生成模块503还用于:根据每个实体对象的实体属性,对应建立模拟子系统,以及调用模拟子系统中的所有实体属性,代入逻辑功能函数,并生成模拟结果。详细请参阅上述实施例中对步骤407、408的描述。

图6为本申请实施例提供的一种实验现象模拟系统600的结构示意图,该实验现象模拟系统600包括控制器601、存储单元602和运算单元603。

控制器601,用于定义实验模拟系统的初始函数和逻辑功能函数,在所述初始函数中定义执行对象,并且,在所述执行对象中创建多个实体对象,以及,根据每个所述实体属性和所述逻辑功能函数,生成模拟结果。

存储单元602,用于存储所述执行对象、在所述执行对象中创建的多个所述实体对象。

运算单元603,用于通过所述控制器601的控制,根据每个所述实体属性和所述逻辑功能函数,生成模拟结果。

在本申请所提供的实施例中,应该理解到,所揭露装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

另外,作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

再者,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。

需要说明的是,功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-onlymemory,rom)随机存取存储器(randomaccessmemory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。

在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。

以上仅为本申请的实施例而已,并不用于限制本申请的保护范围,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

起点商标作为专业知识产权交易平台,可以帮助大家解决很多问题,如果大家想要了解更多知产交易信息请点击 【在线咨询】或添加微信 【19522093243】与客服一对一沟通,为大家解决相关问题。

此文章来源于网络,如有侵权,请联系删除

tips