当前位置: 首页 > 编程日记 > 正文

Abaqus用户子程序umat的学习

Abaqus用户子程序umat的学习

说明:在文件中,!后面的内容为注释内容。本文为学习心得,很多注释是自己摸索得到。如有不正确的地方,敬请指正。
! ——————————————————————————
! 1、为何需要使用用户材料子程序( User-Defined Material, UMAT)?
! 很简单,当 ABAQUS 没有提供我们需要的材料模型时。所以,在决定自己定义一种新的材料模型之前,最好
! 对 ABAQUS 已经提供的模型心中有数,并且尽量使用现有的模型,因为这些模型已经经过详细的验证,并被广泛接受。
! ——————————————————————————
! UMAT 子程序具有强大的功能,使用 UMAT 子程序:
! (1)可以定义材料的本构关系,使用 ABAQUS 材料库中没有包含的材料进行计算,扩充程序功能。
! (2) 几乎可以用于力学行为分析的任何分析过程,几乎可以把用户材料属性赋予 ABAQUS 中的任何单元。
! (3) 必须在 UMAT 中提供材料本构模型的雅可比( Jacobian)矩阵,即应力增量对应变增量的变化率。
! (4) 可以和用户子程序“ USDFLD”联合使用,通过“ USDFLD”重新定义单元每一物质点上传递到 UMAT 中场变量的数值。
! ——————————————————————————
! 2、需要哪些基础知识?
! 先看一下 ABAQUS 手册( ABAQUS Analysis User’s Manual)里的一段话:
! Warning: The use of this option generally requires considerable expertise(一定的专业知识).
! The user is cautioned that the implementation(实现) of any realistic constitutive(基本)
! model requires extensive(广泛的) development and testing. Initial testing on a single element
! model with prescribed traction loading(指定拉伸载荷) is strongly recommended.
! 但这并不意味着非力学专业,或者力学基础知识不很丰富者就只能望洋兴叹,因为
! 我们的任务不是开发一套完整的有限元软件,而只是提供一个描述材料力学性能的本构
! 方程( Constitutive equation)而已。当然,最基本的一些概念和知识还是要具备的,比如:
! 应力(stress),应变( strain)及其分量; volumetric part 和 deviatoric part;模量( modul
! us)、泊松比(Poisson’s ratio)、拉梅常数(Lame constant);矩阵的加减乘除甚至求逆;还
! 有一些高等数学知识如积分、微分等。
! ——————————————————————————
! 3、 UMAT 的基本任务?
! 我们知道,有限元计算(增量方法)的基本问题是:已知第 n 步的结果(应力,应变等)
! σ[n],ε[n],然后给出一个应变增量 dε[n+1],计算新的应力σ[n+1]。 UMAT 要完成这一
! 计算, 并要计算 Jacobian 矩阵 DDSDDE(I,J) =Δσ/Δε 。 Δσ 是应力增量矩阵(张量或
! 许更合适), Δε 是应变增量矩阵。 DDSDDE(I,J) 定义了第 J 个应变分量的微小变化对第 I 个应力分量带来的变化。
! 该矩阵只影响收敛速度,不影响计算结果的准确性(当然,不收敛自然得不到结果)。
! ——————————————————————————
! 4、怎样建立自己的材料模型?
! 本构方程就是描述材料应力应变(增量)关系的数学公式,不是凭空想象出来的,
! 而是根据实验结果作出的合理归纳。比如对弹性材料,实验发现应力和应变同步线性增
! 长,所以用一个简单的数学公式描述。为了解释弹塑性材料的实验现象,又提出了一些
! 弹塑性模型,并用数学公式表示出来。
! 对各向同性材料( Isotropic material) ,经常采用的办法是先研究材料单向应力-应变
! 规律(如单向拉伸、压缩试验),并用一数学公式加以描述,然后把该规律推广到各应
! 力分量。这叫做“泛化“(generalization)。
! ——————————————————————————
! 5、一个完整的例子及解释
! 由于主程序与 UMAT 之间存在数据传递,甚至一些公共变量,因此必须遵循有关
! UMAT 的书写格式, UMAT 中常用的变量在文件开头予以定义,通常格式为:

代码块

SUBROUTINE UMAT(STRESS,STATEV,DDSDDE,SSE,SPD,SCD,1 RPL, DDSDDT, DRPLDE, DRPLDT,2 STRAN, DSTRAN,TIME,DTIME,TEMP,DTEMP,PREDEF,DPRED,CMNAME,3 NDI,NSHR,NTENS,NSTATV,PROPS,NPROPS,COORDS,DROT,PNEWDT,4 CELENT,DFGRD0,DFGRD1,NOEL,NPT,LAYER,KSPT,KSTEP,KINC)      ! 共37个参数INCLUDE 'ABA_PARAM.INC'CHARACTER*80 CMNAMEDIMENSION STRESS(NTENS),STATEV(NSTATV),1 DDSDDE(NTENS,NTENS),DDSDDT(NTENS),DRPLDE(NTENS),2 STRAN(NTENS),DSTRAN(NTENS),TIME(2),PREDEF(1),DPRED(1),3 PROPS(NPROPS),COORDS(3),DROT(3,3),DFGRD0(3,3),DFGRD1(3,3)! user coding to define DDSDDE, STRESS, STATEV, SSE, SPD, SCD ! and, if necessary, RPL, DDSDDT, DRPLDE, DRPLDT, PNEWDTRETURN
END SUBROUTINE UMAT
! ------------------------------------------------------------------------------
! COORDS 当前积分点的坐标
! DDSDDE ( NTENS,NTENS) 大小为 NTENS×NTENS 的 Jacobian 矩阵( Δσ / Δε ),
! DDSDDE (I,J) 定义了第 J 个应变分量的微小变化对第 I 个应力分量带来的变化。通常 Jacobian 矩阵是一个对称矩阵,
! 除非在“ *USER MATERIAL”语句中加入了“ UNSYMM”参数;需要更新 DROT
! 对 Finite strain 问题,应变应该排除旋转部分,该矩阵提供了旋转矩阵,详见下面的解释;已知
! DSTRAN (NTENS) 应变增量 dε[n+1],已知
! DTIME 增量步的时间增量 dt ;已知
! KSTEP,KINC 传到用户子程序当前的 STEP 和 INCREMENT 值   KSTEP为载荷时间步;KINC为增量步
! NDI 直接应力(正应力)、应变个数,对三维问题、轴对称问题自然是 3( 11,22,33),平面问题是 2(11,22);已知
! NOEL,NPT 积分点所在单元的编号和积分点的编号
! NSHR 剪切应力(剪应力)、应变个数,三维问题时 3(12,13,23),轴对称问题是 1(12);已知
! NTENS =NDI+ NSHR,总应力分量的个数;已知
! PNEWDT 可用来控制时间步的变化。如果设置为小于 1 的数,则程序放弃当前计算,并用新的时间增量 DTIME X PNEWDT
! 作为新的时间增量计算;这对时间相关的材料如聚合物等有用;
! 如果设为大余 1 的数,则下一个增量步加大 DTIME 为 DTIME X PNEWDT。可以更新。
! PROPS (NPROPS) 材料常数数组,如模量啊,粘度系数等等;
! 材料参数的个数,等于关键词“ *USER MATERIAL”中“ CONSTANT S”常数设定的值;
! 矩阵中元素的数值对应于关键词“ USER MATERIAL”下面的数据行。作为已知量传入;已知
! SSE,SPD,SCD 分别定义每一增量步的弹性应变能,塑性耗散和蠕变耗散。它们对计算结果没有影响,仅仅作为能量输出
! STATEV (NSTATEV) 状态变量矩阵,用来保存用户自己定义的一些变量,如累计塑性应变,粘弹性应变等等。
! 增量步开始时作为已知量传入,增量步结束应该更新
! STRAN (NTENS) 当前应变数组ε[n],已知
! STRESS (NTENS) 应力张量数组,对应 NDI 个直接分量和 NSHR 个剪切分量。
! 在增量步的开始,应力张量矩阵σ[n]中的数值通过 UMAT 和主程序之间的接口传递到 UMAT 中,
! 在增量步的结束, UMAT 将对应力张量矩阵更新为σ[n+1]。
! 对于包含刚体转动的有限应变问题,一个增量步调用 UMAT 之前就
! 已经对应力张量进行了刚体转动,因此 UMAT 中只需处理应力张量的共旋部分。 UMAT 中应力张量的度量为柯
! 西(真实)应力。
! ------------------------------------------------------------------------------
! 下面这个 UMAT 取自 ABAQUS 手册,是一个用于大变形下的弹塑性材料模型,注意的是这里需要了解 J2 理论。
SUBROUTINE UMAT(STRESS,STATEV,DDSDDE,SSE,SPD,SCD,RPL,DDSDDT,1 DRPLDE,DRPLDT,STRAN,DSTRAN,TIME,DTIME,TEMP,DTEMP,PREDEF,DPRED,2 CMNAME,NDI,NSHR,NTENS,NSTATV,PROPS,NPROPS,COORDS,DROT,3 PNEWDT,CELENT,DFGRD0,DFGRD1,NOEL,NPT,LAYER,KSPT,KSTEP,KINC)
CINCLUDE 'ABA_PARAM.INC'
! 定义了一些相关参数与变量什么,从 ABAQUS 安装目录下的子文件夹“… \site”中可找到
CCHARACTER*8 CMNAME
CDIMENSION STRESS(NTENS),STATEV(NSTATV),DDSDDE(NTENS,NTENS),1 DDSDDT(NTENS)(应变矩阵),DRPLDE(NTENS),STRAN(NTENS),DSTRAN(NTENS)    ! (应变增量矩阵) ,2 PREDEF(1),DPRED(1),PROPS(NPROPS)(材料常数矩),COORDS(3),DROT(3,3)    ! (旋转矩阵) ,3 DFGRD0(3,3),DFGRD1(3,3)
! 声明矩阵的尺寸
C
C LOCAL ARRAYS
C ----------------------------------------------------------------
C EELAS - ELASTIC STRAINS
C EPLAS - PLASTIC STRAINS
C FLOW - DIRECTION OF PLASTIC FLOW
C ----------------------------------------------------------------
C
! 局部变量,用来暂时保存弹性应变、塑性应变分量以及流动方向DIMENSION EELAS(6),EPLAS(6),FLOW(6)
CPARAMETER(ZERO=0.D0,ONE=1.D0,TWO=2.D0,THREE=3.D0,SIX=6.D0,1 ENUMAX=.4999D0,NEWTON=10,TOLER=1.0D-6)
C
C ----------------------------------------------------------------
C UMAT FOR ISOTROPIC ELASTICITY AND ISOTROPIC MISES PLASTICITY
C CANNOT BE USED FOR PLANE STRESS
C ----------------------------------------------------------------
C PROPS(1) - E
C PROPS(2) - NU
C PROPS(3..) - SYIELD AN HARDENING DATA
C CALLS HARDSUB FOR CURVE OF YIELD STRESS VS. PLASTIC STRAIN
C ----------------------------------------------------------------
C
C ELASTIC PROPERTIES
C
! 获取杨氏模量,泊松比,作为已知量由 PROPS 向量传入EMOD=PROPS(1)              !   EENU=PROPS(2)               !   νEBULK3=EMOD/(ONE-TWO*ENU)  !   3K , 3k = E /(1-2ν )EG2=EMOD/(ONE+ENU)         !   2G , 2G = E /(1+υ)EG=EG2/TWO                 !   G  , G = E /2(1+υ)EG3=THREE*EG               !   3GELAM=(EBULK3-EG2)/THREE    !   λ  ,  λ = (3k-2G)/3DO K1=1,NTENSDO K2=1,NTENSDDSDDE(K1,K2)=ZEROEND DOEND DO                            
! 弹性部分,Jacobian矩阵很容易计算
!   |λ+2G   λ      λ          |
!   |λ      λ+2G   λ          |
! J=|λ      λ      λ+2G       | 
!   |                    G      |
!   |                       G   |
!   |                          G|
! 注意,在ABAQUS中,剪切应变采用工程剪切应变的定义γ(ij)=u(ij)+u(ji),所以剪切部分模量是G而不是2G!
C  
C        ELASTIC  STIFFNESS  C  DO K1=1,NDIDO K2=1,NDIDDSDDE(K2,K1)=ELAMEND DODDSDDE(K1,K1)=EG2+ELAMEND DODO K1=NDI+1,NTENSDDSDDE(K1,K1)=EGEND DO
C
C RECOVER ELASTIC AND PLASTIC STRAINS AND ROTATE FORWARD
C ALSO RECOVER EQUIVALENT PLASTIC STRAIN
C
! 读取弹性应变分量,塑性应变分量,并旋转(调用了 ROTSIG),分别保存在 EELAS和 EPLAS 中;CALL ROTSIG(STATEV( 1),DROT,EELAS,2,NDI,NSHR)CALL ROTSIG(STATEV(NTENS+1),DROT,EPLAS,2,NDI,NSHR)
! 读取等效塑性应变EQPLAS=STATEV(1+2*NTENS)
! 先假设没有发生塑性流动,按完全弹性变形计算试算应力Δσ = J.Δε, σ[n+1]=σ[n]+Δσ
CC CALCULATE PREDICTOR STRESS AND ELASTIC STRAIN
CDO K1=1,NTENSDO K2=1,NTENSSTRESS(K2)=STRESS(K2)+DDSDDE(K2,K1)*DSTRAN(K1)END DOEELAS(K1)=EELAS(K1)+DSTRAN(K1)  ! 弹性应变分量END DO
C 计算 Mises 应力
C CALCULATE EQUIVALENT VON MISES STRESS
CSMISES=(STRESS(1)-STRESS(2))**2+(STRESS(2)-STRESS(3))**21 +(STRESS(3)-STRESS(1))**2DO K1=NDI+1,NTENSSMISES=SMISES+SIX*STRESS(K1)**2END DOSMISES=SQRT(SMISES/TWO)
C 根据当前等效塑性应变,调用 HARDSUB 得到对应的屈服应力
C GET YIELD STRESS FROM THE SPECIFIED HARDENING CURVE
CNVALUE=NPROPS/2-1CALL HARDSUB(SYIEL0,HARD,EQPLAS,PROPS(3),NVALUE)
C
C DETERMINE IF ACTIVELY YIELDING
C 如果 Mises 应力大余屈服应力,屈服发生,计算流动方向IF (SMISES.GT.(ONE+TOLER)*SYIEL0) THEN
C
C ACTIVELY YIELDING
C SEPARATE THE HYDROSTATIC FROM THE DEVIATORIC STRESS
C CALCULATE THE FLOW DIRECTION
CSHYDRO=(STRESS(1)+STRESS(2)+STRESS(3))/THREEDO K1=1,NDIFLOW(K1)=(STRESS(K1)-SHYDRO)/SMISESEND DODO K1=NDI+1,NTENSFLOW(K1)=STRESS(K1)/SMISESEND DO
C 根据 J2 理论并应用 Newton-Rampson 方法求得等效塑性应变增量
C SOLVE FOR EQUIVALENT VON MISES STRESS
C AND EQUIVALENT PLASTIC STRAIN INCREMENT USING NEWTON ITERATIO
C
CSYIELD=SYIEL0DEQPL=ZERODO KEWTON=1,NEWTONRHS=SMISES-EG3*DEQPL-SYIELDDEQPL=DEQPL+RHS/(EG3+HARD)CALL HARDSUB(SYIELD,HARD,EQPLAS+DEQPL,PROPS(3),NVALUE)IF(ABS(RHS).LT.TOLER*SYIEL0) GOTO 10END DO
C
C WRITE WARNING MESSAGE TO THE .MSG FILE
CWRITE(7,2) NEWTON2 FORMAT(//,30X,'***WARNING - PLASTICITY ALGORITHM DID NOT ',1 'CONVERGE AFTER ',I3,' ITERATIONS')
10    CONTINUE
C 更新应力σ n+1,应变分量
C UPDATE STRESS, ELASTIC AND PLASTIC STRAINS AND
C EQUIVALENT PLASTIC STRAIN
CDO K1=1,NDISTRESS(K1)=FLOW(K1)*SYIELD+SHYDROEPLAS(K1)=EPLAS(K1)+THREE/TWO*FLOW(K1)*DEQPLEELAS(K1)=EELAS(K1)-THREE/TWO*FLOW(K1)*DEQPLEND DODO K1=NDI+1,NTENSSTRESS(K1)=FLOW(K1)*SYIELDEPLAS(K1)=EPLAS(K1)+THREE*FLOW(K1)*DEQPLEELAS(K1)=EELAS(K1)-THREE*FLOW(K1)*DEQPLEND DOEQPLAS=EQPLAS+DEQPL
C
C CALCULATE PLASTIC DISSIPATION 
CSPD=DEQPL*(SYIEL0+SYIELD)/TWO
C
C 计算塑性变形下的 Jacobian 矩阵FORMULATE THE JACOBIAN (MATERIAL TANGENT)
C FIRST CALCULATE EFFECTIVE MODULI
CEFFG=EG*SYIELD/SMISESEFFG2=TWO*EFFGEFFG3=THREE/TWO*EFFG2EFFLAM=(EBULK3-EFFG2)/THREEEFFHRD=EG3*HARD/(EG3+HARD)-EFFG3
c...if (props(7).lt..001) go to 99
c...DO K1=1,NDIDO K2=1,NDIDDSDDE(K2,K1)=EFFLAMEND DODDSDDE(K1,K1)=EFFG2+EFFLAMEND DODO K1=NDI+1,NTENSDDSDDE(K1,K1)=EFFGEND DODO K1=1,NTENSDO K2=1,NTENSDDSDDE(K2,K1)=DDSDDE(K2,K1)+EFFHRD*FLOW(K2)*FLOW(K1)END DOEND DO
c...
99    continue
c...END IF
C 将弹性应变,塑性应变分量保存到状态变量中,并传到下一个增量步
C STORE ELASTIC AND (EQUIVALENT) PLASTIC STRAINS
C IN STATE VARIABLE ARRAYCDO K1=1,NTENSSTATEV(K1)=EELAS(K1)STATEV(K1+NTENS)=EPLAS(K1)END DOSTATEV(1+2*NTENS)=EQPLAS
CRETURN
END SUBROUTINE UMAT
c...
c...子程序,根据等效塑性应变,利用插值的方法得到对应的屈服应力
SUBROUTINE HARDSUB(SYIELD,HARD,EQPLAS,TABLE,NVALUE)INCLUDE 'ABA_PARAM.INC'DIMENSION TABLE(2,NVALUE)PARAMETER(ZERO=0.D0)
C
C SET YIELD STRESS TO LAST VALUE OF TABLE, HARDENING TO ZERO
CSYIELD=TABLE(1,NVALUE)HARD=ZERO
C IF MORE THAN ONE ENTRY, SEARCH TABLE
CIF(NVALUE.GT.1) THENDO K1=1,NVALUE-1EQPL1=TABLE(2,K1+1)IF(EQPLAS.LT.EQPL1) THENEQPL0=TABLE(2,K1)IF(EQPL1.LE.EQPL0) THENWRITE(7,1)1 FORMAT(//,30X,'***ERROR - PLASTIC STRAIN MUST BE ',1     'ENTERED IN ASCENDING ORDER')CALL XITEND IF
CC CURRENT YIELD STRESS AND HARDENING
CDEQPL=EQPL1-EQPL0SYIEL0=TABLE(1,K1)SYIEL1=TABLE(1,K1+1)DSYIEL=SYIEL1-SYIEL0HARD=DSYIEL/DEQPLSYIELD=SYIEL0+(EQPLAS-EQPL0)*HARDGOTO 10END IFEND DO
10    CONTINUEEND IFRETURN
END SUBROUTINE HARDSUB

转载于:https://www.cnblogs.com/baowee/p/9556837.html

相关文章:

PHP:isset()-检测变量是否被设置

isset()-检测变量是否被设置 bool isset(mixed $var [, mixed $...]),检查变量是否被设置,并且不是NULL。var,要检测的变量,...其他变量,允许有多个变量。 返回值:如果var存在并且不是NULL,则返回TRUE&…

Android通过ShareSDK实现新浪微博分享

ShareSDK社会化分享的官方说明:是中国最大的APP内分享服务提供商,ShareSDK社会化分享,全面支持微信,微博,QQ空间,来往,易信,Facebook等国内外40个平台。 ShareSDK官方网站&#xff…

Hadoop集群的基本操作(三:HBase的基本操作)

实验 目的 要求 目的: MySQL数据库的基本命令;MySQL数据库中使用SQL语句;MySQL数据库中数据库,表,数据的操作;要求: 完成MySQL的集群版的安装;MySQL集群的相关服务进程能够正常启…

iOS通过Plist保存离线调试日志

最近需要测试APP在iPhone没连接USB情况下定位时间间隔的情况,固把nslog的日志信息保存成本地Plist文件,以便测试结束后查阅运行时的日志。 一、新建一个保存日志的方法,参数为每次定位成功的时间(作为key)&#xff0c…

关于变量名前面加m的问题

为什么很多人写代码会在变量名前面加一个小写的m? 上大学那会儿就对这个问题感到很好奇。于是网上到处搜,有人说是member的意思。于是后来一直就这么认为。 最近在读Android源码,发现很多系统变量命名时都加了m,而有的变量又没有加…

谷歌推出情境感知API

在 Google I/O 2016 大会上,我们宣布推出新的 Google Awareness API,让您的应用可以利用快照和围栏智能应对用户情境,并且仅需占用极少量的系统资源。 所有开发者均可以通过 Google Play 服务获取 Google Awareness API。 利用 7 种不同类型的…

Hadoop集群的基本操作(四:Hive的基本操作)

实验 目的 要求 目的: (1)掌握数据仓库工具Hive的使用; 要求: 掌握数据仓库Hive的使用;能够正常操作数据库、表、数据; 实 验 环 境 五台独立PC式虚…

【转】通过Hibernate将数据 存入oracle数据库例子

一、 Hibernate介绍 Hibernate是基于对象/关系映射(ORM,Object/Relational Mapping)的一个解决方案。ORM方案的思想是将对象模型表示的对象映射到关系型数据库中,或者反之。Hibernate目前是ORM思想在Java中最成功、最强大的实现。…

自动布局按钮排列平均分布

需要实现如下图所示的主页面布局,需要两排按钮,每一排都自动平均分布,Android的话直接用LinearLayout水平布局,并设置layout_weight即可,对于iOS,网上有使用代码实现,感觉略麻烦,我直…

maven3 手动安装本地jar到仓库

安装命令: mvn install:install-file -Dfile{Path/to/your/ojdbc.jar} -DgroupIdcom.oracle -DartifactIdojdbc6 -Dversion11.2.0 -Dpackagingjar我自己安装oracle14.jar 时命令如下:mvn install:install-file -DgroupIdcom.oracle -DartifactIdojdbc14 …

Hadoop集群的基本操作(五:Sqoop的基本操作)

实验 目的 要求 目的: 掌握ETL工具Sqoop的使用;掌握MySQL和HDFS之间的数据转换;要求: 掌握ETL工具Sqoop的使用;能够正常操作数据库、表、数据; 实 验 环 境 五台…

NEWS - InstallShield 2013 SP1发布

2013的这个国庆假期期间,InstallShield厂商Flexerasoftware(中文名:福莱睿)发布了最新版本InstallShield 2013的SP1,由于这个升级包带来一些新的技术支持和变化,所以特地给大家介绍一下: 1. 支持…

iOS 高德导航按返回后报错 解决

最近项目要添加导航功能,用了高德导航SDK,很郁闷每次从地图界面返回前一页面都报错,弄了很久,最终从高德开发者论坛找到一解决方法,可以试一下。 在导航的ViewController的viewWillDisappear中调用如下方法&#xff0…

Oracle的基本操作(一:子查询与常用函数)

1、描述TO_CHAR和TO_DATE函数的用法。 TO_CHAR(d|n[,fmt]):把日期和数字转换为指定格式(fmt)的字符串; TO_DATE(x[,fmt]):把一个字符串一fmt格式转换为一个日期类型; 举例:select to_char(sysdate,yyyy-mm-dd) "char", to_date(…

易买网的一些增删改查

正如题目所说的一样,今天就来说说易买网中的一些增删改查,主要的功能有注册、用户管理以及商品分类等&#xff01; 1.注册 1.1 注册涉及到了一个ajax远端技术,主要是用来控制注册用户在数据库中是否存在&#xff1a; <script>$(function(){//焦点移出表单时$("#user…

iOS后台持续定位并定时上传

最近做一个考勤APP&#xff0c;功能很简单&#xff0c;就是一直在后台运行&#xff0c;每隔固定时间向服务器上传一次位置信息。持续运行24小时测试&#xff0c;功能实现。 1.ViewController.h文件&#xff1a; #import <CoreLocation/CoreLocation.h>并实现CLLocationMa…

jQuery UI vs Kendo UI jQuery Mobile vs Kendo UI Mobile

jQuery UI vs Kendo UI http://jqueryuivskendoui.com/#introduction jQuery Mobile vs Kendo UI Mobile http://jqueryuivskendoui.com/#mobile-introduction Kendo UI教程 http://www.cnblogs.com/pangblog/archive/2013/09/10/3313135.html转载于:https://www.cnblogs.com/j…

Oracle的基本操作(二:存储过程)

1、编写一个存储过程&#xff0c;根据输入的工作类型&#xff0c;输入该工作的平均工资。 -- Created on 2018/9/30 by YANXUKUNcreate or replace procedure avgsal(v_job in scott.emp.job%type)isavgsal2 number;beginselect avg(sal) into avgsal2 from scott.emp where j…

web11 Struts处理表单数据

电影网站&#xff1a;www.aikan66.com 项目网站&#xff1a;www.aikan66.com 游戏网站&#xff1a;www.aikan66.com 图片网站&#xff1a;www.aikan66.com 书籍网站&#xff1a;www.aikan66.com 学习网站&#xff1a;www.aikan66.com Java网站&#xff1a;www.aikan66.co…

瀑布流开源这两天

想必第一眼看到 Masonery 效果的人们会和当初的我有同样的感觉&#xff0c;惊艳&#xff01;尤其是在你双击浏览器标题栏的空白处之后&#xff0c;所有的区块都在默默寻找自己的位置&#xff0c;无论大小&#xff0c;就像上海虹桥火车站涌入地铁的人群。和技术实现无关&#xf…

iOS网络请求总结

*说明&#xff1a;文章中HTTP为宏定义的http地址&#xff0c;事例通过app_login.action的接口&#xff0c;通过传递policyNum、plateNum、phoneNum三个参数进行登录操作 一、方法1&#xff1a; Foundation框架 NSURLConnection &#xff08;1&#xff09;同步请求&#xff1a;同…

MongoDB数据库(一:基本操作)

1、创建名称为自己姓名拼音缩写的数据库&#xff1b; 2、创建名为姓名拼音缩写col的集合&#xff0c;如dugncol&#xff1b; 3、删除2中的集合&#xff0c;重新创建格式如dugncolnew的集合&#xff1b; 4、在3创建的集合中&#xff0c;插入10条文档数据&#xff0c;要求分别插入…

NYOJ--811--变态最大值

/*Name: NYOJ--811--变态最大值Author: shen_渊 Date: 17/04/17 15:49Description: 看到博客上这道题浏览量最高&#xff0c;原来的代码就看不下去了 o(╯□╰)o */#include<cstring> #include<iostream> #include<algorithm> using namespace std; struct…

扩展的八皇后问题

百度百科&#xff1a;八皇后问题是一个古老而著名的问题&#xff0c;是回溯算法的典型案例。该问题是国际西洋棋棋手马克斯贝瑟尔于1848年提出&#xff1a;在8X8格的国际象棋上摆放八个皇后&#xff0c;使其不能互相攻击&#xff0c;即任意两个皇后都不能处于同一行、同一列或同…

C++ 常用函数方法

/* * 拆分字符串 * 参数&#xff1a; * strData 字符串 * split 分隔符 * 返回&#xff1a; * 返回动态数组std::vector<std::string> ,记得要delete 内存 */ std::vector<std::string>* GetStringArray(char* strData,char* split)…

MongoDB数据库(二:高级操作)

练习一、完成使用Java代码连接MOngoDB&#xff0c;创建集合&#xff0c;获取集合&#xff0c;插入文档&#xff0c;检 索所有文档&#xff0c;更新文档&#xff0c;删除第一个文档。 a&#xff09;连接MOngoDB b)创建集合 c)获取集合 d)插入文档 e)检索所有文档 f)更新文档 g)…

将XML转为HTML

文章参考&#xff1a;http://dreamweaver.abang.com/od/html/a/xml2html3.htm http://www.w3school.com.cn/xml/xml_xsl.asp ParseXML2HTML.xsl&#xff1a;代码如下 1 <?xml version"1.0" encoding"utf-8"?> 2 <xsl:styleshee…

Linux运维相关目录

Linux——相关运维配置文档目录 tcp 三次握手yum 配置你对linux了解多少&#xff0c;Linux 系统结构详解&#xff01;Linux LAMP环境搭建Centos6.7安装Apache2.4Mysql5.6Apache2.4Linux搭建DNS服务器Nginx概念及基础安装--详细讲解深入NginxNginx的继续深入&#xff08;日志轮询…

iOS8底部弹出日期选择或自定义选择器的方法

本文需要实现的日期选择器和自定义选择器效果如下&#xff1a; 在iOS8之前&#xff0c;可以通过UIActionSheet来实现&#xff0c;在iOS8之后&#xff0c;可以通过UIAlertController实现&#xff0c;UIAlertController的官方解释如下&#xff1a; A UIAlertController object d…

HDFS_API基本应用

实验 目的 要求 目的&#xff1a; 了解HDFS文件系统&#xff1b;掌握HDFS的架构及核心组件的职能&#xff1b;掌握HDFS数据的读写操作&#xff1b;HDFS常用操作&#xff08;Shell。Java API&#xff09;了解Hadoop2.0中HDFS相关的新特性 实 验 环 境 Java jdk 1.8&…