Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix #165 Use Corrected CFL Criteria #371

Merged
merged 2 commits into from
Apr 28, 2014

Conversation

ax3l
Copy link
Member

@ax3l ax3l commented Apr 25, 2014

Use Reference that corrected Yee's Paper

A. Taflove & M. E. Brodwin
IEEE Trans. on Microwave Theory and Techniques, August 1975
Formula (7)

  • refactored InitialiserControler to use the (default enabled) PHYSICS log state
  • removed "can not restart from hdf5 dump" check since this is outdated with checkpoints

Notes

Our "old" implemented CFL was not wrong in the sense of stability of the algorithm.
But it was too conservative for many cases that used non-cubic cells. This conservatism in turn causes numerical dispersion and should therefore be avoided.
In other words: stay as close as possible to the CFL with your time step to cell "ratio".

ax3l added 2 commits April 25, 2014 16:32
A. Taflove & M. E. Brodwin
IEEE Trans. on Microwave Theory and Techniques, August 1975
Formula (7)
- shows selected and minimum possible ratio for time step
- refactor to use log<picLog::PHYSICS> for standard sim
  output during startup
@ax3l ax3l added the core label Apr 25, 2014
@ax3l ax3l added this to the Open Beta milestone Apr 25, 2014
std::cout << "typical macro particle weighting: " << NUM_EL_PER_PARTICLE << std::endl;
log<picLog::PHYSICS >("macro particles per gpu: %1%") %
(localNrOfCells * particleInit::NUM_PARTICLES_PER_CELL * (1 + 1 * ENABLE_IONS));
log<picLog::PHYSICS >("typical macro particle weighting: %1%") % (NUM_EL_PER_PARTICLE);

//const float_X y_R = M_PI * laserProfile::W0 * laserProfile::W0 / laserProfile::WAVE_LENGTH; //rayleigh length (in y-direction)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is it possible that you delete the dead code in this pull.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It would be quite cool to put this in depending on the selected laser profile (works only for gaussian beam). but I didn't think it fully through yet. can we leave it in for now?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes we can^^

psychocoderHPC added a commit that referenced this pull request Apr 28, 2014
Fix #165 Use Corrected CFL Criteria
@psychocoderHPC psychocoderHPC merged commit 671a67e into ComputationalRadiationPhysics:dev Apr 28, 2014
@ax3l ax3l deleted the fix-cfl branch April 28, 2014 12:13
ax3l added a commit to ax3l/picongpu that referenced this pull request Apr 29, 2014
PrometheusPi added a commit that referenced this pull request Apr 29, 2014
Add Documentation in CHANGELOG.md for CFL #371
ax3l pushed a commit to ax3l/picongpu that referenced this pull request Aug 16, 2017
90ae873b9 Merge pull request ComputationalRadiationPhysics#382 from BenjaminW3/topic-CMake-3_9_followup
aad3f6a5e add missing changes to alpaka_add_library
d421e9a20 Merge pull request ComputationalRadiationPhysics#381 from BenjaminW3/topic-cmake-3_9
71fc4e7ed support CMake 3.9.0
441032e7f Merge pull request ComputationalRadiationPhysics#378 from ax3l/fix-uninitMemberMemcpy
dea0bd0f4 Merge pull request ComputationalRadiationPhysics#379 from ax3l/fix-warningCudaBraces
8643a97f0 cudaMemcpy3DParams: Fix Uninit Members
182d1b64f Refactor: double-braces for std::array init
a22e42a42 CUDA: Missing Initializer Warning
ddb2993aa Merge pull request ComputationalRadiationPhysics#375 from BenjaminW3/topic-update-readme
cf311c6a5 remove boost.context from ReadMe requirements
e93d5ae49 Merge pull request ComputationalRadiationPhysics#374 from BenjaminW3/topic-remove-boost-atomic-dependency
fe898716f remove unused boost atomic dependency
7a66700f2 Merge pull request ComputationalRadiationPhysics#371 from BenjaminW3/topic-duplicate-CUDA_NVCC_FLAGS
2f902cd70 Merge pull request ComputationalRadiationPhysics#372 from ax3l/topic-cmakeOptionalNoWarning
3f95afa83 CMake Config: Optional Deps
83a1bf3e6 Merge pull request ComputationalRadiationPhysics#369 from BenjaminW3/topic-clean-up-assertions
a932c02d7 clean up CUDA_NVCC_FLAGS
9753ef6fa clean up assertions

git-subtree-dir: thirdParty/alpaka
git-subtree-split: 90ae873b9984071e64343995e7721bde6a13ba7f
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
component: core in PIConGPU (core application)
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants