-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path三种方法的对比.txt
52 lines (44 loc) · 1.68 KB
/
三种方法的对比.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
===================================
读取数据:
高密度的形式,即不区分收发电极
dc data:
ax az bx bz mx mz nx nz rho std-err
ip data
ax az bx bz mx mz nx nz rho cha std-err
高密度格式有很多种,这里只给出这种最为简单的读取格式
% 高密度 阵列式的 电极排布方式
首先,不考虑地形,(地形信息独立保存)
这时地表电极z坐标均为0,钻孔的深度为相对于地表的深度;
地形数据另外保存
之后,构建网格,注意此时的网格就是方方正正的网格
然后,加入地形,校正电极z坐标以及网格
%====================================
构造正演用的mesh网格
1、基于混合网格(共形网格)
2、非结构网格(triangle等)
=================================
网格:
利用triangle直接生成非结构网格
属性mark的使用
点mark: (电极点 99),(地表点 1), 右边界《=》2,
下边界《=》3,左边界《=》4,添加点《=》666
区域mark: 扩展区域《=》1, 研究区《=》2
难点:
1、怎么让网格呈“梯度变化”
2、怎样控制 网格的大小
这样的网格,灵敏度S = J'*J的分布为什么变得很糟糕了?单元分布不合理吗?
%====================================
% 有限元分析
构建 各个单元的 刚度矩阵,以及单元刚度矩阵对应的总刚度矩阵的索引
K = zeros(nD, nD, nEl); M = zeros(nD, nD, nEl);
fem.Ci = repmat(reshape(mesh.tri2node, nD, 1, []), [1, nD, 1]); % 节点的横向索引
fem.Cj = repmat(reshape(mesh.tri2node, 1, nD, []), [nD, 1, 1]); % 节点的纵向索引
L = zeros(2,2,numEdge);
fem.BCi = repmat(reshape(edge, 2, 1, []), [1, 2, 1]);
fem.BCj = repmat(reshape(edge, 1, 2, []), [2, 1, 1]);
** 这种构造方式更加的灵活,只不过对 索引的组合要仔细,很容易弄错。
** 比foward0中的构造更 优秀
%=============================================================
正则化:
由于,模型单元 就是 非结构的网格,无法构建水平和垂直的差分算子Wx,Wz;
只能利用 单元与周围单元 构建Laplace算子 Wc = 1/r(i,j), 需要知道相应的 相邻单元