Exemplo n.º 1
0
def objectiveHeatTransfer(U, T, p, weight, *mesh, **options):
    solver = options['solver']
    mesh = Mesh.container(mesh)
    Ti = T.extract(mesh.owner)
    Tw = 300.
    dtdn = (Tw - Ti) / mesh.deltas
    k = solver.Cp * solver.mu(Tw) / solver.Pr
    ht = k * dtdn * mesh.areas * weight
    w = mesh.areas * weight
    return ht.sum(), w.sum()
Exemplo n.º 2
0
def objectiveDrag(U, T, p, *mesh, **options):
    solver = options['solver']
    mesh = Mesh.container(mesh)
    U0 = U.extract(mesh.neighbour)[0]
    U0i = U.extract(mesh.owner)[0]
    p0 = p.extract(mesh.neighbour)
    T0 = T.extract(mesh.neighbour)
    nx = mesh.normals[0]
    mungUx = solver.mu(T0) * (U0 - U0i) / mesh.deltas
    drag = (p0 * nx - mungUx) * mesh.areas
    return drag.sum()
Exemplo n.º 3
0
def objectiveDrag(U, T, p, *mesh, **options):
    solver = options['solver']
    mesh = Mesh.container(mesh)
    U0 = U.extract(mesh.neighbour)
    Ui = U.extract(mesh.owner)
    p0 = p.extract(mesh.neighbour)
    T0 = T.extract(mesh.neighbour)
    nx = mesh.normals[0]
    mungUx = solver.mu(T0) * (U0[0] - Ui[0]) / mesh.deltas
    drag = (p0 * nx - mungUx) * mesh.areas
    # rescaled version
    rho0 = p0 / (solver.R * T0)
    D = diameter
    z = 2 * D
    drag = drag * 2. / (rho0 * (U0.dot(U0) * z * D))
    return drag.sum()
Exemplo n.º 4
0
Arquivo: vane.py Projeto: qiqi/adFVM
def objectiveHeatTransferWeighting(weight, *mesh):
    mesh = Mesh.container(mesh)
    return (mesh.areas * weight).sum()
Exemplo n.º 5
0
 def interpolate(U, *meshArgs):
     mesh = Mesh.container(meshArgs)
     return central(U, mesh)
Exemplo n.º 6
0
 def interpolate(U, gradU, *meshArgs):
     mesh = Mesh.container(meshArgs)
     return secondOrder(U, gradU, mesh, 0)
Exemplo n.º 7
0
def objectiveTest(U, T, p, *mesh, **options):
    mesh = Mesh.container(mesh)
    p0 = p.extract(mesh.neighbour)
    return (p0 * mesh.areas).sum()