PFC软件学习笔记
PFC3d手册命令中文详解72253

PFC3D 学习记录5-COMMAND REFERENCE通用规定和特征命令语法默认情况下,命令行忽略大小写,然而可以通过SET case命令激活区别大小写情况。
斜体字代表数字,以i, j, m n 为开头的字母代表整数,其他情况为实数命令词,关键字和数值可用空格,以及(),=分隔。
在分号(;)后为注释一行最多可包含80个字符。
而& 表示续行Range 语法定义一定限制范围的物体可运用Range的命令:Change/ initial/ property Clump Fix/ Free Group JsetModel Plot ( 运用于不同输出项目) PrintRange( 创建一个命名的范围)一个Range 定义一系列物体。
由许多范围元素构成。
如果使用多个范围元素,最终物体几何为不同元素集合的交集。
但是可通过关键词any改变选择特性。
如果使用关键词any选项,任何包含在范围内的单元可被认为最终物体集合的一部分。
即求合集除此之外,通过在定义范围单元后接关键词not确定所有不在指定范围的单元通常还可以用定义group 方式定义复杂的range。
内置范围单元:Annulus center ( x, y, z) radius = r1, r2球形空心区域中心在(x, y, z )内径r1, 外径r2Color il < iu >球体或墙体在间隔(il, iu )内颜色索引。
若无iu 则iu = il球体颜色索引列表通过property命令建立。
墙体颜色索引列表必须用FISH 内置的w_color设置Cylinder end1( x1, y1, z1 ) end2( x2, y2, z2 ) radius = r圆柱范围。
圆柱中心轴过end1( x1, y1, z1 ) end2( x2, y2, z2 ) 半径为r.Fish fname调用用户定义的范围单元。
通过FISH函数fname 执行。
CRM模式BOOST拓扑结构实现PFC的学习笔记

CRM 模式BOOST 拓扑结构实现PFC 的学习笔记转自电源论坛网友luoshen
PFC 控制器的作用就使AC 电流校正为同AC 电压同相位的正弦波并提供足够的能量给负载.需要提供多少能量给负载的信息通过采样大电解上的电压变化并通过误差放大器反馈给控制器就可以实现,在这个控制的实现方式上并无难点.而使输入电流正弦化并同AC 电压同相位从而实现高功率因数就成了PFC 控制器最重要的任务.
在工作中比较多接触临界模式的控制方式和Boost 拓扑结构的PFC 电路,现在就将最近查看资料后做的学习笔记整理出来,供大家参考。
下面两个图可以便于大家理解。
从图中可以看出该控制方式属于电流控制模式,控制器共搜集了三种信息: (1)误差放大器提供的反馈信息,该信息代表着需要提供的能量的大小,该信息作为乘法器一个输入。
(2)从AC LINE 采集的AC 电压信息,该信息用于调制AC 电流的正弦波包络,该信息作为乘法器另一个输入。
(3)从SENSE 电阻采集到的电感峰值电流的信息,该信息同乘法器的输出一起组成了PWM 控制。
理解该控制方式的关键在于理解乘法器的输出的信息意义:提供一个包含负载能量信息的同AC 电压同相位的正弦波包络.正弦波的幅度代表着能量,波形。
PFC入门

类型 说明 类型 说明
m_ Menu u_ Visual user object
n_ Standard class user object w_ Window
n_cst Custom class user object s_ Global structure
二、变量名称定义
<scopre><datatype>_varialbename
Scorpe为以下值之一
类型 说明 类型 说明
g Global variable i Instance variable
l Local variable s Shared variable
简单变量的Type为以下值之一
PFEMAIN.PBL
PFEUTIL.PBL
PFEWNSRV.PBL
3、在应用程序画笔中,定义一个全局变量,gnv_app,类型为n_cst_appmanager
n_cst_appmanager gnv_app
变量名称一定要为gnv_app,PFC中的对象、函数、事件要求一个类型为n_cst_appmanager或从它继承过来的类型的名称为gnv_app的变量
4、在应用程序画笔的脚本中,在OPEN事件中,建立这个全局变量,并且调用pfc_Open(commandline)事件
gnv_app = CREATE n_cst_appmanager
gnv_app.Event pfc_Open(commandline)
5、在应用程序画笔的CLOSE脚本中,调用pfc_Close事件,并且删除gnv_app变量
tvi TreeViewItem uo UserObject
对PFC一些最基本的认识

pause
plot print list 3 如果我们想在模拟过程中引入重力,只需输入下面的命令: set grav 0 -9.81 同时我们也可以给球体分配摩擦力,通过下面的命令可以实 现:property fric 1.0
Page 3
pfc中常用到的一些命令与注意点:
plot print view :查看当前视图的详细信息。 print info: 显示模型的信息 SAVE 和 RESTORE 命令: 有时,某种状态的颗粒组需 要重复使用,可以在该状态下使用命令 SAVE 对其保存, 在需要使用该状态的颗粒组的地方使用命令RESTORE 对 其恢复。
转到图形模式,在此模式下输入的诧句都是和plot有关的。 plot creat footing : 建立视点footing plot add ball red :把球体渲染为红色
plot add wall black plot add axes brown plot show
可以通过生成更多的球戒者增加球的半径(pro rad mul 1.25)来使 得模型更加紧凑,从而达到模拟的效果。但是在我们增加球的半 径之前必须给于墙体与球体适当的刚度值。 wall id=1 kn=1e8 ks=1e8 wall di=2..................... property(pro) density 1000 kn=1e8 ks=1e8
如果我们通过监视球体的运动以及系统不平衡力的变化,来检查 系统是否达到平衡,我们可以通过下面的命令来实现:
set hist_rep=5 history ball yvel(2,0) history diagnostic muf
Page 2
history diagnostic mcf 最后我们在程序中输入 plot print list 1 pause plot print list 2
PFC3d手册命令中文详解

PFC3D 学习记录5-COMMAND REFERENCE通用规定和特征命令语法默认情况下,命令行忽略大小写,然而可以通过SET case命令激活区别大小写情况。
斜体字代表数字,以i, j, m n 为开头的字母代表整数,其他情况为实数命令词,关键字和数值可用空格,以及(),=分隔。
在分号(;)后为注释一行最多可包含80个字符。
而&表示续行Range 语法定义一定限制范围的物体可运用Range的命令:Change/ initial/ property Clump Fix/ Free Group JsetModel Plot ( 运用于不同输出项目)PrintRange( 创建一个命名的范围)一个Range 定义一系列物体。
由许多范围元素构成。
如果使用多个范围元素,最终物体几何为不同元素集合的交集。
但是可通过关键词any改变选择特性。
如果使用关键词any选项,任何包含在范围内的单元可被认为最终物体集合的一部分。
即求合集除此之外,通过在定义范围单元后接关键词not确定所有不在指定范围的单元通常还可以用定义group 方式定义复杂的range。
内置范围单元:Annulus center ( x, y, z) radius = r1, r2球形空心区域中心在(x, y, z )内径r1, 外径r2Color il < iu >球体或墙体在间隔(il, iu )内颜色索引。
若无iu 则iu = il球体颜色索引列表通过property命令建立。
墙体颜色索引列表必须用FISH 内置的w_color设置Cylinder end1( x1, y1, z1 ) end2( x2, y2, z2 ) radius = r圆柱范围。
圆柱中心轴过end1( x1, y1, z1 ) end2( x2, y2, z2 ) 半径为r.Fish fname调用用户定义的范围单元。
通过FISH函数fname 执行。
PFC数值软件基础教学总结

块体逻辑支持附属粒子组或块体的创建,促进了
程序的推广普及。块体内粒子可以任意程度的重叠, 作为刚性体具有可变形边界的每一个块体,可作为一 般形状的超级粒子。通过指定墙的速度、混合的粒子 速度、施加外力和重力来给系统加载。“扩展的FISH 库”提供了在集合体内设置指定应力场或施加应力边 界条件的函数。时步计算是自动的,包括因为Hertz接 触模型刚度变化的影响。模拟过程中,根据每个粒子 周围接触数目和瞬间刚度值,时步也在变化。基于估 计的粒子数,单元映射策略采用最佳的单元数目,自 动调整单元的外部尺寸来适应粒子缺失和指定的新对 象。单元映射方案支持接触探测算法以保证求解时间 随粒子数目线性增加,而不是二次方增加。
粒子生成器根据粒子的指定分布规律自动概 率地生成。粒子半径按均匀分布或按高斯分布规 律分布。
初始孔隙度一般比较高,但通过控制粒子半 径的扩大可以获得密度压实。在任何阶段任何因 素都可以改变半径。所以不需反复试验就可以获 得指定孔隙度的压实状态。
属性与各个粒子或接触有关,而不是与“类型号” 有关。
因此,可以指定属性和半径的连续变化梯度。 “节理生成器”用来修改沿指定轨迹线的接触特性。 假定这些线叠加在颗粒集合体上。用这种方法,模型 可以被成组的弱面,如岩石节理切割。
PFC2D (Particle Follow Code 2 Dimension)即二 维颗粒流程序,是通过离散单元方法来模拟圆形颗 粒介质的运动及其相互作用。最初,这种方法是研 究颗粒介质特性的一种工具,它采用数值方法将物 体分为有代表性的数百个颗粒单元,期望利用这种 局部的模拟结果来研究边值间题连续计算的本构模 型。以下两种因素促使PFC2D方法产生变革与发 展:(1)通过现场实验来得到颗粒介质本构模型相当 困难:(2)随着微机功能的逐步增强,用颗粒模型模 拟整个问题成为可能,一些本构特性可以在模型中 自动形成。因此,PFC2D便成为用来模拟固体力学和 颗粒流问题的一种有效手段。
【免费下载】PFC编程快速入门☆☆☆

PowerBuilder 基础类库(PFC)是基于面向对象程序设计的思想而设计的, PFC 封装 PB Script。它包含了大多数应用共有的内容,例如各种菜单、窗口、 用户对象、数据窗口以及错误处理、报表预览、打印、主细录入、查询等等。 通过继承,程序员可以方便地把这些类加载到自己的程序中,从而达到提高开 发效率的目的。
2
对全部高中资料试卷电气设备,在安装过程中以及安装结束后进行高中资料试卷调整试验;通电检查所有设备高中资料电试力卷保相护互装作置用调与试相技互术关,系电,力根保通据护过生高管产中线工资敷艺料设高试技中卷术资配,料置不试技仅卷术可要是以求指解,机决对组吊电在顶气进层设行配备继置进电不行保规空护范载高与中带资负料荷试下卷高总问中体题资配,料置而试时且卷,可调需保控要障试在各验最类;大管对限路设度习备内题进来到行确位调保。整机在使组管其高路在中敷正资设常料过工试程况卷中下安,与全要过,加度并强工且看作尽护下可关都能于可地管以缩路正小高常故中工障资作高料;中试对资卷于料连继试接电卷管保破口护坏处进范理行围高整,中核或资对者料定对试值某卷,些弯审异扁核常度与高固校中定对资盒图料位纸试置,.卷编保工写护况复层进杂防行设腐自备跨动与接处装地理置线,高弯尤中曲其资半要料径避试标免卷高错调等误试,高方要中案求资,技料编术试5写交卷、重底保电要。护气设管装设备线置备4高敷动调、中设作试电资技,高气料术并中课3试中且资件、卷包拒料中管试含绝试调路验线动卷试敷方槽作技设案、,术技以管来术及架避系等免统多不启项必动方要方式高案,中;为资对解料整决试套高卷启中突动语然过文停程电机中气。高课因中件此资中,料管电试壁力卷薄高电、中气接资设口料备不试进严卷行等保调问护试题装工,置作合调并理试且利技进用术行管,过线要关敷求运设电行技力高术保中。护资线装料缆置试敷做卷设到技原准术则确指:灵导在活。分。对线对于盒于调处差试,动过当保程不护中同装高电置中压高资回中料路资试交料卷叉试技时卷术,调问应试题采技,用术作金是为属指调隔发试板电人进机员行一,隔变需开压要处器在理组事;在前同发掌一生握线内图槽部纸内故资,障料强时、电,设回需备路要制须进造同行厂时外家切部出断电具习源高题高中电中资源资料,料试线试卷缆卷试敷切验设除报完从告毕而与,采相要用关进高技行中术检资资查料料和试,检卷并测主且处要了理保解。护现装场置设。备高中资料试卷布置情况与有关高中资料试卷电气系统接线等情况,然后根据规范与规程规定,制定设备调试高中资料试卷方案。
PFC2D学习初期总结

PFC2D学习初期总结最近学了一段时间PFC2D,由于做课题要用到它,时间又很紧,只是粗粗的学了一下,现将我的学习笔记抄录如下,比较乱一些。
以期对比我更初级的学习者有所帮助。
内存分配当载入PFC程序后,程序将动态分配内存,随着模型的构建,内存相应地增大。
Print memory 将显示当前内存大小。
内存分配当载入PFC程序后,程序将动态分配内存,随着模型的构建,内存相应地增大。
Print memory 将显示当前内存大小。
图形控制在图形模式下,按键M为放大图形,缩小为Shift+M;箭头来移动;Ctrl+G为在彩图与黑白图形间转换;Ctrl+C显示照相机对话框;Ctrl+L为cutting plane;Ctrl+R为恢复图形显示为默认值;Ctrl+Z为用一矩形框来放大图形局部;F9为重画。
实例new;将球体看成一定厚度的盘子;Note that only mass properties are affected by the SET disk commandset disk on;下面为建立四个直线边壁,分别赋予1~4的编号。
每一直线壁以两点连线建立。
wall id=1 nodes ( 0, -5) (10, -5)wall id=2 nodes (10, -5) (10, 0)wall id=3 nodes (10, 0) ( 0, 0)wall id=4 nodes ( 0, 0) ( 0, -5);下面为产生500个球,每个球的编号被赋予1~500,产生球的地方在0<x<10, -5<y<-0.5的范围内,而且球的半径在0.08<r<0.13的范围内随机产生;如果产生球的范围不足以产生500个球则系统会给出提示。
gen id=1,500 rad 0.08,0.13 x=0,10 y=-5,-0.5;转入图形显示模式的语句为:plot。
输入这条语句后,程序将由命令模式转到图形模式,即Plot 0\Base>,在此模式下输入的语句都是和plot有关的。
PFC 总结

PFC 总结一、什么是PFCPFC是PowerBuilder Foundation Class Library 的简称,即PB基类库。
它是在PowerBuilder中编写并以源码的形式出现的,这些代码都是专业程序员采用正规的开发方式开发的,具有很高的重复使用性和良好的兼容性,充分体现了面向对象的特点。
它采用了先进的面向对象的代码技术和基于服务的设计方法。
二、PFC有哪些优点1、快速的应用开发2、应用的建立使用预创建好的组件而不需重新设计组件3、使用预建及预测组件增强了代码的可重用性4、一致的命名约定和编码标准5、更容易、更有效的维护6、标准的开发方法三、PFC结构PFC是一组.PBL文件,它分为两个层次:原始类层次对象(前缀为pfc_)和扩展层次对象(前缀为m_,n_,或w_)。
在原始类中包括实现各种服务的代码,千万不要修改原始类对象,因为这会影响由该原始类定义的对象。
我们可以修改扩展层或其子孙对象,使它符合我们的要求。
PFC的.PBL文件(11个)如下:PFCAPSRV.PBL/PFEAPSRV.PBL 应用服务PFCDWSRV.PBL/PFEDWSRV.PBL 数据窗口服务PFCMAIN.PBL/PFEMAIN.PBL 用于程序开发的基本PFC服务PFCWNSRV.PBL/PFEWNSRV.PBL 窗口服务PFCUTIL.PBL/PFEUTIL.PBL 实用工具服务PFCOLD.PBL 早期版本服务四、PFC有哪些组件PFC由以下几个部件构成:一组.PBL类库文件一个PFC数据库一组支持快速开发的PBLs库PFC编程示例一个简单的应用(PEAT.PBL)五、PFC提供哪些服务1、应用服务(PFCAPSRV.PBL和PFEAPSRV.PBL)★数据窗口高速缓存服务:gnv_app.of_SetDWCache(true/false)★调试服务:gnv_app.of_SetDebug(true/false)★应用特权服务:gnv_app.of_SetAppPref(true)★最近使用对象服务:gnv_app.of_SetMRU(true)★错误信息服务:gnv_app.of_SetError(true)★安全服务:gnv_app.of_SetSecurity(true)★事物注册服务:gnv_app.of_SetTrRegistration(true)2、全局服务★基本窗口服务:of_SetBase(true)(inv_base)★窗口特权服务:of_SetPreference(true)★窗口工作表管理服务:of_SetSheetManager(true)★窗口状态条服务:of_SetStatusBar(true)(inv_statusbar)3、数据窗口服务★数据窗口祖先服务:of_SetBase(true)(inv_base)★下拉数据窗口查询服务:of_SetDropDownSearch(true)(inv_dropdownsearch)★过滤服务:of_SetFilter(true)(inv_filter)dw_emp.of_SetFilter(TRUE)dw_emp.of_SetTransObject(SQCA)dw_emp.inv_filter.of_SetColmnDisplayNameStyle(dw_emp.inv_filter.HEADER)★查找和替换服务:of_SeFind(true)★链接服务://of_SetLinkage(true)(inv_linkage)dw_master.of_SetLinkage(TRU )dw_master.inv_linkage.of_SeTransObject(SQLCA)dw_detail.of_SetLinkage(TRU )dw_detail.inv_linkage.of_SeMaster(dw_master)dw_detail.inv_linkage.of_Reister("emp_id","emp_id") 从——主dw_detail.inv_linkage.of_SeUpdateStyle(dw_detail.inv_linkage.BOTOMUP) dw_detail.inv_linkage.of_SeStyle(dw_detail.inv_linkage.RE RIEVE)dw_master.of_Retrieve( )dw_master.SetFocus( )★多表更新服务:of_SetMultiTable(true)(inv_multitable)★打印预览服务:of_SetPrintPreview(true)★数据窗口属性服务:of_SetProperty(true)★队列模式服务:of_SetQuerymode(true)(inv_querymode)★报表服务:of_SetReport(true)(inv_report)★要求列服务:of_SetReqColumn(true)(inv_reqcolumn)★行管理服务:of_SetRowManager(true)(inv_rowmanager)★行选择服务:of_SetRowSelect(true)(inv_rowselect)dw_emplist.of_SetRowSelect(true)(inv_rowselect)dw_emplist.inv_rowselect.of_SetStyle(dw_emplist.inv_rowselect.EXTENDED)★数据窗口改变大小服务:of_SetResize(true)(inv_resize)★排序服务://of_SetSort(true)(inv_sort)dw_emp.of_SetSort(TRUE)dw_emp.inv_sort.of_SetColum DisplayNameStyle(dw_emp.inv_sort.HEADER)4、窗口服务★菜单服务:lnv_menu.of_SendMessage(thi , "pfc_Open")★调整大小服务:this.of_SetResize(TRUE)★转换服务:ls_checked = inv_conversion.of_String(cbx_confirmed.Enabled) ★日期/时间服务:inv_datetime.of_Days(ll_seconds) //秒转换为时间★文件服务:li_return = inv_filesrv.of_FileRead(sle_filename.text, ls_file)CHOOSE CASE li_returnCASE -1MessageBox("Error", "Error accessing file")CASE ELSE // File processing goes hereEND CHOOSE★初始化文件服务:li_size = inv_ini_handler.of_GetKeys(gnv_app.of_GetAppINIFile),"CustApp", ls_keys)lb_keys.Reset( )FOR li_count = 1 to li_sizelb_keys.AddItem(ls_keys[li count])NEXT★数值服务:★平台服务:★选择服务:★SQL句法服务:★字符串服务:★元类服务:★工作逻辑单元服务:六、PFC对象:(一)窗口对象:w_child: (PFCMAIN.PBL/PFEMAIN.PBL)w_frame: (PFCMAIN.PBL/PFEMAIN.PBL)w_main: (PFCMAIN.PBL/PFEMAIN.PBL)w_master: (PFCWNSRV.PBL/PFEWNSRV.PBL)w_popup: (PFCMAIN.PBL/PFEMAIN.PBL)w_response: (PFCMAIN.PBL/PFEMAIN.PBL)w_sheet: (PFCMAIN.PBL/PFEMAIN.PBL)(二)菜单对象:m_dw: (PFCMAIN.PBL/PFEMAIN.PBL)u_dw数据窗口控件上鼠标右键单击弹出菜单菜单项:tablem_edit:( PFCMAIN.PBL/PFEMAIN.PBL)u_rte报表数据窗口控件上鼠标右键单击弹出菜单菜单项:editm_frame: (PFEWNSRV.PBL)基础菜单,以该菜单为模扳,在该菜单上增加需要的菜单项菜单项:file helpm_lvs: (PFCMAIN.PBL/PFEMAIN.PBL)在u_lvs列表控件上鼠标右键单击弹出菜单菜单项:viewm_master: (PFEWNSRV.PBL/PFCWNSRV)PFC主菜单,以该菜单为模扳,在该菜单的操作菜单项上增加需要的菜单项菜单项:File edit view insert tools window helpm_oc: (PFCMAIN.PBL/PFEMAIN.PBL)在u_oc(ole)控件上鼠标右键单击弹出菜单菜单项:Objectm_tvs: (PFCMAIN.PBL/PFEMAIN.PBL)在u_tvs(treeview)控件上鼠标右键单击弹出菜单菜单项:view各菜单相对应的下拉菜单:m_dw: (PFCMAIN.PBL/PFEMAIN.PBL)u_dw数据窗口控件上鼠标右键单击弹出菜单菜单项对应调用程序cut pfc_cutcopy pfc_copypaste pfc_pasteselectall pfc_selectallinsert pfc_insertrowadd pfc_addrowdelete pfc_deleterowrestore pfc_restorerowcolumns pfc_columnsfunctions pfc_functionsoperators pfc_operratorsvalues pfc_valuespatawindowproporties pfc_debugproperties empty menue item(调用规则:在u_dw的Rbuttonup 事件中写如下代码:)m_dw lm_dw //定义变量lm_dw = create m_dw //变量实例化lm_dw.of_SetParent(this) //使u_dw成为该菜单的父对象//完成m_edit:( PFCMAIN.PBL/PFEMAIN.PBL)u_rte报表数据窗口控件上鼠标右键单击弹出菜单菜单项对应调用程序cut pfc_cutcopy pfc_copypaste pfc_pasteselectall pfc_selectall(调用规则:在u_rte的Rbuttonup 事件中写如下代码:)Integer li_rc //定义变量m_edit lm_editWindow lw_parentString ls_selectedtextlm_edit = create m_edit //变量实例化lm_edit.of_SetParent(this) //往u_rte上挂该菜单//完成m_frame: (PFEWNSRV.PBL)基础菜单,以该菜单为模扳,在该菜单上增加需要的菜单项下拉菜单项对应调用程序File:New pfc_newOpen pfc_openExit pfc_exitHelpe:Help topic pfc_helpAbout n_cst_appmanager.of_about()m_lvs: (PFCMAIN.PBL/PFEMAIN.PBL)在u_lvs列表控件上鼠标右键单击弹出菜单下拉菜单项对应选择/事件view larger icon;small icon;list;reportArrange Icons Sorts the display by the specified columnSelect All pfc_SelectAllInvert Selection pfc_InvertSelectioncut pfc_cutcopy pfc_copypaste pfc_pasteclear pfc_clearnew pfc_newdelete pfc_deleterename pfc_renameproperties pfc_properties(调用规则:在u_lvs的Rbuttonup 事件中写如下代码:)m_lvs lm_viewif IsNull(lm_view) Or not IsV alid(lm_view) thenlm_view = create m_lvslm_view.of_SetParent(this)end ifm_master: (PFEWNSRV.PBL/PFCWNSRV)PFC主菜单,以该菜单为模扳,在该菜单的操作菜单项上增加需要的菜单项下拉菜单项对应调用程序File: New pfc_newOpen pfc_openClose pfc_closeSave pfc_savesave as pfc_saveasprint pfc_printprint preview pfc_printpreviewpage setup pfc_pagesetupprint immediate pfc_printimmediatedelete empty menu itemproperite empty menu itemexit pfc_exitedit: undo pfc_undocut pfc_cutcopy pfc_copypaste pfc_pastePaste special pfc_PasteSpecialClear pfc_clearselectall pfc_selectallfind pfc_finddlgreplace pfc_replacedlgupdatelinkes pfc_updatelinkesview: ruler pfc_rulerlarger icon empty menu itemsmall icon empty menu itemlist empty menu itemdetails empty menu itemfirst pfc_firstpagenext pfc_nextpageprior pfc_priorpagelast pfc_lastpagesort pfc_sortdlgfilter pfc_filterdlgzoom pfc_zoomArrange Icons Sorts the display by the specified columnInsert: file pfc_insertfilePicture pfc_insertpictureObject pfc_insertobjectT ools: customize pfc_toolbarsToobars currenwindowWindow: c ascade pfc_cascadeTile horizontal pfc_tilehorizontalTile vertical pfc_tileverticalLayer pfc_layerMinimize all pfc_minimizeallUndo arrange pfc_undoarrangeHelpe: Help topic pfc_helpAbout n_cst_appmanager.of_about()(菜单调用窗口事件格式为:of_SendMessage("pfc_open") )m_oc: (PFCMAIN.PBL/PFEMAIN.PBL)在u_oc(ole)控件上鼠标右键单击弹出菜单下拉菜单项对应调用程序edit pfc_editobjectopen pfc_openobjectcut pfc_cutcopy pfc_copypast pfc_past(调用菜单如下:m_oc lm_ocString ls_selectedtextlm_view = create m_oclm_view.of_SetParent(this) )m_tvs: (PFCMAIN.PBL/PFEMAIN.PBL) 在u_tvs(treeview)控件上鼠标右键单击弹出菜单下拉菜单项对应调用程序Open pfc_OpenFind pfc_FindDlgCut pfc_CutCopy pfc_CopyPaste pfc_PasteClear pfc_ClearNew pfc_NewDelete pfc_DeleteRename pfc_RenameProperties pfc_Properties(连接格式:m_tvs im_viewim_view = CREA TE m_tvsim_view.of_SetParent(this) )(三)PFC全局函数f_setfilesrv (对应的基类为n_cst_filesrv)f_setplatform (对应的基类为n_cst_platform)(四)PFC全局组件结构对象n_cst_aboutattrib (pfcapsrv.pbl/pfeapsrv.pbl) 显示 w_about 窗口信息在n_cst_appmanager 调用n_cst_baseattrib (pfcmain.pbl/pfemain.pbl)继承祖先的属性类,无参数,所有对象调用n_cst_calculatorattrib (pfcmain/pfemain.pbl) 计算器 u_calculator上调用n_cst_calendarattrib (pfcmain/pfemain.pbl) 日历类型 u_calendar 上调用n_cst_columnattrib (pfcapsrv/pfeapsrv.pbl) 列管理在u_cst_lvsrv_datasource 和n_cst_lvsrv_sort 上调用n_cst_dberrorattrib (pfcapsrv/pfeapsrv.pbl)数据库错误信息在 n_cst_luw 和 w_master上用n_cst_dirattrib (pfcapsrv/pfeapsrv.pbl) 文件服务在in n_cst_filesrv 上用n_cst_dwobjectattrib (PFCDWSRV/ PFEDWSRV.PBL)数据高速存储在 in n_cst_dwcache, n_cst_dssrv, n_cst_dwsrv, 和他的后代上用n_cst_dwpropertyattrib(PFCUTIL/ PFeUTIL.PBL)数据窗口对象属性在w_dwproperty上用n_cst_errorattrib(PFCAPSRV/ PFEAPSRV.PBL)错误信息在 in n_cst_error 和 w_message上用n_cst_filterattrib(PFCDWSRV/ PFEDWSRV.PBL)过滤类在n_cst_dwsrv_filter和过滤对话框里里用n_cst_findattrib(pfcapsrv/pfeapsrv.pbl)查找和替换类在 n_cst_dwsrv_find, u_rte, w_find, w_replace上用n_cst_infoattrib(pfcapsrv/pfeapsrv.pbl)数据窗口属性对话框在所有对象的of_getinf 函数里用n_cst_itemattrib(pfcapsrv/pfeapsrv.pbl)项目信息在u_lb, u_plb, u_tv上用.n_cst_linkageattrib(PFCDWSRV/ PFEDWSRV。
PFC基础_V1.0资料

PF
P V1 I1 cos I 1 cos r cos S V1 I rms I rms
六.典型案例分析及提问
第一部分:
PFC基础知识
一.PFC基础知识
1. 名词解释
在学习PFC电路的工作原理之前,我们先了解一下什么是PFC。 PFC(Power Factor Correction)——功率因数校正 PF就是“功率因数”的意思,主要用来表征电子产品对电能的利用效率。功率因数越高,说 明电能的利用效率越高。 功率因数可简单地定义为有功功率(P)与视在功率(S)之比,
第二部分: PFC电路概述 及其主要工作原理
二.PFC电路概述及其主要工作原理
整流模块工作原理框图
+
PFC主电路
*
交流输入
~
EMI滤波
-
直流输出+ Nhomakorabea全桥整流 PFC驱动
风扇电路
PFC控制
高频整流 输出滤波 DC/DC主电路 过压、过流保 PWM驱动 护 PWM控制 均流控 制 检测放 大
温度
模块监控
一.PFC基础知识
2. PFC电路的作用
a. 谐波的概念
我们为什么在我们的电源中要增加PFC电路,不加PFC电路会有什么后果。在了解这些之前, 我们需要先知道另一个概念——谐波。 从220V交流电网经整流供给直流,是当今电力电子技术中应用最为广泛的一种基本变流方式 。输入电路通常由半波或全波整流器和后面的储能电容组成,如图1-1。 整流器+滤波电容是一种 非线性的元件组合,因此,开关电源对于电网表现为非线性负载。而当工频电压或电流作用于非 线性负载时,就会产生不同于工频的其它频率的正弦电压或电流,如图1-2。 这些不同于工频频 率的正弦电压或电流,用傅立叶级数展开,就是人们称的电力谐波,如图1-3。
PFC2D学习笔记之材料特性

材料特性使用命令PROPERTY可以分配材料特性参数信息。
难点在于选择能反映真实材料的特性参数。
连续介质程序中的材料参数是宏观参数,可以由实验室得到,而PFC2D则是采用颗粒之间的微观参数。
如果材料的微观参数已知,则可以直接应用PFC2D模拟;如果微观参数未知,则需要采用逆向模拟,即进行许多试验和模拟,建立宏观参数和微观参数的关系。
当不连续体(如裂缝、断层、节理等)要设置在材料中进行模拟时,可以使用节理生成器引入弱面。
颗粒和接触的特性除了与粘结相关的特性以外,都要使用PROPERTY命令给颗粒分配特性参数。
有些参数,如摩擦系数和接触刚度,与接触行为相关,但是也必须分配给颗粒。
这些接触行为由组成接触的两个颗粒的特性得到。
特性在空间的变化参数沿空间线性变化:prop s_bond 1e6 grad -1e4 range x 0 50。
即,接触粘结剪切强度由x=0处的1e6线性变化到x=50处的5e5(10e6 − 1e4*50)。
参数按照更复杂的函数变化则需要通过FISH函数完成。
参数按组分配:使用命令GROUP和RANGE GROUP。
GROUP将某空间范围内的颗粒定义为一组后,即使以后这些颗粒移动到初始定义的RANGE空间范围外,仍然保持在一个组内,仍然可以对其同时分配或改变参数。
需要注意的是,通过GROUP设置接触特性时,只有GROUP内部球体间形成的接触可以被改变,而属于不同GROUP的颗粒间形成的接触不受影响。
如果需要改变不同GROUP之间的颗粒形成的接触的特性,则需要使用JSET命令,这将在后面的节理平面部分给出详细说明。
基于已知微观特性的直接模拟如果模拟的材料由圆颗粒组成,则颗粒的特性可以直接输入PFC2D。
各参数的相对重要性取决于模拟的类型和目的。
如果颗粒材料小应变时的整体模量很重要,则应该使用HERTZ-MINDLIN模型,输入剪切模量和孔隙比;如果材料的强度比模量更重要,则使用计算效率高的线性接触模型,这种情况下,如果颗粒的重叠在合理范围(比如小于平均半径的5%),则切向和法向接触刚度就不重要了;如果没用颗粒间粘结,则材料的强度决定于摩擦系数。
PFC3D中文讲解第五天

(1)常见命令用法补充
1、定义简单数值变量(前面已讲过定义字符串变量macro命令)
第一种方法:Set abc=71
第二种方法:
def shuzhi
abc=71
end
2、定义函数
def abc
hh=22
abc=hh*3+5
end
abc ;用于执行函数,所以不能少
print abc
几种常用运算函数:
Pi——∏
urand——0到1的随机数
unbal——不平衡力的最大值
abs(a)——a的绝对值
cos (a)——a的余弦值
log(a)——a的以10为底的对数
max(a,b)——a,b中的最大值
sqrt(a)——a的平方根
3、loop循环语句
def xunhuan
Sum=0
Prod=1
Loop n(1,10)
Sum=sum+n
Prod=prod*n
End loop
end
xunhuan ;用于执行函数,所以不能少
Print sum,prod
上面程序很好懂,稍有点程序基础的都能看懂,这里主要是让用户看下loop循环的使用方法。
4、if语句
def abc
if aa>0 then
abc=11
else
abc=22
end if
end
set aa=1
print abc
set aa=-1
print abc
以上程序非常简单,在此不再赘述,这里主要是让用户看下if语句的使用方法。
PFC2D学习笔记之边界条件与初始条件

PFC2D学习笔记之边界条件与初始条件边界条件墙边界一般,颗粒组是在一组墙内创建并压缩。
这些墙也可以当作边界约束,按一定速度运动监测其反力;或保持反力一定,伺服控制其速度。
但是不能在墙上直接施加力。
当墙为多段线时,要考虑到墙与球在线段转角处的接触。
当转角处为凹时,两段墙可能会同时与一个球接触,但PFC2D只允许每个墙与球的接触最多一个,因此要在此处将墙断开,设置成两个墙;当转角为凸时,两段墙不肯能同时与一个球接触,因此不需要将墙断开。
墙也可以是圆形或弧或点。
颗粒边界可以创建一个颗粒串,并使用这些颗粒串作为边界条件。
固定速度的颗粒边界用 FISH函数得到边界颗粒,并固定其平动自由度,然后删除墙,并施加加速度。
从而可以得到内部颗粒的速度。
边界颗粒的速度保持初始值不变;该模拟对应与应变控制式试验。
有两种方法可以得到边界颗粒。
一种是,遍历每个球的接触列表并探测与墙接触的球,作为边界;另一种是,使用RANGE,将落在一个空间范围内的所有颗粒作为边界颗粒。
第一种方法的核心程序为:bp = ball_headloop while bp # null ; scan all ballssectioncp = b_clist(bp)loop while cp # null ; scan ball’s contactsif c_nforce(cp) # 0.0 thenb2 = c_ball2(cp)if pointer_type( b2 ) = 101 then ; b2 is a wallb_xfix(bp) = 1 ; fix original ball in x,yb_yfix(bp) = 1b_color(bp) = 1 ; identify by colorexit section ; all done for this ballend_ifend_ifif c_ball1(cp) = bpcp = c_b1clist(cp)elsecp = c_b2clist(cp)end_ifend_loopend_sectionbp = b_next(bp)end_loop第二种方法参考RANGE的用法,较为简单,此处略去。
PFC学习笔记

kenergy=e_kinetic
senergy=e_strain
totenergy=kenergy+senergy
command
cycle 1000
end_command
kenergy1=e_kinetic
end_command
_wending
get_p2
_getvolume2
inca=inca/5
else
multb=((1+(inca*tot_vol)/summ))^(1.0/3.0)
_getvolume2
inca=inca/2
end_if
m=m+1
output_print1
else
savefile='s'+string(p2)+'s'+string(vf2)+'.sav'
command
save savefile ;保存状态
end_command
exit section
end_if
end_loop
end_section
end
_expansion
senergy1=e_strain
totenergy1=kenergy1+senergy1
if rgy = 0
exit section
else
eratio=abs((totenergy1-totenergy)/totenergy)
_wending
_xiezai
prop dens=2600 ks=s_stiff kn=n_stiff fric=friction
PFC2D学习笔记之加载-求解-模拟-结果分析

PFC2D学习笔记之加载-求解-模拟-结果分析加载方法加载分为被动加载和主动加载。
被动加载,是指模型内部的改变引起的模型内的加载,这种作用是自动发生的,如开挖,重力加载也属于被动加载的一种,因为重力总是在模拟开始时就设置了的。
需要注意的是,SET GRA VITY命令只是根据颗粒的重度和半径给颗粒施加一个体力,颗粒间的接触力不受该命令影响。
主动加载,由外部施加的速度和力组成。
墙的控制可以给墙施加速度,包括平动和转到。
墙运动时所受到的力和力矩可以用PRINT WALL显示,或用HISTORY WALL跟踪,或用FISH函数对其操作。
还可以用FISH函数创建一个伺服控制机制,给WALL施加速度以使力或力矩保持为常量。
也可以定义WALL的运动方程,使其动态行为像一个惯性实体一样。
颗粒受力控制——应力边界可以用一组平衡力作用在边界颗粒上,以取代WALL,且这组力可以放大或缩小以表示侧应力的变化。
但是,应力控制式边界在颗粒材料内不具有代表性;应变控制式边界更更真实地体现材料内部约束;施加的力边界对于为破坏的粘结材料几乎已经足够了。
颗粒速度的控制一组边界颗粒可以用命令FIX和INIITIAL XVEL,YVEL固定并施加速度。
但是需要用一下FISH函数获取控制颗粒的总反力:fxsum_lh = 0.0fxsum_rh = 0.0bp = ball_headloop while bp # nullif b_xfix(bp) = 1if b_xvel(bp) > 0.0fxsum_lh = fxsum_lh + b_xfob(bp)end_ifif b_xvel(bp) < 0.0fxsum_rh = fxsum_rh + b_xfob(bp)end_ifend_ifbp = b_next(bp)end_loop周期性边界当需要使所求解问题在给定区域循环进行时,使用周期性边界能够减少颗粒数目以计算时间。
PFC2D学习笔记之使用细则

PFC2D术语颗粒:不同特性的颗粒表示紧邻基床面的材料,并沿着节理存在弱面。
墙:模拟边界,刚性光滑实体。
颗粒链:采用一个具有平行粘结的颗粒簇表示。
球:ball可以是球体,也可以是指定厚度的圆盘。
Ball的另一名称即颗粒。
Wall: 有两种墙,标准墙和一般墙。
一般墙在几何形状上和标准墙不同,且一般墙的两边都是激活的。
标准墙是一条或多条线段,并在与颗粒的交界面上任意定义接触特性。
Contact: 球与球或球与墙之间通过点接触相互作用。
接触通过球与球或球与墙的重叠来创建,该重叠与物理变形相对应。
Model boundary: 模型边界。
墙可以用来定义模型边界,或者规定一组球的速度。
CLUSTER:簇,簇内颗粒是粘结在一起的,用来模拟角或块体。
簇与簇之间可以相互作用并近似模拟块体系统的行为。
簇可以表示自然结构,例如块状岩体或任意结构(隧道线或钢筋等)。
簇内颗粒间的粘结可以发生破坏而分离。
聚粒(超级颗粒):组成聚粒的颗粒彼此间保持固定距离,且不能分开,像一个具有柔性边界的刚体。
DISCONTINUITY:一个间断由块体系统中相互分离的颗粒簇的一个或多个接触组成,并具有不同于颗粒簇内部的接触特性。
间断可以表示岩体中的节理、断层或基岩等。
BOUNDARY CONDITION:边界条件。
INITIAL CONTINUITY: 初始条件。
ID NUMBER: 具有ID号的模型单元有,balls, walls, measurement circles, histories, tables, clumps and plot items. 使用PRINT命令可以得到ID号。
ID号可以由用户指定,也可以有程序自动分配。
RANG:范围,即一个变量的边界。
GROUP: 一组同名的球。
组可以用来限制一些命令仅作用在组内成员上。
CYCLE OR STEP:得到静态解的平衡状态需要经历的计算步数。
Unbalanced force: 不平衡力。
PFC手册中文翻译整理1

Getting started1 导言1.1背景与概述PFC2D是利用离散单元法(DEM:1979年由Cundall和Strack提出)模拟球形颗粒的运动和相互作用的软件。
它最早是被用来模拟颗粒状材料的行为;对包含有几百个颗粒的代表单元做过数值测试。
颗粒模型被用来代表单元的行为(条件是统一的),而连续的方法则被用来解决真实的具有复杂变形模式的问题(其中单元行为取决于颗粒模型测试)。
两个事实给这种近似带来了变化。
首先,对于particleassemblies而言,从测试结果中得到本构关系定律是非常困难的;再则,随着电子计算机运算速度及存储量的飞速发展,使得利用大量颗粒模拟整个问题成为可能;本构关系则自动在模型中体现出来了。
PFC2D旨在成为可以解决固体力学和颗粒流的一种行之有效的工具。
一个与圆形颗粒的移动和相互作用有关的物理问题也许可以直接用PFC2 D进行模拟。
利用两个或更多的颗粒来组成一个任意形状的物体也是可能的,因此这样捏合起来的每组颗粒则可以代表各自的物体(可利用clum p logic,理论与背景,section 4).PFC2D也可以用来模拟易碎的“固体”,即把每个颗粒与他周围的颗粒粘结(bond)起来;得到的assembly就可以被看作“固体”,它具有弹性而且当键(bond)在加工过程中被损坏时能够“fractuing”。
PFC2D包括大量的logic供用户使用,它们可被当作是bondedparticles的一个大软件包来模拟“固体”(其中很多的logic在augmented FishTank中被执行过,FishTank是由FISH编写的一套公式,FISH是PFC2D的一种嵌入式语言,见section3 in the fishvolume);“固体”可以使各项同性的,也可能被分割成不同的区域或块。
这种系统也可由离散元程序UDEC(Itasca2004)和3DEC(Itasca2003)模拟,但是它们多用来模拟angularblock。
PFC3D中文讲解全五天

PFC3D中文讲解第一天(1)读取文件命令:call 文件路径如文件与PFC3D.EXE同目录,则只要输入call filename.dat(2)退出命令Quit(3)关闭窗口命令Close(4)在PFC3D安装目录中有三个简单的例子,TEST1.DAT、TEST2.DAT和TEST3.DAT,用户可以利用这三个例子来检验软件是否安装正确。
例1:先输入call TEST1.DAT,即得到球的位置坐标。
为让用户逐渐熟悉fish语言,固先将程序贴出来,另附上运行结果。
;fname: test1.DATnewset randomwall id=1 face 0,0,0 10,0,0 10,0,-10 0,0,-10wall id=2 face 0,0,0 0,0,-10 0,10,-10 0,10,0wall id=3 face 10,0,-10 10,0,0 10,10,0 10,10,-10wall id=4 face 10,10,-10 10,10,0 0,10,0 0,10,-10wall id=5 face 0,0,-10 10,0,-10 10,10,-10 0,10,-10wall id=6 face 0,0,0 0,10,0 10,10,0 10,0,0gen id=1,8 rad 1.5 2.0 x 0 10 y 0 10 z -10 0wall id=1 kn=1e8 ks=1e8wall id=2 kn=1e8 ks=1e8wall id=3 kn=1e8 ks=1e8wall id=4 kn=1e8 ks=1e8wall id=5 kn=1e8 ks=1e8wall id=6 kn=1e8 ks=1e8property density 1000 kn 1e8 ks 1e8set grav 0 0 -10property fric 0.5cycle 100print ball positionreturn然后紧接着输入call TEST2.DAT,屏幕中就会出现模型图,即在一个箱子中被着色的几个小球。
PFC软件学习汇报

plot create Footing plot set title text 'Basic collection of particles in a box' plot set rotation(24.0,352.0,340.0) plot add ball yellow plot add wall white plot add cforce black plot add axes brown plot show pause; wall id=1 kn=1e8 ks=1e8 wall id=2 kn=1e8 ks=1e8 wall id=3 kn=1e8 ks=1e8 wall id=4 kn=1e8 ks=1e8 wall id=5 kn=1e8 ks=1e8 wall id=6 kn=1e8 ks=1e8;谢谢观赏Fra bibliotek
wall id=1 kn=1e8 ks=1e8 wall id=2 kn=1e8 ks=1e8 wall id=3 kn=1e8 ks=1e8 wall id=4 kn=1e8 ks=1e8 wall id=5 kn=1e8 ks=1e8 wall id=6 kn=1e8 ks=1e8; prop density 2000 kn 1e8 ks 1e8 ini rad mul 1.47; set hist_rep=5 hist ball zvel 3 1 0 hist diagnostic muf set dt dscale set grav 0 0 -9.81 prop fric 1.0 cycle 1000
xxxxpfc为小球施加重力作用并设定球与球之间的摩擦系数setrandomtitle?tutorialexample?wallid1face00010001005005wallid2face000005025020wallid3face1005100010201025wallid4face10251020020025wallid5face00510051025025wallid6face00002010201000genid1750rad015020x010y02z50plotcreatefootingplotsettitletext?basiccollectionplotsetrotation24035203400plotaddballyellowplotaddwallwhiteplotaddcforceblackplotaddaxesbrownplotshowwallid1kn1e8ks1e8wallid2kn1e8ks1e8wallid3kn1e8ks1e8wallid4kn1e8ks1e8wallid5kn1e8ks1e8wallid6kn1e8ks1e8