function lambda = c0P2(h)
%% Mesh
[node,elem] = squarequadmesh([,,,],h);
elem = elem(:,[,,,]);
showmesh(node,elem);
findnode(node);
findquadelem(node,elem);
%% Construct Data Structure
[elem2dof,edge,inDof] = c0dofP2(elem);
elem2dof=double(elem2dof);
N = size(node,); NT = size(elem,);
Ndof = N+NT+size(edge,);
A=sparse(Ndof,Ndof);
B=sparse(Ndof,Ndof);
%% Assemble stiffness matrix
% Since Dphi_i*Dphi_j is quadratic,
% numerical quadrature rule is used here
option.quadorder = ; % default order
[pts,weight] = quadquadpts(option.quadorder);
pts=pts*-;
x=pts(:,);y=pts(:,);
h1=h/;h2=h1;
area=h2*h1;
%% Assemble Matrix
for i=:
for j=i:
DuDv=area*(Dxphi(x,y,h1,i).*Dxphi(x,y,h1,j)...
+Dyphi(x,y,h2,i).*Dyphi(x,y,h2,j))'*weight;
uv=area*(phi(x,y,i).*phi(x,y,j))'*weight;
if i==j
A = A + sparse(elem2dof(:,i),elem2dof(:,j),DuDv,Ndof,Ndof);
B = B + sparse(elem2dof(:,i),elem2dof(:,j),uv,Ndof,Ndof);
else
A = A + sparse([elem2dof(:,i);elem2dof(:,j)],...
[elem2dof(:,j);elem2dof(:,i)],DuDv,Ndof,Ndof);
B = B + sparse([elem2dof(:,i);elem2dof(:,j)],...
[elem2dof(:,j);elem2dof(:,i)],uv,Ndof,Ndof);
end
end
end
%% Solve Ax = lambda Bx, and its first solution is *pi^
lambda=eigs(A(inDof,inDof),B(inDof,inDof),,'sm');
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% subfunction Dxphi
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
function s = Dxphi(xi,eta,L1,i) % gradient of basis phi for x
switch i
case
s = (eta.*(.*xi - ).*(eta - ))/(*L1);
case
s = (eta.*(.*xi + ).*(eta - ))/(*L1);
case
s = (eta.*(.*xi + ).*(eta + ))/(*L1);
case
s = (eta.*(.*xi - ).*(eta + ))/(*L1);
case
s = -(eta.*xi.*(eta - ))/L1;
case
s = -((eta.^ - ).*(*xi + ))/(*L1);
case
s = -(eta.*xi.*(eta + ))/L1;
case
s = -((eta.^ - ).*(.*xi - ))/(*L1);
case
s = (*xi.*(eta.^ - ))/L1;
end
end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% subfunction Dxphi
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
function s = Dyphi(xi,eta,L2,i) % gradient of basis phi for y
switch i
case
s = (xi.*(.*eta - ).*(xi - ))/(*L2);
case
s = (xi.*(.*eta - ).*(xi + ))/(*L2);
case
s = (xi.*(.*eta + ).*(xi + ))/(*L2);
case
s = (xi.*(.*eta + ).*(xi - ))/(*L2);
case
s = -((.*eta - ).*(xi.^ - ))/(*L2);
case
s = -(eta.*xi.*(xi + ))/L2;
case
s =-((*eta + ).*(xi.^ - ))/(*L2);
case
s = -(eta.*xi.*(xi - ))/L2;
case
s = (*eta.*(xi.^ - ))/L2;
end
end %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% subfunction phi
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
function s = phi(xi,eta,i) % gradient of basis phi
switch i
case
s = (eta.*xi.*(eta - ).*(xi - ))/;
case
s = (eta.*xi.*(eta - ).*(xi + ))/;
case
s = (eta.*xi.*(eta + ).*(xi + ))/;
case
s = (eta.*xi.*(eta + ).*(xi - ))/;
case
s = -(eta.*(xi.^ - ).*(eta - ))/;
case
s = -(xi.*(eta.^ - ).*(xi + ))/;
case
s = -(eta.*(xi.^ - ).*(eta + ))/;
case
s = -(xi.*(eta.^ - ).*(xi - ))/;
case
s = (eta.^ - ).*(xi.^ - );
end
end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
end

lambda = c0P2(h)

 function [elem2dof,edge,inDof] = c0dofP2(elem)
totalEdge=sort([elem(:,[,]);elem(:,[,]);elem(:,[,]);elem(:,[,])],);
[edge, i2, j] = myunique(totalEdge);
N = max(elem(:));
NT = size(elem,);
NE = size(edge,);
elem2edge = reshape(j,NT,);
elem2dof = uint32([elem N+elem2edge (N+NE+:N+NE+NT)']);
i1(j(*NT:-:)) = *NT:-:;
i1 = i1';
bdEdgeIdx = (i1 == i2);
isBdDof = false(N+NE+NT,);
isBdDof(edge(bdEdgeIdx,:)) = true; % nodal
idx = find(bdEdgeIdx);
isBdDof(N+idx) = true;
inDof = find(~isBdDof);
end

[elem2dof,edge,inDof] = c0dofP2(elem)

http://files.cnblogs.com/files/wangshixi12/%E5%8F%8C%E4%BA%8C%E6%AC%A1Lagrange%E6%9C%89%E9%99%90%E5%85%83.rar

双二次Lagrange 有限元计算特征值程序(基于iFEM)的更多相关文章

  1. (原)使用mkl计算特征值和特征向量

    转载请注明出处: http://www.cnblogs.com/darkknightzh/p/5585271.html 参考文档:mkl官方文档 lapack_int LAPACKE_sgeev(in ...

  2. 第十六届“二十一世纪的计算”学术研讨会 密西根州立大学教授Anil K. Jain主题演讲

    Biometrics---How Do I Know Who You Are? 密西根州立大学教授Anil K. Jain主题演讲" title="第十六届"二十一世纪的 ...

  3. 第十六届“二十一世纪的计算”学术研讨会 图灵奖获得者Butler W. Lampson主题演讲

    Personal Control of Digital Data 图灵奖获得者Butler W. Lampson主题演讲" title="第十六届"二十一世纪的计算&qu ...

  4. 三种计算c#程序运行时间的方法

    三种计算c#程序运行时间的方法 第一种: 利用 System.DateTime.Now // example1: System.DateTime.Now method DateTime dt1 = S ...

  5. 二 ASP.NET MVC 第一个程序 hello world

    二 ASP.NET MVC 第一个程序 hello world   https://blog.csdn.net/xmroom/article/details/51335917 我使用的Visual s ...

  6. Senparc.Weixin.MP SDK 微信公众平台开发教程(二十一):在小程序中使用 WebSocket (.NET Core)

    本文将介绍如何在 .NET Core 环境下,借助 SignalR 在小程序内使用 WebSocket.关于 WebSocket 和 SignalR 的基础理论知识不在这里展开,已经有足够的参考资料, ...

  7. 第十六届“二十一世纪的计算”学术研讨会 牛津大学肿瘤成像学教授Michael Brady主题演讲

    Computing and Healthcare 牛津大学肿瘤成像学教授Michael Brady主题演讲" title="第十六届"二十一世纪的计算"学术研讨 ...

  8. Spark练习之通过Spark Streaming实时计算wordcount程序

    Spark练习之通过Spark Streaming实时计算wordcount程序 Java版本 Scala版本 pom.xml Java版本 import org.apache.spark.Spark ...

  9. 微信小程序-基于canvas画画涂鸦

    代码地址如下:http://www.demodashi.com/demo/14461.html 一.前期准备工作 软件环境:微信开发者工具 官方下载地址:https://mp.weixin.qq.co ...

随机推荐

  1. 69 个经典 Spring 面试题和答案

    Spring 概述 什么是spring?Spring 是个java企业级应用的开源开发框架.Spring主要用来开发Java应用,但是有些扩展是针对构建J2EE平台的web应用.Spring 框架目标 ...

  2. windows下安装xgboost

    Note that as of the most recent release the Microsoft Visual Studio instructions no longer seem to a ...

  3. 让一个端口同时做两件事:http/https和ssh

    相信很多人都在YY:能不能让80端口分析连接协议,如果是http协议就让服务器交给http服务程序(如Apache.Nginx等)处理,如果是ssh协议就交给ssh服务程序(如OpenSSH Serv ...

  4. javascript事件执行流程分析

    我一直想搞清楚事件在DOM中的传播方式,今天经高人指点终于明白一二.首先扒了一张图: 事件捕获过程:当我们点击TEXT时,首先是window->document->body->div ...

  5. Postgresql 迁移随笔一

    最近忙于MSSQL 迁移到Postgresql的工程,在这里记录一下迁移遇到的问题以及解法. 程序语言:java 要求,根据不同的driver可以同时支援多种数据库,目前主要为MSSQL 和Postg ...

  6. (原)Android理论梳理-No1异步处理之Handler相关机制

    1 Handler的基本概念: 什么是handler? Handler是安卓系统的一种回调机制. handler的作用? 他的作用是用于不同线程之间的通讯.一是可以用于子线程与UI线程的数据通信,因为 ...

  7. C#设计模式——解释器模式(Interpreter Pattern)

    一.概述 在软件开发特别是DSL开发中常常需要使用一些相对较复杂的业务语言,如果业务语言使用频率足够高,且使用普通的编程模式来实现会导致非常复杂的变化,那么就可以考虑使用解释器模式构建一个解释器对复杂 ...

  8. autoit小贴士

    如何防止程序重复运行? #include <Misc.au3>_Singleton("test") 如何删除脚本程序自身? ;删除脚本程序自身 Run(@ComSpec ...

  9. os.path 大全

    os.path.abspath(path) #返回绝对路径 os.path.basename(path) #返回一个路径的最后一个组成部分 os.path.commonprefix(list) #返回 ...

  10. tracert-命令小结

          前言:今天在阅读“Web性能权威指南”这本书的时候,发现 tracert 这个命令挺有意思的,在分析网络性能瓶颈的时候也能使用的到,在此就小记一笔以备后用. 1:作用 tracert 是一 ...