Python 重力场的有限元模拟
最初的问题是,但我认为,这里可以是了解sfepy和有限元方法的人 我想对矢量重力场进行建模,也就是说(在弱公式中) 这里G是目标向量场,rho是密度值,这是给定材料的常数参数 我的问题定义文件:Python 重力场的有限元模拟,python,finite-element-analysis,Python,Finite Element Analysis,最初的问题是,但我认为,这里可以是了解sfepy和有限元方法的人 我想对矢量重力场进行建模,也就是说(在弱公式中) 这里G是目标向量场,rho是密度值,这是给定材料的常数参数 我的问题定义文件: import numpy as nm filename_mesh = 'my.mesh' regions = { 'Omega' : ('all', {}), 'Overground' : ('nodes of group 1', {}), 'Undergro
import numpy as nm
filename_mesh = 'my.mesh'
regions = {
'Omega' : ('all', {}),
'Overground' : ('nodes of group 1', {}),
'Underground' : ('nodes of group 2', {}),
'Brick' : ('nodes of group 3', {}),
}
field_1 = {
'name' : 'gravity',
'dtype' : nm.float64,
'shape' : (3,),
'region' : 'Omega',
'approx_order' : 1,
}
variables = {
'G' : ('unknown field', 'gravity', 0 ),
'g' : ('test field', 'gravity', 'G'),
}
ebcs = {
}
materials = {
'm' : ({'rho': {
'Overground': 1.0e-7,
'Underground': 1.0e+0,
'Brick': 1.0e+5
}},
),
'n' : ({'G' : 1.0 }, )
}
equations = {
'Gravity' : """dw_div_grad.1.Omega( g, G ) = dw_div.1.Omega( m.rho, g )"""
}
solvers = {
'ls' : ('ls.scipy_direct', {}),
'newton' : ('nls.newton', {
'i_max' : 1,
'eps_a' : 1e-10,
}),
}
结果:
我期待着这个领域,一致地指向砖块,但得到了一些偏离它(这不是一个大问题,我认为这只是一个标志问题)。另外,我不满意在左下角增加值
我要做什么来修正模型
提前谢谢。我不清楚轮廓显示了什么。这是人体受力的曲线图吗?取代由此产生的压力?也许我错过了。