当前位置: 首页>>代码示例>>Python>>正文


Python ymero.ymero函数代码示例

本文整理汇总了Python中ymero.ymero函数的典型用法代码示例。如果您正苦于以下问题:Python ymero函数的具体用法?Python ymero怎么用?Python ymero使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。


在下文中一共展示了ymero函数的9个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: createEllipsoid

def createEllipsoid(density, axes, niter):
    import ymero as ymr
    
    def recenter(coords, com):
        coords = [[r[0]-com[0], r[1]-com[1], r[2]-com[2]] for r in coords]
        return coords

    dt = 0.001
    axes = tuple(axes)

    ranks  = (1, 1, 1)
    fact = 3
    domain = (fact*axes[0], fact*axes[1], fact*axes[2])
    
    u = ymr.ymero(ranks, domain, dt, debug_level=3, log_filename='log')
    
    dpd = ymr.Interactions.DPD('dpd', 1.0, a=10.0, gamma=10.0, kbt=0.5, power=0.5)
    vv = ymr.Integrators.VelocityVerlet('vv')
    
    coords = [[-axes[0], -axes[1], -axes[2]],
              [ axes[0],  axes[1],  axes[2]]]
    com_q = [[0.5 * domain[0], 0.5 * domain[1], 0.5 * domain[2],   1., 0, 0, 0]]
    
    fakeOV = ymr.ParticleVectors.RigidEllipsoidVector('OV', mass=1, object_size=len(coords), semi_axes=axes)
    fakeIc = ymr.InitialConditions.Rigid(com_q=com_q, coords=coords)
    belongingChecker = ymr.BelongingCheckers.Ellipsoid("ellipsoidChecker")
    
    pvEllipsoid = u.makeFrozenRigidParticles(belongingChecker, fakeOV, fakeIc, [dpd], vv, density, niter)
    
    if pvEllipsoid:
        frozenCoords = pvEllipsoid.getCoordinates()
        frozenCoords = recenter(frozenCoords, com_q[0])
    else:
        frozenCoords = [[]]

    if u.isMasterTask():
        return frozenCoords
    else:
        return None
开发者ID:dimaleks,项目名称:uDeviceX,代码行数:39,代码来源:createEllipsoid.py

示例2: run

def run(niter, statsFname, comm_address):
    dt = 0.001

    ranks  = (2, 1, 1)
    domain = (12, 8, 10)
    
    u = ymr.ymero(ranks, domain, dt, debug_level=8, log_filename='log', comm_ptr=comm_address)
    
    pv = ymr.ParticleVectors.ParticleVector('pv', mass = 1)
    ic = ymr.InitialConditions.Uniform(density=2)
    u.registerParticleVector(pv=pv, ic=ic)

    dpd = ymr.Interactions.DPD('dpd', 1.0, a=10.0, gamma=10.0, kbt=1.0, power=0.5)
    u.registerInteraction(dpd)
    u.setInteraction(dpd, pv, pv)
    
    vv = ymr.Integrators.VelocityVerlet('vv')
    u.registerIntegrator(vv)
    u.setIntegrator(vv, pv)
    
    stats = ymr.Plugins.createStats('stats', statsFname, 1000)
    u.registerPlugins(stats)
    
    u.run(niter)
开发者ID:dimaleks,项目名称:uDeviceX,代码行数:24,代码来源:rest.py

示例3:

parser = argparse.ArgumentParser()
parser.add_argument('--subStep', action='store_true', default=False)
parser.add_argument('--vis', action='store_true', default=False)
args = parser.parse_args()

dt = 0.001

substeps = 10
if args.subStep:
    dt = dt * substeps

ranks  = (1, 1, 1)
domain = (8, 8, 8)

u = ymr.ymero(ranks, domain, dt, debug_level=3, log_filename='log')

nparts = 1000
pos = np.random.normal(loc   = [0.5, 0.5 * domain[1] + 1.0, 0.5 * domain[2]],
                       scale = [0.1, 0.3, 0.3],
                       size  = (nparts, 3))

vel = np.random.normal(loc   = [1.0, 0., 0.],
                       scale = [0.1, 0.01, 0.01],
                       size  = (nparts, 3))


pvSolvent = ymr.ParticleVectors.ParticleVector('pv', mass = 1)
icSolvent = ymr.InitialConditions.FromArray(pos=pos.tolist(), vel=vel.tolist())
vv        = ymr.Integrators.VelocityVerlet('vv')
u.registerParticleVector(pvSolvent, icSolvent)
开发者ID:dimaleks,项目名称:uDeviceX,代码行数:30,代码来源:mesh.py

示例4:

parser = argparse.ArgumentParser()
parser.add_argument("--restart", action='store_true', default=False)
parser.add_argument("--ranks", type=int, nargs=3)
args = parser.parse_args()

ranks  = args.ranks
domain = (4, 6, 8)
dt = 0

if args.restart:
    restart_folder="restart2/"
else:
    restart_folder="restart/"

u = ymr.ymero(ranks, domain, dt, debug_level=3, log_filename='log', checkpoint_every=5, checkpoint_folder=restart_folder)
    
pv = ymr.ParticleVectors.ParticleVector('pv', mass = 1)
ic = ymr.InitialConditions.Uniform(density=2)
u.registerParticleVector(pv, ic)

dpd = ymr.Interactions.DPD('dpd', 1.0, a=10.0, gamma=10.0, kbt=1.0, power=0.5)
u.registerInteraction(dpd)
u.setInteraction(dpd, pv, pv)

if args.restart:
    u.restart("restart/")
u.run(7)
    

# TEST: restart.interactions
开发者ID:dimaleks,项目名称:uDeviceX,代码行数:30,代码来源:interactions.py

示例5:

#!/usr/bin/env python

import ymero as ymr
import numpy as np
import argparse

parser = argparse.ArgumentParser()
parser.add_argument('--ranks', type=int, nargs=3, required=True)
args = parser.parse_args()

domain = (8, 16, 4)

u = ymr.ymero(args.ranks, domain, dt=0, debug_level=8, log_filename='log')

pv = ymr.ParticleVectors.ParticleVector('pv', mass = 1)
ic = ymr.InitialConditions.Uniform(density=3)
u.registerParticleVector(pv=pv, ic=ic)

sampleEvery = 1
dumpEvery   = 1
binSize     = (1., 1., 1.)

field = ymr.Plugins.createDumpAverage('field', [pv], sampleEvery, dumpEvery, binSize, [("velocity", "vector_from_float8")], 'h5/solvent-')
u.registerPlugins(field)

u.run(3)

# TEST: dump.h5
# cd dump
# rm -rf h5
# ymr.run --runargs "-n 2" ./h5.py --ranks 1 1 1 > /dev/null
开发者ID:dimaleks,项目名称:uDeviceX,代码行数:31,代码来源:h5.py

示例6: tuple

parser = argparse.ArgumentParser()
parser.add_argument('--kbounds', type=float, default=0.0)
parser.add_argument('--ktwist', type=float, default=0.0)
parser.add_argument('--kbending', type=float, nargs=3, default=(0.0, 0.0, 0.0))
parser.add_argument('--l0_factor', type=float, default=1.0)
parser.add_argument('--tau0', type=float, default=0.0)
parser.add_argument('--tau0_eq', type=float, default=0.0)
parser.add_argument('--center_line', type=str, choices=["helix", "line"])
args = parser.parse_args()

ranks  = (1, 1, 1)
domain = [16, 16, 16]

dt = 1e-3

u = ymr.ymero(ranks, tuple(domain), dt, debug_level=8, log_filename='log', no_splash=True)

com_q = [[ 8., 8., 8.,    1.0, 0.0, 0.0, 0.0]]

L = 5.0
P = 1.0
R = 1.0

if args.center_line == "helix":
    def center_line(s):
        t = s * L * np.pi / P 
        return (R * np.cos(t),
                R * np.sin(t),
                (s-0.5) * L)

    def torsion(s):
开发者ID:dimaleks,项目名称:uDeviceX,代码行数:31,代码来源:forces.py

示例7:

#!/usr/bin/env python

import ymero as ymr
import numpy as np
import argparse

parser = argparse.ArgumentParser()
parser.add_argument("--restart", action='store_true', default=False)
args = parser.parse_args()

ranks  = (1, 1, 1)
domain = (4, 6, 8)

u = ymr.ymero(ranks, domain, dt=0, debug_level=3, log_filename='log', checkpoint_every = (5 if not args.restart else 0), no_splash=True)
    
pv = ymr.ParticleVectors.ParticleVector('pv', mass = 1)
u.registerParticleVector(pv=pv, ic=ymr.InitialConditions.Uniform(density=8))

coords = [[-1, -1, -1], [1, 1, 1]]
com_q = [[0.5 * domain[0], 0.5 * domain[1], 0.5 * domain[2],   1., 0, 0, 0]]
ov = ymr.ParticleVectors.RigidEllipsoidVector('ov', mass=1, object_size=len(coords), semi_axes=(1,1,1))
u.registerParticleVector(pv=ov, ic=ymr.InitialConditions.Rigid(com_q=com_q, coords=coords))

checker = ymr.BelongingCheckers.Ellipsoid('checker')
u.registerObjectBelongingChecker(checker, ov)
inner = u.applyObjectBelongingChecker(checker, pv, inside='inner')

if args.restart:
    u.restart("restart/")
u.run(7)
开发者ID:dimaleks,项目名称:uDeviceX,代码行数:30,代码来源:belonging_checker.py

示例8: tuple

#!/usr/bin/env python

import numpy as np
import ymero as ymr

ranks  = (1, 1, 1)
domain = [4., 4., 4.]
density = 8

u = ymr.ymero(ranks, tuple(domain), dt=0, debug_level=3, log_filename='log')

pv = ymr.ParticleVectors.ParticleVector('pv', mass = 1)
ic = ymr.InitialConditions.UniformSphere(density=density, center=(2., 2., 2.), radius=2.0, inside=True)
u.registerParticleVector(pv=pv, ic=ic)

u.run(2)

if pv:
    icpos = pv.getCoordinates()
    icvel = pv.getVelocities()
    np.savetxt("pos.ic.txt", icpos)
    np.savetxt("vel.ic.txt", icvel)
    

# TEST: ic.uniform.sphere
# cd ic
# rm -rf pos*.txt vel*.txt
# ymr.run --runargs "-n 2" ./sphere.py > /dev/null
# paste pos.ic.txt vel.ic.txt | LC_ALL=en_US.utf8 sort > ic.out.txt
开发者ID:dimaleks,项目名称:uDeviceX,代码行数:29,代码来源:sphere.py

示例9: range

import trimesh

from mpi4py import MPI

parser = argparse.ArgumentParser()
parser.add_argument("--restart", action='store_true', default=False)
parser.add_argument("--ranks", type=int, nargs=3)
args = parser.parse_args()

comm   = MPI.COMM_WORLD
ranks  = args.ranks
domain = (16, 16, 16)
dt = 0

if args.restart:
    u = ymr.ymero(ranks, domain, dt, comm_ptr=MPI._addressof(comm), debug_level=8, log_filename='log', checkpoint_every=0)
else:
    u = ymr.ymero(ranks, domain, dt, comm_ptr=MPI._addressof(comm), debug_level=8, log_filename='log', checkpoint_every=5)

    
mesh = trimesh.creation.icosphere(subdivisions=1, radius = 0.1)
    
udx_mesh = ymr.ParticleVectors.MembraneMesh(mesh.vertices.tolist(), mesh.faces.tolist())
pv       = ymr.ParticleVectors.MembraneVector("pv", mass=1.0, mesh=udx_mesh)

if args.restart:
    ic   = ymr.InitialConditions.Restart("restart/")
else:
    nobjs = 10
    pos = [ np.array(domain) * t for t in np.linspace(0, 1.0, nobjs) ]
    Q = [ np.array([1.0, 0., 0., 0.])  for i in range(nobjs) ]
开发者ID:dimaleks,项目名称:uDeviceX,代码行数:31,代码来源:objectVector.py


注:本文中的ymero.ymero函数示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。