Code Monkey home page Code Monkey logo

quickpic-opensource's Introduction

QUICKPIC

QuickPIC is a 3D parallel (MPI & OpenMP Hybrid) Quasi-Static PIC code, which is developed based on the framework UPIC. QuickPIC can efficiently simulate plasma based accelerator problems. This is the UCLA Plasma Simulation Group's official open-source repository for QuickPIC.

Upon cloning the repository

If you clone this repository, we ask that you please contact Weiming An ([email protected]). The development of QuickPIC relies on grant funding for which we are required to report code usage, and we would greatly appreciate being able to maintain accurate user-number tallies.

Please feel free to join in our email list quickpic-users-developers. We also have created a chat room “QuickPIC-User-Developer-Community” on Gitter.

Documentation

quickpic-opensource's People

Contributors

atableman avatar benjum avatar caozigao avatar lifei07 avatar uclazyj avatar vkbo avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

quickpic-opensource's Issues

Request for additional features

Hi,

As previously stated in the email, I was supposed to remind you of implementing two additional features to the code:

  1. Extracting the field contribution of the plasma alone.

  2. Simulate plasma electrons without ions.

Thanks in advance!

Can not initialize parallel calculations

Dear Profs.
I have successfully make the qpic.e file. I just run ./qpic.e, which can run properly. But when it cames to the mpi calculations, the run can not be initialized. The program would not calculate any function and stay as its original status. After typed "mpirun -n 8 ./qpic.e"
nothing happened.

Installing on Debian

when I run make, QUICKPIC cannot find the following files:

/usr/bin/ld: cannot find -libhdf5
/usr/bin/ld: cannot find -libhdf5_hl
/usr/bin/ld: cannot find -libhdf5_fortran

This results in a completion error.

We can see the above files on the workstation and have already update make.GF_OPENMPI with the location of the files but this does not appear to have any effect.

Any advice would be much appreciated.

Same ramps not producing same results

Hello,

I have been running into an issue where two identical plasma profiles are producing different results. In one simulation, there is a uniform density profile where n0 = 1.0e18 and “density” is set to 1.0. In another simulation (also uniform plasma profile), n0 = 1.0e19 and “density” is set to 0.1. The two simulations have otherwise identical parameters (adjusted for the different kp^-1). Mathematically, these are identical ramps and should give identical results, however, they are not.
Is it possible to cross density regimes in such a manner, and if so, what is the correct way to go about it? The input files used are being attached.

e18.txt
e19.txt

Thanks

tilted particle bunch

How can one input a driver bunch which is tilted wrt to the propagation axis into QuickPIC? Is it possible?

non-uniform plasma profiles

Hi,

I found some description on different plasma profiles like below, but they seemed not correct, as I only got uniform plasma at Profile_type of 1 instead of 0 and no plasma at all for other profile types. I used the code released on github. Probably you have updated the code and changed the corresponding type values to create different plasmas? Could you offer me the right description? I really need this to create non-uniform plasma. Many thanks.

Profile_type: 0 - uniform, density = 1
(nomalized to the Plasma_Density)
1 - linear, density = 1+p1*(x/p2-p3)
2 - sine, density = 1+p1sin(xp2-p3)
3 - gaussian, density = 1+p1*exp(-((x-p2)/p3)**2)
18 - hollow channel, density = 0 (r<p1) or p2 (r>p1)
19 - circle, density = p2 (r<p1) or 0 (r>p1)
20 - half space, density = 0 (right) or 1 (left)
21 - piecewise, density = n(r)
70 - finite hollow channel, density = 0
(r<p1 & r>p3) or p2 (r>p1 & r<p3)
argx1/2/3: arguments for uniform, linear, sine, gaussian, hollow,
circle, half space profiles.
uniform: argx1/2/3 not used.
linear: p1=argx1, p2=argx2, p3=argx3
sine: p1=argx1, p2=argx2, p3=argx3
gaussian: p1=argx1, p2=argx2, p3=argx3
hollow/circle: p1=argx1 (micron), p2=argx2
half: argx1/2/3 not used

Best regards,
Yangmei

Entry in CAMPA Accelerator Simulation Codes

Hi QuickPIC maintainers,

In CAMPA, we recently started to create an overview catalogue of Accelerator Simulation Codes. Would you be interested to update the entry for QuickPIC? :)

Thanks,
Axel

Writing to multiple files when restarting from checkpoint

I had to restart a simulation today due to a power interruption on the supercomputer I run QuickPIC on.

The simulation dumps data every 20 dT, and restart files every 5000. Restarting from 5001 today I noticed that when writing file 5001 QuickPIC also wrote to file 0001, then for 5021 it also wrote to 0021, etc. Doing a hash of the files reveals that content has changed. Still, it does not seem that the grid data itself has changed, at least not in the few data points I managed to check. So it is probably some meta-data being updated.

It is still a problem as it causes the file sync tools to re-download some 60GB of data in this case.

floating-point exceptions

Hi,

I am new to QuickPIC. Could anyone give me some help on setting up the code? Many thanks.

I used "mpirun -np 4 ./qpic.e rpinput" to start the simulation. But the program stopped after running for a while, with the error message displayed below.

Note: The following floating-point exceptions are signalling: IEEE_UNDERFLOW_FLAG IEEE_DENORMAL
Note: The following floating-point exceptions are signalling: IEEE_UNDERFLOW_FLAG IEEE_DENORMAL
Note: The following floating-point exceptions are signalling: IEEE_DENORMAL
Note: The following floating-point exceptions are signalling: IEEE_DENORMAL

Simulation with `indx=12, indy= 12` crashes at start with a memory segfault

Dear devs,

I'm experiencing a problem with running a simulation with indx=12, indy= 12.
I'm using an HPC cluster with a plenty of resources, and for example indx=11, indy=11, indz=13 runs fine.As soon as I set for example indx=12, indy= 12, indz=11 it crashes with a memory segfault.

It does not create the output folders except for ELOG, and the last lines in elog-* are:

new loop, nter=           1
 Info: particles being passed further =       232215
 Info: particles being passed further =       453895
 Info: particles being passed further =       428535

The debugger traces issue till input_class.f03:

source/simulation_class.f03:163
source/input_class.f03:104

and then shows mpi errors with ompi_bcast_f, PMPI_Bcast etc

This is very puzzling, since the same MPI layout works well with smaller simulations, and up-scaling it does not help (neither using different mpi implementations). Could be there any kind of buffer which overflows for such a slice size (4096 x 4096)?

I'm running out of testing options, so any help of advice is appreciated!

Particles initializing on the edge of the window

Hi,

I am facing an issue when I use beam "profile" = 1. The piecewise z is centered on 0. The beam always initializes at the edge of the window even when center(3) is in the middle of the box. This issue doesn't arise when beam profile = 0 is used. Please let me know if this is a bug or has an easy fix since I have tried changing center(3) but it doesn't work.

Segmentation fault - invalid memory reference

Program received signal SIGSEGV: Segmentation fault - invalid memory reference.

$ mpirun -np 1 ./qpic.e

Backtrace for this error:
#0 0x2b82fff575ef in ???
#1 0x2b83002bf9f6 in ???
#2 0x2b82fe40d4c5 in __json_file_module_MOD_json_file_check_for_errors
at /tmp/rpm/spack-stage-json-fortran-6.11.0-x6yn2yap3hwd4yfjtfwdo7jdb33w5ysa/spack-src/src/json_file_module.F90:330
#3 0x499c03 in ???
#4 0x4b19e5 in ???
#5 0x404275 in ???
#6 0x2b8300186504 in ???
#7 0x4042d1 in ???
#8 0xffffffffffffffff in ???

Primary job terminated normally, but 1 process returned
a non-zero exit code. Per user-direction, the job has been aborted.


mpirun noticed that process rank 0 with PID 312737 on node cas338 exited on signal 11 (Segmentation fault).

laser

holle!
how to form a laser beam by useing the fiel session?

Syntax error during compilation in input_class.f03

Hi!
I am trying to install QuickPic on my local computer. All necessaries are well installed. There are some syntax error during the last step of compilation in the input_class.f03 file. It's indicated that the "error_msg" argument is not well declared which induces some type mismatch. Also, some particular functions like "this%input%get(path, vec, ilen)" can not be found. I have screenshot all the error information which has been attached with this message. Could you please help me to figure out the problem?
Thank you
Siyi
Screenshot 2019-04-15 at 16 34 57

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.