Giter Club home page Giter Club logo

warpx's People

Contributors

asalmgren avatar atmyers avatar ax3l avatar burlen avatar cyrush avatar danielbelkin avatar dbizzozero avatar dpgrote avatar eloisejyangold avatar ezoni avatar ghweber avatar gtrichardson avatar guj avatar hightower8083 avatar jaehong2010 avatar jlvay avatar kngott avatar ldamorim avatar levinem avatar lge0303 avatar lucafedeli88 avatar maxthevenet avatar mrowan137 avatar nckwcq avatar neilzaim avatar oshapoval avatar remilehe avatar revathijambunathan avatar weiqunzhang avatar yin-yinjianzhao avatar

Watchers

 avatar  avatar  avatar  avatar

warpx's Issues

Clean MXH_eff and MXMXHeff

The MXH_eff
and M X M x Heff implementation can be cleaned up a bit using a cross_product function
(cross_product_xcomp(M,H))
where cross_product_xcomp(M,H) would return the x-component of (M X H)

Use built-in functions for interpoilation

Currently, there are a number of places where face-to-face, edge-to-face, face-to-edge interpolations are performed
using hard-coded IntVects based on the respective src and dst multifabs.
These need to be replaced with built-in functions in CoarsenIO.H, which include generic interpolations.

Add mag_normalization error

Currently, in MacroscopicEvolveM.cpp, mag_normalization_error=0.1 is hard-coded. This needs to be added as a user-defined inputs with appropriate docs.

Externally applied E-B fields to be added to field-updates

Initial E-B fields are read using the parser at initialization.

For WarpX with particles, the externally applied E and B functions (x,y,z,t) are applied directly on the particles as forces.

But, for material implementations, we need to call the parser functions of the externally applied E-B fields on the fields, when updating them.

Turn off managed memory in HarrisSheetinX

We had to turn managed memory back on because B field arrays exist on the GPU, but we need to modify them on the CPU to add the perturbation. We need to copy them from device to host, update, and then copy back from host to device.

Clean up redundancy in MacroscopicEvolveM_2nd order

Delete redundant lines in Source/FieldSolver/FiniteDifferenceSolver/MacroscopicEvolveM_2nd.cpp.

For example, the material properties are repeatedly loaded by Line 280-285, while this has been done by Line 74-80.

Note similar redundancy exists in other lines as well, such as Line 289-294. Please clean those.

Fix coupled Maxwell+LLG

The coupled Maxwell (with zero E-B field)+ LLG is currently not agreeing with stand-along LLG test-case.

Add convergence-test flag

We have a specialized diagnostic for testing the convergence of our implementation.
This is currently performed by default.
We could add a run-time user-flag to turn this feature on for diagnostics.

The function void WarpX::MacroscopicfieldOutput ( ) is used for this.

A proposed way to do this could be to add a diagnostic type = "convergence_test"
that can read a user-defined (i1,j1,k1) and (i2,j2,k2)

Soft & hard source

  1. Hard source needs to be called immediately after each of the evolve functions. The right sequence should be: evolveHM - hard H source - evolveE - hard E source - evolveHM - hard H source
  2. Soft source needs an extra factor with Delta_t included in it. Derivation needed to figure out the exact formula of this factor.
  3. Soft source calling strategy needs to be updated in one of the following three ways:
    • split soft source calls in every time step, apply soft source twice just as the way we apply hard source. Use Delta_t/2 instead of Delta_t in each call.
    • apply soft source once in the beginning of each time step.
    • ?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.