revathijambunathan / warpx Goto Github PK
View Code? Open in Web Editor NEWThis project forked from ecp-warpx/warpx
Home Page: https://ecp-warpx.github.io/
License: Other
This project forked from ecp-warpx/warpx
Home Page: https://ecp-warpx.github.io/
License: Other
Current LLG inputs are read and stored in the WarpX class.
These can be moved to either an LLG class or macroscopic class.
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)
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.
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.
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.
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.
See the title.
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.
The coupled Maxwell (with zero E-B field)+ LLG is currently not agreeing with stand-along LLG test-case.
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)
evolve
functions. The right sequence should be: evolveHM
- hard H source - evolveE
- hard E source - evolveHM
- hard H sourceDelta_t
included in it. Derivation needed to figure out the exact formula of this factor.Delta_t/2
instead of Delta_t
in each call.A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.