代码拉取完成,页面将自动刷新
import taichi as ti
import Scr.DebugTool as Debug
import Scr.WriteVTK as WV
import Scr.MPMSolver as MPM
from Scr.ReadControl import ReadControlFile
from Scr.ReadEleNod import KeepingHome_MPM
from Scr.Global import Global
ti.init(arch=ti.cuda, default_fp=ti.f64) # Try to run on GPU
# ti.init(arch=ti.cpu,
# default_fp=ti.f64)
# >================================= 1 Initial Phase =================================<#
# >------- 1.1 Project Base Information ------<#
ProjectName = "Dam"
GL = Global(ProjectName)
# >------- 1.2 Read Control File ------<#
CF = ReadControlFile(GL.ControlFile_IN)
# >------- 1.3 Creat MPM Information------<#
MPM_GPU = KeepingHome_MPM(GL, CF)
MPM_GPU.Taichi2VTK(GL.ParIniFile_OUT) # Initial Particle
CF.IsMixIT = 0
CF.IsLiq = 0
CF.OutTimeFrequency = 1e-3
CF.OutTimeLevel = CF.OutTimeFrequency
# >================================= 2 Calculation Phase =================================<#
while CF.Convergence[None] >= CF.FinalConvergence:
# >------------------- 2.1 Lagrangian Phase -------------------<#
MPM.LG_OnePhase(MPM_GPU)
# >--------------------- 2.2 Convection Phase ---------------------<#
MPM.COV_OnePhase(MPM_GPU)
# >--------------------- 2.3 Convergence Phase ---------------------<#
CF.CalNode_Conver_MPM(MPM_GPU.NodeForce,
MPM_GPU.NodeForceEx)
# >--------------------- 2.3 Circle Phase ---------------------<#
CF.CurTime = CF.CurTime + CF.StepTime
CF.OutCount += 1
# >================================= 3 Output Phase =================================<#
print("Convergence: ", CF.Convergence[None])
if CF.OutCount % 50 == 0:
OutFileName = GL.FileAddress_OUT + "\\" + ProjectName + str(CF.OutCount)
MPM_GPU.Taichi2VTK(OutFileName)
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。