# Copyright 2017-2018 Andrew Myers, David Grote, Weiqun Zhang # # # This file is part of WarpX. # # License: BSD-3-Clause-LBNL from ._libwarpx import libwarpx from . import callbacks class TimeStepper(object): def step(self, nsteps=1): for i in range(nsteps): self.onestep() def onestep(self): callbacks._beforestep() self.cur_time = libwarpx.warpx_gett_new(0) self.istep = libwarpx.warpx_getistep(0) #if mpi.rank == 0: print("\nSTEP %d starts ..."%(self.istep + 1)) #if (ParallelDescriptor::NProcs() > 1) # if (okToRegrid(step)) RegridBaseLevel(); dt = libwarpx.warpx_getdt(0) # --- At the beginning, we have B^{n-1/2} and E^{n}. # --- Particles have p^{n-1/2} and x^{n}. libwarpx.warpx_FillBoundaryE() libwarpx.warpx_EvolveB(0.5*dt,1) # We now B^{n} libwarpx.warpx_FillBoundaryB() libwarpx.warpx_UpdateAuxilaryData() # --- Evolve particles to p^{n+1/2} and x^{n+1} # --- Depose current, j^{n+1/2} callbacks._particleinjection() callbacks._particlescraper() callbacks._beforedeposition() libwarpx.warpx_PushParticlesandDepose(self.cur_time) callbacks._afterdeposition() libwarpx.mypc_Redistribute() # Redistribute particles libwarpx.warpx_FillBoundaryE() libwarpx.warpx_EvolveB(0.5*dt,2) # We now B^{n+1/2} libwarpx.warpx_SyncCurrent() libwarpx.warpx_FillBoundaryB() callbacks._beforeEsolve() libwarpx.warpx_EvolveE(dt,0) # We now have E^{n+1} callbacks._afterEsolve() self.istep += 1 self.cur_time += dt libwarpx.warpx_MoveWindow(); #if mpi.rank == 0: print("STEP %d ends. TIME = %e DT = %e"%(self.istep, self.cur_time, dt)) # --- Sync up time for i in range(libwarpx.warpx_finestLevel()+1): libwarpx.warpx_sett_new(i, self.cur_time) libwarpx.warpx_setistep(i, self.istep) callbacks._afterstep() hore/mirror'>chore/mirror Unnamed repository; edit this file 'description' to name the repository.
aboutsummaryrefslogtreecommitdiff
path: root/examples/ssr/public/images/products (unfollow)
AgeCommit message (Expand)AuthorFilesLines
2023-11-01[ci] release (#8975)astro@3.4.2@astrojs/underscore-redirects@0.3.2Gravatar Houston (Bot) 36-76/+72
2023-11-01[ci] formatGravatar matthewp 1-12/+13
2023-11-01feat(dev-overlay): Add a tooltip on plugin hover / focus (#8978)Gravatar Erika 3-3/+46
2023-11-01Prevent the route announcer from being visible (#8977)Gravatar Matthew Phillips 6-18/+64
2023-11-01feat: new event to toggle a plugin from itself (#8968)Gravatar Erika 2-4/+13
2023-11-01Fix ViewTransitions example (#8976)Gravatar Matthew Phillips 1-3/+1
2023-11-01feat(underscore-redirects): add `base` to input paths (#8953)Gravatar Alexander Niebuhr 2-6/+17
2023-11-01[ci] formatGravatar lilnasy 2-3/+3
2023-11-01fix(slots): consume eagerly rendered slot after one use (#8929)Gravatar Arsh 6-2/+59
2023-11-01[ci] release (#8934)create-astro@4.5.0astro@3.4.1@astrojs/vue@3.0.3@astrojs/sitemap@3.0.3@astrojs/partytown@2.0.2@astrojs/markdoc@0.7.1Gravatar Houston (Bot) 50-122/+120
2023-11-01Undo the halloween theme (#8959)Gravatar Elian ☕️ 3-26/+24
2023-10-31refactor: dev overlay to make it easier to work with VT (#8966)Gravatar Erika 10-293/+386
2023-10-31[ci] formatGravatar matthewp 1-9/+9
2023-10-31Move VT route announcer styles to a class (#8965)Gravatar Matthew Phillips 3-4/+21
2023-10-31Three small improvements for handling client-only in view transitions (#8964)Gravatar Martin Trapp 1-2/+10
2023-10-30chore(deps): Upgrade Zod to @latest (#8762)Gravatar Eva Decker 6-11/+26