import numpy as np from IPython import embed """ Main entry point of the simulation. """ from src import Warp endpts = [[[-0.0, -1.0, -0.1], [-0.0, 1.0, -0.1]], [[0.9, -1.0, -0.1], [0.9, 1.0, -0.1]], [[-1.0, 0.0, 0.0], [1.0, 0.0, 0.0]], [[-1.0, 0.2, 0.0], [1.0, 0.2, 0.0]]] warp = Warp(endpts, cutoff=0.3) warp.create_contacts() #[(0,2), (1,2)]) DelT = MultiMeshFunction(warp.Tmmfs) warp.assemble_thermal_system() warp.apply_thermal_bcs(Constant(1.0)) solve(warp.AT, DelT.vector(), warp.RT) for i, fib in enumerate(warp.fibrils): fib.T.vector()[:] = DelT.vector()[warp.Tmdof.part(i).dofs()] warp.output_states("post/fibril_{0}_temp.pvd", 1) # warp.output_contacts("post/contact_{2}_{0}_{1}.pvd") embed()
# "0.0", "0.0"), # sq = -(restL-width)/restL, # p=np.pi/width *4.0, # o= width/8.0, # A1=2.5*scale, # A2=1.25*scale)) warp.wx.vector()[ warp.mdof.part(i).dofs() ] = fib.wx.vector()[:] warp.wv.vector()[ warp.mdof.part(i).dofs() ] = fib.wv.vector()[:] warp.output_states("post/stockinette_{0}_"+str(0)+".pvd",1) warp.output_surfaces("post/stockinettemesh_time_{0}_"+str(0)+".pvd",1) initialize() warp.output_states("post/stockinette_{0}_"+str(1)+".pvd",1) warp.output_surfaces("post/stockinettemesh_time_{0}_"+str(1)+".pvd",1) Tmax=4.0 NT = 100 h = Tmax/NT warp.create_contacts() warp.assemble_mass() dirk = DIRK_Monolithic(1, h, warp, warp.assemble_system, warp.update, apply_BCs) for t in xrange(NT): dirk.march() warp.output_states("post/stockinette_time_{0}_"+str(t+2)+".pvd",1) warp.output_surfaces("post/stockinettemesh_time_{0}_"+str(t+2)+".pvd",1) embed()