diff --git a/examples/SingleParticleCurrent/cmakeFlags b/examples/SingleParticleCurrent/cmakeFlags
deleted file mode 100755
index 30bf14a698..0000000000
--- a/examples/SingleParticleCurrent/cmakeFlags
+++ /dev/null
@@ -1,45 +0,0 @@
-#!/usr/bin/env bash
-#
-# Copyright 2013-2017 Axel Huebl, Rene Widera
-#
-# This file is part of PIConGPU.
-#
-# PIConGPU is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# PIConGPU is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with PIConGPU.
-# If not, see .
-#
-
-#
-# generic compile options
-#
-
-################################################################################
-# add presets here
-# - default: index 0
-# - start with zero index
-# - increase by 1, no gaps
-
-flags[0]="-DCUDA_ARCH=20"
-
-
-################################################################################
-# execution
-
-case "$1" in
- -l) echo ${#flags[@]}
- ;;
- -ll) for f in "${flags[@]}"; do echo $f; done
- ;;
- *) echo -n ${flags[$1]}
- ;;
-esac
diff --git a/examples/SingleParticleCurrent/include/CheckCurrent.hpp b/examples/SingleParticleCurrent/include/CheckCurrent.hpp
deleted file mode 100644
index 6f5b80aac4..0000000000
--- a/examples/SingleParticleCurrent/include/CheckCurrent.hpp
+++ /dev/null
@@ -1,103 +0,0 @@
-/**
- * Copyright 2013-2017 Heiko Burau, Rene Widera
- *
- * This file is part of PIConGPU.
- *
- * PIConGPU is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * PIConGPU is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with PIConGPU.
- * If not, see .
- */
-
-#pragma once
-
-#include "fields/FieldJ.hpp"
-#include "cuSTL/container/HostBuffer.hpp"
-#include "cuSTL/container/view/View.hpp"
-#include "cuSTL/cursor/MultiIndexCursor.hpp"
-#include "cuSTL/algorithm/kernel/Foreach.hpp"
-#include "math/Vector.hpp"
-
-namespace picongpu
-{
-
-struct CheckCurrent
-{
- struct PrintNonZeroComponents
- {
- typedef void type;
- float3_X totalJ;
-
- PrintNonZeroComponents() : totalJ(float3_X::create(0.0)) {}
- ~PrintNonZeroComponents()
- {
- const float_X unit_current = UNIT_CHARGE / (UNIT_LENGTH * UNIT_LENGTH * UNIT_TIME);
- totalJ *= unit_current;
- printf("totalJ: (%g, %g, %g) A/m^2\n", totalJ.x(), totalJ.y(), totalJ.z());
- }
-
- HDINLINE void operator()(float3_X data, PMacc::math::Int<3> cellIdx)
- {
-
- const float_X unit_current = UNIT_CHARGE / (UNIT_LENGTH * UNIT_LENGTH * UNIT_TIME);
- if(data.x() != 0.0f)
- printf("j_x = %g at %d, %d, %d\n", data.x() * unit_current, cellIdx.x(), cellIdx.y(), cellIdx.z());
- if(data.y() != 0.0f)
- printf("j_y = %g at %d, %d, %d\n", data.y() * unit_current, cellIdx.x(), cellIdx.y(), cellIdx.z());
- if(data.z() != 0.0f)
- printf("j_z = %g at %d, %d, %d\n", data.z() * unit_current, cellIdx.x(), cellIdx.y(), cellIdx.z());
-
- this->totalJ += data;
- }
- };
- void operator ()(FieldJ& _fieldJ_device)
- {
-
- typedef SuperCellSize GuardDim;
-
- // Get fieldJ without guards
- BOOST_AUTO(fieldJ_device,
- _fieldJ_device.getGridBuffer().getDeviceBuffer().cartBuffer());
-
- container::HostBuffer fieldJ_with_guards(fieldJ_device.size());
- fieldJ_with_guards = fieldJ_device;
- container::View > fieldJ(fieldJ_with_guards.view(GuardDim::toRT(), -GuardDim::toRT()));
-
- float3_X beta(BETA0_X, BETA0_Y, BETA0_Z);
-
- std::cout << "\nsingle P A R T I C L E facts:\n\n";
- std::cout << "position: (" << float3_X(LOCAL_POS_X, LOCAL_POS_Y, LOCAL_POS_Z)
- << ") at cell " << fieldJ.size()/size_t(2) << std::endl;
- std::cout << "velocity: (" << beta << ") * c\n";
- std::cout << "delta_pos: (" << beta * SPEED_OF_LIGHT / float3_X(CELL_WIDTH, CELL_HEIGHT, CELL_DEPTH) << ") * cellSize\n";
-
- const float_64 j = BASE_CHARGE / CELL_VOLUME * math::abs(beta) * SPEED_OF_LIGHT;
- const float_64 unit_current = UNIT_CHARGE / (UNIT_LENGTH * UNIT_LENGTH * UNIT_TIME);
- std::cout << "j = rho * abs(velocity) = " << std::setprecision(6) << j * unit_current << " A/m^2" << std::endl;
- std::cout << "------------------------------------------\n\n";
-
- std::cout << "fieldJ facts:\n\n";
-// std::cout << "zone: " << fieldJ.zone().size << ", " << fieldJ.zone().offset << std::endl;
-// std::cout << "index: " << *cursor::make_MultiIndexCursor<3>()(math::Int<3>(1,2,3)) << std::endl;
-// std::cout << "index: " << cursor::make_MultiIndexCursor<3>()[math::Int<3>(1,2,3)] << std::endl;
-
- algorithm::host::Foreach()(
- fieldJ.zone(),
- fieldJ.origin(), cursor::make_MultiIndexCursor<3>(),
- PrintNonZeroComponents());
-
- std::cout << "------------------------------------------\n\n";
- }
-};
-
-
-}
diff --git a/examples/SingleParticleCurrent/include/OneParticleSimulation.hpp b/examples/SingleParticleCurrent/include/OneParticleSimulation.hpp
deleted file mode 100644
index 6b5997b92d..0000000000
--- a/examples/SingleParticleCurrent/include/OneParticleSimulation.hpp
+++ /dev/null
@@ -1,170 +0,0 @@
-/**
- * Copyright 2013-2017 Axel Huebl, Heiko Burau, Rene Widera
- *
- * This file is part of PIConGPU.
- *
- * PIConGPU is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * PIConGPU is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with PIConGPU.
- * If not, see .
- */
-
-#pragma once
-
-#include "simulation_defines.hpp"
-#include "Environment.hpp"
-
-#include "simulationControl/MySimulation.hpp"
-
-#include "simulationControl/SimulationHelper.hpp"
-#include "simulation_classTypes.hpp"
-
-
-
-#include "fields/FieldB.hpp"
-#include "fields/FieldE.hpp"
-#include "fields/FieldJ.hpp"
-
-
-#include "dimensions/GridLayout.hpp"
-#include "simulation_types.hpp"
-#include "eventSystem/EventSystem.hpp"
-#include "fields/LaserPhysics.hpp"
-
-#include "nvidia/memory/MemoryInfo.hpp"
-#include "mappings/kernel/MappingDescription.hpp"
-
-#include
-
-#include "plugins/PluginController.hpp"
-
-#include "particles/ParticlesInitOneParticle.hpp"
-#include "CheckCurrent.hpp"
-
-namespace picongpu
-{
-
-using namespace PMacc;
-
-class OneParticleSimulation : public MySimulation
-{
-public:
-
- OneParticleSimulation() :
- MySimulation()
- {
- }
-
- virtual void init()
- {
-
- MySimulation::init();
-
- if (Environment::get().GridController().getGlobalRank() == 0)
- {
- std::cout << "max weighting " << particles::TYPICAL_NUM_PARTICLES_PER_MACROPARTICLE << std::endl;
- std::cout << "courant=min(deltaCellSize)/dt/c > 1.77 ? " << std::min(CELL_WIDTH, std::min(CELL_DEPTH, CELL_HEIGHT)) / SPEED_OF_LIGHT / DELTA_T << std::endl;
-
-#if (LASER_TYPE==1)
- const float_X y_R = M_PI * laserProfile::W0 * laserProfile::W0 / laserProfile::WAVE_LENGTH; //rayleigh length (in y-direction)
- std::cout << "focus/y_Rayleigh: " << laserProfile::FOCUS_POS / y_R << std::endl;
-#endif
-
- }
- }
-
- virtual uint32_t fillSimulation()
- {
- MySimulation::fillSimulation();
-
- const SubGrid& subGrid = Environment::get().SubGrid();
-
- const DataSpace halfSimSize(subGrid.getGlobalDomain().size / 2);
-
- GridLayout layout(subGrid.getLocalDomain().size, MappingDesc::SuperCellSize::toRT());
- MappingDesc cellDescription = MappingDesc(layout.getDataSpace(), GUARD_SIZE, GUARD_SIZE);
-
- ParticlesInitOneParticle::addOneParticle(*particleStorage[TypeAsIdentifier()],
- cellDescription,
- halfSimSize);
-
-
- //set E field
- //
- float3_X tmpE;
- tmpE.x() = E_X;
- tmpE.y() = E_Y;
- tmpE.z() = E_Z;
- this->fieldE->getGridBuffer().getDeviceBuffer().setValue(tmpE);
-
- //set B field
- //
- float3_X tmpB;
- tmpB.x() = B_X;
- tmpB.y() = B_Y;
- tmpB.z() = B_Z;
- this->fieldB->getGridBuffer().getDeviceBuffer().setValue(tmpB);
-
-
- return 0;
- }
-
- /**
- * Run one simulation step.
- *
- * @param currentStep iteration number of the current step
- */
- virtual void runOneStep(uint32_t currentStep)
- {
- FieldJ::ValueType zeroJ( FieldJ::ValueType::create(0.) );
- fieldJ->assign( zeroJ );
-
- fieldJ->computeCurrent < CORE + BORDER, PIC_Electrons > (*particleStorage[TypeAsIdentifier()], currentStep);
-
- CheckCurrent()(*fieldJ);
- }
-
- virtual void movingWindowCheck(uint32_t currentStep)
- {
- const SubGrid& subGrid = Environment::get().SubGrid();
- GridLayout gridLayout(subGrid.getLocalDomain().size, MappingDesc::SuperCellSize::toRT());
- if (MovingWindow::getInstance().slideInCurrentStep(currentStep))
- {
- GridController& gc = Environment::get().GridController();
- if (gc.slide())
- {
- particleStorage[TypeAsIdentifier()]->reset(currentStep);
- //set E field
- //
- float3_X tmpE;
- tmpE.x() = E_X;
- tmpE.y() = E_Y;
- tmpE.z() = E_Z;
- this->fieldE->getGridBuffer().getDeviceBuffer().setValue(tmpE);
-
- //set B field
- //
- float3_X tmpB;
- tmpB.x() = B_X;
- tmpB.y() = B_Y;
- tmpB.z() = B_Z;
- this->fieldB->getGridBuffer().getDeviceBuffer().setValue(tmpB);
-
- std::cout << "slide" << std::endl;
- }
- }
- }
-
-};
-
-} // namespace picongpu
-
diff --git a/examples/SingleParticleCurrent/include/particles/ParticlesInitOneParticle.hpp b/examples/SingleParticleCurrent/include/particles/ParticlesInitOneParticle.hpp
deleted file mode 100644
index 43cbed53ba..0000000000
--- a/examples/SingleParticleCurrent/include/particles/ParticlesInitOneParticle.hpp
+++ /dev/null
@@ -1,145 +0,0 @@
-/**
- * Copyright 2013-2017 Axel Huebl, Heiko Burau, Rene Widera, Richard Pausch
- *
- * This file is part of PIConGPU.
- *
- * PIConGPU is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * PIConGPU is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with PIConGPU.
- * If not, see .
- */
-
-#pragma once
-
-#include "dimensions/DataSpace.hpp"
-#include "pmacc_types.hpp"
-#include "simulation_classTypes.hpp"
-#include "mappings/simulation/SubGrid.hpp"
-
-#include "eventSystem/EventSystem.hpp"
-#include "dimensions/DataSpaceOperations.hpp"
-
-#include "plugins/radiation/parameters.hpp"
-#include "particles/operations/SetAttributeToDefault.hpp"
-
-namespace picongpu
-{
-
-struct kernelAddOneParticle
-{
- template< class ParBox >
- DINLINE void operator()(ParBox pb, DataSpace superCell, DataSpace parLocalCell) const
- {
- typedef typename ParBox::FramePtr FramePtr;
-
- FramePtr frame;
-
- int linearIdx = DataSpaceOperations::template map (parLocalCell);
-
- float_X parWeighting = particles::TYPICAL_NUM_PARTICLES_PER_MACROPARTICLE;
-
- frame = pb.getEmptyFrame();
- pb.setAsLastFrame(frame, superCell);
-
-
-
-
- // many particle loop:
- for (unsigned i = 0; i < 1; ++i)
- {
-
- auto par = frame[i];
-
- /** we now initialize all attributes of the new particle to their default values
- * some attributes, such as the position, localCellIdx, weighting or the
- * multiMask (\see AttrToIgnore) of the particle will be set individually
- * in the following lines since they are already known at this point.
- */
- {
- typedef typename ParBox::FrameType FrameType;
- typedef typename FrameType::ValueTypeSeq ParticleAttrList;
- typedef bmpl::vector4, multiMask, localCellIdx, weighting> AttrToIgnore;
- typedef typename ResolveAndRemoveFromSeq::type ParticleCleanedAttrList;
-
- algorithms::forEach::ForEach > setToDefault;
- setToDefault(forward(par));
- }
- floatD_X pos = float3_X(LOCAL_POS_X, LOCAL_POS_Y, LOCAL_POS_Z).shrink();
-
- const float_X GAMMA0 = (float_X) (1.0 / sqrt(1.0 - (BETA0_X * BETA0_X + BETA0_Y * BETA0_Y + BETA0_Z * BETA0_Z)));
- float3_X mom = float3_X(
- GAMMA0 * attribute::getMass(parWeighting,par) * float_X(BETA0_X) * SPEED_OF_LIGHT,
- GAMMA0 * attribute::getMass(parWeighting,par) * float_X(BETA0_Y) * SPEED_OF_LIGHT,
- GAMMA0 * attribute::getMass(parWeighting,par) * float_X(BETA0_Z) * SPEED_OF_LIGHT
- );
-
- par[position_] = pos;
- par[momentum_] = mom;
- par[multiMask_] = 1;
- par[localCellIdx_] = linearIdx;
- par[weighting_] = parWeighting;
-
-#if( ENABLE_RADIATION == 1 )
-# if( RAD_MARK_PARTICLE>1 ) || ( RAD_ACTIVATE_GAMMA_FILTER!=0 )
- par[radiationFlag_] = true;
-# endif
-#endif
- }
- }
-};
-
-template
-class ParticlesInitOneParticle
-{
-public:
-
- static void addOneParticle(ParticlesClass& parClass, MappingDesc cellDescription, DataSpace globalCell)
- {
-
- const SubGrid& subGrid = Environment::get().SubGrid();
- const DataSpace globalTopLeft = subGrid.getLocalDomain().offset;
- const DataSpace localSimulationArea = subGrid.getLocalDomain().size;
-
- DataSpace localParCell = globalCell - globalTopLeft;
-
-
- for (int i = 0; i < (int) simDim; ++i)
- {
- //chek if particle is in the simulation area
- if (localParCell[i] < 0 || localParCell[i] >= localSimulationArea[i])
- return;
- }
-
- //calculate supercell
- DataSpace localSuperCell = (localParCell / MappingDesc::SuperCellSize::toRT());
- DataSpace cellInSuperCell = localParCell - (localSuperCell * MappingDesc::SuperCellSize::toRT());
- //add garding blocks to supercell
- localSuperCell = localSuperCell + cellDescription.getGuardingSuperCells();
-
- std::cout << "localParCell: " << localParCell << std::endl;
- std::cout << "localSuperCell: " << localSuperCell << std::endl;
- std::cout << "cellInSuperCell: " << cellInSuperCell << std::endl;
-
- PMACC_KERNEL(kernelAddOneParticle{})
- (1, 1)
- (parClass.getDeviceParticlesBox(),
- localSuperCell, cellInSuperCell);
-
- parClass.fillAllGaps();
-
- std::cout << "Wait for add particle" << std::endl;
- __getTransactionEvent().waitForFinished();
- }
-};
-}
-
diff --git a/examples/SingleParticleCurrent/include/simulation_defines/extensionParam.loader b/examples/SingleParticleCurrent/include/simulation_defines/extensionParam.loader
deleted file mode 100644
index aa269921ea..0000000000
--- a/examples/SingleParticleCurrent/include/simulation_defines/extensionParam.loader
+++ /dev/null
@@ -1,23 +0,0 @@
-/**
- * Copyright 2013-2017 Axel Huebl, Heiko Burau, Rene Widera
- *
- * This file is part of PIConGPU.
- *
- * PIConGPU is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * PIConGPU is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with PIConGPU.
- * If not, see .
- */
-
-#pragma once
-
-#include "simulation_defines/param/backgroundFields.param"
diff --git a/examples/SingleParticleCurrent/include/simulation_defines/extensionUnitless.loader b/examples/SingleParticleCurrent/include/simulation_defines/extensionUnitless.loader
deleted file mode 100644
index d8edac4b38..0000000000
--- a/examples/SingleParticleCurrent/include/simulation_defines/extensionUnitless.loader
+++ /dev/null
@@ -1,23 +0,0 @@
-/**
- * Copyright 2013-2017 Axel Huebl, Heiko Burau, Rene Widera
- *
- * This file is part of PIConGPU.
- *
- * PIConGPU is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * PIConGPU is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with PIConGPU.
- * If not, see .
- */
-
-#pragma once
-
-#include "simulation_defines/unitless/backgroundFields.unitless"
diff --git a/examples/SingleParticleCurrent/include/simulation_defines/param/backgroundFields.param b/examples/SingleParticleCurrent/include/simulation_defines/param/backgroundFields.param
deleted file mode 100644
index c468d6c624..0000000000
--- a/examples/SingleParticleCurrent/include/simulation_defines/param/backgroundFields.param
+++ /dev/null
@@ -1,50 +0,0 @@
-/**
- * Copyright 2013-2017 Axel Huebl, Heiko Burau, Rene Widera
- *
- * This file is part of PIConGPU.
- *
- * PIConGPU is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * PIConGPU is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with PIConGPU.
- * If not, see .
- */
-
-
-
-#pragma once
-
-namespace picongpu
-{
- // Init Beta = v/c for the Electron
- constexpr float_64 BETA0_X = 0.5; //unit: none
- constexpr float_64 BETA0_Y = 0.0; //unit: none
- constexpr float_64 BETA0_Z = 0.0; //unit: none
-
- // position of the single particle within the cell
- constexpr float_64 LOCAL_POS_X = 0.0; //unit: none
- constexpr float_64 LOCAL_POS_Y = 0.5; //unit: none
- constexpr float_64 LOCAL_POS_Z = 0.5; //unit: none
-
- namespace SI
- {
- // Constant Background Fields
- constexpr float_64 E_X_SI = 0.0; //unit: Volt /meter
- constexpr float_64 E_Y_SI = 0.0; //-1.0e13; //unit: Volt /meter
- constexpr float_64 E_Z_SI = 0.0; //unit: Volt /meter
-
- constexpr float_64 B_X_SI = 0.0; //unit: Tesla = Vs/m^2
- constexpr float_64 B_Y_SI = 0.0; //unit: Tesla = Vs/m^2
- constexpr float_64 B_Z_SI = 0.0; //unit: Tesla = Vs/m^2
- }
-
-}
-
diff --git a/examples/SingleParticleCurrent/include/simulation_defines/param/componentsConfig.param b/examples/SingleParticleCurrent/include/simulation_defines/param/componentsConfig.param
deleted file mode 100644
index 54e49efc79..0000000000
--- a/examples/SingleParticleCurrent/include/simulation_defines/param/componentsConfig.param
+++ /dev/null
@@ -1,58 +0,0 @@
-/**
- * Copyright 2013-2017 Axel Huebl, Heiko Burau, Anton Helm, Rene Widera,
- * Richard Pausch
- *
- * This file is part of PIConGPU.
- *
- * PIConGPU is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * PIConGPU is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with PIConGPU.
- * If not, see .
- */
-
-
-
-#pragma once
-
-namespace picongpu
-{
-/** Simulation Starter ---------------------------------------------------
- * - singleParticleTest : unique starter for this test
- */
-namespace simulation_starter = singleParticleTest;
-
-/*! Laser Configuration --------------------------------------------------
- * - laserNone : no laser init
- * - laserGaussianBeam : Gaussian beam (focusing)
- * - laserPulseFrontTilt : Gaussian beam with a tilted pulse envelope
- * in 'x' direction
- * - laserWavepacket : wavepacket (Gaussian in time and space, not focusing)
- * - laserPlaneWave : a plane wave
- * - laserPolynom : a polynomial laser envelope
- */
-namespace laserProfile = laserNone;
-
-/*! Field Configuration --------------------------------------------------
- * - fieldSolverYee : standard Yee solver
- * - fieldSolverLehe: Num. Cherenkov free field solver in y direction
- * - fieldSolverDirSplitting: Sentoku's Directional Splitting Method
- * - fieldSolverNone: disable the vacuum update of E and B
- *
- * * For development purposes: ---------------------------------------------
- * - fieldSolverYeeNative : generic version of fieldSolverYee
- * (need more shared memory per GPU and is slow)
- */
-namespace fieldSolver = fieldSolverNone;
-
-#define ENABLE_CURRENT 0
-
-}
diff --git a/examples/SingleParticleCurrent/include/simulation_defines/param/gridConfig.param b/examples/SingleParticleCurrent/include/simulation_defines/param/gridConfig.param
deleted file mode 100644
index fd38700b6d..0000000000
--- a/examples/SingleParticleCurrent/include/simulation_defines/param/gridConfig.param
+++ /dev/null
@@ -1,89 +0,0 @@
-/**
- * Copyright 2013-2017 Heiko Burau, Benjamin Worpitz
- *
- * This file is part of PIConGPU.
- *
- * PIConGPU is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * PIConGPU is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with PIConGPU.
- * If not, see .
- */
-
-
-
-#pragma once
-
-namespace picongpu
-{
-
- namespace SI
- {
- /** Duration of one timestep
- * unit: seconds */
- constexpr float_64 DELTA_T_SI = 0.8e-16;
-
- /** equals X
- * unit: meter */
- constexpr float_64 CELL_WIDTH_SI = 2.0 * SPEED_OF_LIGHT_SI * DELTA_T_SI;
- /** equals Y
- * unit: meter */
- constexpr float_64 CELL_HEIGHT_SI = CELL_WIDTH_SI;
- /** equals Z
- * unit: meter */
- constexpr float_64 CELL_DEPTH_SI = CELL_WIDTH_SI;
-
- /** Note on units in reduced dimensions
- *
- * In 2D3V simulations, the CELL_DEPTH_SI (Z) cell length
- * is still used for normalization of densities, etc.
- *
- * A 2D3V simulation in a cartesian PIC simulation such as
- * ours only changes the degrees of freedom in motion for
- * (macro) particles and all (field) information in z
- * travels instantaneous, making the 2D3V simulation
- * behave like the interaction of infinite "wire particles"
- * in fields with perfect symmetry in Z.
- */
- } //namespace SI
-
- //! Defines the size of the absorbing zone (in cells)
- const uint32_t ABSORBER_CELLS[3][2] = {
- {32, 32}, /*x direction [negative,positive]*/
- {32, 32}, /*y direction [negative,positive]*/
- {32, 32} /*z direction [negative,positive]*/
- }; //unit: number of cells
-
- //! Define the strength of the absorber for any direction
- const float_X ABSORBER_STRENGTH[3][2] = {
- {1.0e-3, 1.0e-3}, /*x direction [negative,positive]*/
- {1.0e-3, 1.0e-3}, /*y direction [negative,positive]*/
- {1.0e-3, 1.0e-3} /*z direction [negative,positive]*/
- }; //unit: none
-
- constexpr uint32_t ABSORBER_FADE_IN_STEPS = 16;
-
- /** When to move the co-moving window.
- * An initial pseudo particle, flying with the speed of light,
- * is fired at the begin of the simulation.
- * When it reaches slide_point % of the absolute(*) simulation area,
- * the co-moving window starts to move with the speed of light.
- *
- * (*) Note: beware, that there is one "hidden" row of gpus at the y-front,
- * when you use the co-moving window
- * 0.75 means only 75% of simulation area is used for real simulation
- */
- constexpr float_64 slide_point = 0.90;
-
-}
-
-
-
diff --git a/examples/SingleParticleCurrent/include/simulation_defines/param/particleConfig.param b/examples/SingleParticleCurrent/include/simulation_defines/param/particleConfig.param
deleted file mode 100644
index a44147615d..0000000000
--- a/examples/SingleParticleCurrent/include/simulation_defines/param/particleConfig.param
+++ /dev/null
@@ -1,45 +0,0 @@
-/**
- * Copyright 2013-2017 Axel Huebl, Rene Widera
- *
- * This file is part of PIConGPU.
- *
- * PIConGPU is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * PIConGPU is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with PIConGPU.
- * If not, see .
- */
-
-
-
-#pragma once
-
-#include "particles/startPosition/functors.def"
-#include "particles/manipulators/manipulators.def"
-#include "nvidia/functors/Add.hpp"
-#include "nvidia/functors/Assign.hpp"
-
-namespace picongpu
-{
-
-namespace particles
-{
-
- /** a particle with a weighting below MIN_WEIGHTING will not
- * be created / will be deleted
- * unit: none */
- constexpr float_X MIN_WEIGHTING = 1.0;
-
- constexpr uint32_t TYPICAL_PARTICLES_PER_CELL = 1;
-
-} //namespace particles
-
-} //namespac picongpu
diff --git a/examples/SingleParticleCurrent/include/simulation_defines/param/species.param b/examples/SingleParticleCurrent/include/simulation_defines/param/species.param
deleted file mode 100644
index fecc18268e..0000000000
--- a/examples/SingleParticleCurrent/include/simulation_defines/param/species.param
+++ /dev/null
@@ -1,85 +0,0 @@
-/**
- * Copyright 2014-2017 Rene Widera, Richard Pausch
- *
- * This file is part of PIConGPU.
- *
- * PIConGPU is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * PIConGPU is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with PIConGPU.
- * If not, see .
- */
-
-
-
-#pragma once
-
-#include "particles/shapes.hpp"
-#include "algorithms/FieldToParticleInterpolationNative.hpp"
-#include "algorithms/FieldToParticleInterpolation.hpp"
-#include "algorithms/AssignedTrilinearInterpolation.hpp"
-#include "particles/shapes.hpp"
-
-#include "fields/currentDeposition/Solver.def"
-
-
-/*enable (1) or disable (0) electrons*/
-#define ENABLE_ELECTRONS 1
-/*enable (1) or disable (0) ions*/
-#define ENABLE_IONS 0
-
-
-namespace picongpu
-{
-/*---------------------------- generic solver---------------------------------*/
-
-/*! Particle Shape definitions -------------------------------------------------
- * - particles::shapes::CIC : 1st order
- * - particles::shapes::TSC : 2nd order
- * - particles::shapes::PCS : 3rd order
- * - particles::shapes::P4S : 4th order
- *
- * example: typedef particles::shapes::CIC CICShape;
- */
-typedef particles::shapes::CIC UsedParticleShape;
-
-/* define which interpolation method is used to interpolate fields to particle*/
-typedef FieldToParticleInterpolation UsedField2Particle;
-
-/*! select current solver method -----------------------------------------------
- * - currentSolver::Esirkepov : particle shapes - CIC, TSC, PCS, P4S (1st to 4th order)
- * - currentSolver::VillaBune<> : particle shapes - CIC (1st order) only
- *
- * For development purposes: ---------------------------------------------------
- * - currentSolver::EsirkepovNative : generic version of currentSolverEsirkepov
- * without optimization (~4x slower and needs more shared memory)
- * - currentSolver::ZigZag : particle shapes - CIC, TSC, PCS, P4S (1st to 4th order)
- */
-typedef currentSolver::Esirkepov UsedParticleCurrentSolver;
-
-/*! particle pusher configuration ----------------------------------------------
- *
- * Define a pusher is optional for particles
- *
- * - particles::pusher::Vay : better suited relativistic boris pusher
- * - particles::pusher::Boris : standard boris pusher
- * - particles::pusher::ReducedLandauLifshitz : 4th order RungeKutta pusher
- * with classical radiation reaction
- *
- * For development purposes: ---------------------------------------------------
- * - particles::pusher::Axel : a pusher developed at HZDR during 2011 (testing)
- * - particles::pusher::Free : free propagation, ignore fields
- * (= free stream model)
- * - particles::pusher::Photon : propagate with c in direction of normalized mom.
- */
-typedef particles::pusher::Boris UsedParticlePusher;
-
-}//namespace picongpu
diff --git a/examples/SingleParticleCurrent/include/simulation_defines/param/starter.param b/examples/SingleParticleCurrent/include/simulation_defines/param/starter.param
deleted file mode 100644
index b63e6e7883..0000000000
--- a/examples/SingleParticleCurrent/include/simulation_defines/param/starter.param
+++ /dev/null
@@ -1,36 +0,0 @@
-/**
- * Copyright 2013-2017 Axel Huebl, Heiko Burau, Rene Widera
- *
- * This file is part of PIConGPU.
- *
- * PIConGPU is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * PIConGPU is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with PIConGPU.
- * If not, see .
- */
-
-
-
-#pragma once
-
-
-namespace picongpu
-{
-
- namespace singleParticleTest
- {
-
- }
-}
-
-
-
diff --git a/examples/SingleParticleCurrent/include/simulation_defines/param/visColorScales.param b/examples/SingleParticleCurrent/include/simulation_defines/param/visColorScales.param
deleted file mode 100644
index 16d414ef16..0000000000
--- a/examples/SingleParticleCurrent/include/simulation_defines/param/visColorScales.param
+++ /dev/null
@@ -1,117 +0,0 @@
-/**
- * Copyright 2013-2017 Axel Huebl, Heiko Burau, Rene Widera
- *
- * This file is part of PIConGPU.
- *
- * PIConGPU is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * PIConGPU is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with PIConGPU.
- * If not, see .
- */
-
-
-
-#pragma once
-
-#include "basicOperations.hpp"
-
-namespace picongpu
-{
- namespace colorScales
- {
- namespace none
- {
- HDINLINE void addRGB( const float3_X&,
- const float_X,
- const float_X )
- {
- return;
- }
- }
-
- namespace gray
- {
- HDINLINE void addRGB( float3_X& img,
- const float_X value,
- const float_X opacity )
- {
- const float3_X myChannel( 1.0, 1.0, 1.0 );
- img = img
- - opacity * float3_X( myChannel.x() * img.x(),
- myChannel.y() * img.y(),
- myChannel.z() * img.z() )
- + myChannel * value * opacity;
- }
- }
-
- namespace grayInv
- {
- HDINLINE void addRGB( float3_X& img,
- const float_X value,
- const float_X opacity )
- {
- const float3_X myChannel( 1.0, 1.0, 1.0 );
- img = img
- - opacity * float3_X( myChannel.x() * img.x(),
- myChannel.y() * img.y(),
- myChannel.z() * img.z() )
- + myChannel * (float_X(1.0) - value ) * opacity;
- }
- }
-
- namespace red
- {
- HDINLINE void addRGB( float3_X& img,
- const float_X value,
- const float_X opacity )
- {
- const float3_X myChannel( 1.0, 0.0, 0.0 );
- img = img
- - opacity * float3_X( myChannel.x() * img.x(),
- myChannel.y() * img.y(),
- myChannel.z() * img.z() )
- + myChannel * value * opacity;
- }
- }
-
- namespace green
- {
- HDINLINE void addRGB( float3_X& img,
- const float_X value,
- const float_X opacity )
- {
- const float3_X myChannel( 0.0, 1.0, 0.0 );
- img = img
- - opacity * float3_X( myChannel.x() * img.x(),
- myChannel.y() * img.y(),
- myChannel.z() * img.z() )
- + myChannel * value * opacity;
- }
- }
-
- namespace blue
- {
- HDINLINE void addRGB( float3_X& img,
- const float_X value,
- const float_X opacity )
- {
- const float3_X myChannel( 0.0, 0.0, 1.0 );
- img = img
- - opacity * float3_X( myChannel.x() * img.x(),
- myChannel.y() * img.y(),
- myChannel.z() * img.z() )
- + myChannel * value * opacity;
- }
- }
-
- }
-}
diff --git a/examples/SingleParticleCurrent/include/simulation_defines/param/visualization.param b/examples/SingleParticleCurrent/include/simulation_defines/param/visualization.param
deleted file mode 100644
index 6d59de2b0b..0000000000
--- a/examples/SingleParticleCurrent/include/simulation_defines/param/visualization.param
+++ /dev/null
@@ -1,83 +0,0 @@
-/**
- * Copyright 2013-2017 Axel Huebl, Heiko Burau, Rene Widera, Richard Pausch
- *
- * This file is part of PIConGPU.
- *
- * PIConGPU is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * PIConGPU is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with PIConGPU.
- * If not, see .
- */
-
-
-#pragma once
-
-#include
-#include "basicOperations.hpp"
-
-namespace picongpu
-{
-/*scale image before write to file, only scale if value is not 1.0
- */
-constexpr float_64 scale_image = 1.0;
-
-/*if true image is scaled if cellsize is not quadratic, else no scale*/
-constexpr bool scale_to_cellsize = true;
-
-constexpr bool white_box_per_GPU = false;
-
-namespace visPreview
-{
-// normalize EM fields to typical laser or plasma quantities
-//-1: Auto: enable adaptive scaling for each output
-// 1: Laser: typical fields calculated out of the laser amplitude
-// 2: Drift: typical fields caused by a drifting plasma
-// 3: PlWave: typical fields calculated out of the plasma freq.,
-// assuming the wave moves approx. with c
-// 4: Thermal: typical fields calculated out of the electron temperature
-// 5: BlowOut: typical fields, assuming that a LWFA in the blowout
-// regime causes a bubble with radius of approx. the laser's
-// beam waist (use for bubble fields)
-#define EM_FIELD_SCALE_CHANNEL1 -1
-#define EM_FIELD_SCALE_CHANNEL2 -1
-#define EM_FIELD_SCALE_CHANNEL3 -1
-
-// multiply highest undisturbed particle density with factor
-constexpr float_X preParticleDens_opacity = 1.0;
-constexpr float_X preChannel1_opacity = 1.0;
-constexpr float_X preChannel2_opacity = 1.0;
-constexpr float_X preChannel3_opacity = 1.0;
-
-// specify color scales for each channel
-namespace preParticleDensCol = colorScales::red;
-namespace preChannel1Col = colorScales::green;
-namespace preChannel2Col = colorScales::none;
-namespace preChannel3Col = colorScales::none;
-
-/* png preview and liveview settings for each channel */
-DINLINE float_X preChannel1(const float3_X& field_B, const float3_X& field_E, const float3_X& field_J)
-{
- return math::abs2(field_J);
-}
-
-DINLINE float_X preChannel2(const float3_X& field_B, const float3_X& field_E, const float3_X& field_J)
-{
- return field_E.x() * field_E.x();
-}
-
-DINLINE float_X preChannel3(const float3_X& field_B, const float3_X& field_E, const float3_X& field_J)
-{
- return -float_X(1.0) * field_E.y();
-}
-}
-}
-
diff --git a/examples/SingleParticleCurrent/include/simulation_defines/unitless/backgroundFields.unitless b/examples/SingleParticleCurrent/include/simulation_defines/unitless/backgroundFields.unitless
deleted file mode 100644
index 94727fe73f..0000000000
--- a/examples/SingleParticleCurrent/include/simulation_defines/unitless/backgroundFields.unitless
+++ /dev/null
@@ -1,38 +0,0 @@
-/**
- * Copyright 2013-2017 Axel Huebl, Heiko Burau, Rene Widera
- *
- * This file is part of PIConGPU.
- *
- * PIConGPU is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * PIConGPU is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with PIConGPU.
- * If not, see .
- */
-
-
-
-#pragma once
-
-
-namespace picongpu
-{
- // Constant Background Fields
- constexpr float_X E_X = float_X( SI::E_X_SI / UNIT_EFIELD); //unit: Volt /meter
- constexpr float_X E_Y = float_X( SI::E_Y_SI / UNIT_EFIELD); //unit: Volt /meter
- constexpr float_X E_Z = float_X( SI::E_Z_SI / UNIT_EFIELD); //unit: Volt /meter
-
- constexpr float_X B_X = float_X( SI::B_X_SI / UNIT_BFIELD); //unit: Tesla = Vs/m^2
- constexpr float_X B_Y = float_X( SI::B_Y_SI / UNIT_BFIELD); //unit: Tesla = Vs/m^2
- constexpr float_X B_Z = float_X( SI::B_Z_SI / UNIT_BFIELD); //unit: Tesla = Vs/m^2
-}
-
-
diff --git a/examples/SingleParticleCurrent/include/simulation_defines/unitless/physicalConstants.unitless b/examples/SingleParticleCurrent/include/simulation_defines/unitless/physicalConstants.unitless
deleted file mode 100644
index 0cdf52b017..0000000000
--- a/examples/SingleParticleCurrent/include/simulation_defines/unitless/physicalConstants.unitless
+++ /dev/null
@@ -1,81 +0,0 @@
-/**
- * Copyright 2013-2017 Axel Huebl, Rene Widera, Marco Garten, Heiko Burau
- *
- * This file is part of PIConGPU.
- *
- * PIConGPU is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * PIConGPU is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with PIConGPU.
- * If not, see .
- */
-
-
-#pragma once
-
-namespace picongpu
-{
- /** Unit of Speed */
- constexpr float_64 UNIT_SPEED = SI::SPEED_OF_LIGHT_SI;
- /** Unit of time */
- constexpr float_64 UNIT_TIME = SI::DELTA_T_SI;
- /** Unit of length */
- constexpr float_64 UNIT_LENGTH = UNIT_TIME*UNIT_SPEED;
-
- namespace particles
- {
- /** Number of electrons per particle (= macro particle weighting)
- * unit: none */
- constexpr float_X TYPICAL_NUM_PARTICLES_PER_MACROPARTICLE = 1;
-
- }
-
-
- /** Unit of mass */
- constexpr float_64 UNIT_MASS = SI::ELECTRON_MASS_SI * double(particles::TYPICAL_NUM_PARTICLES_PER_MACROPARTICLE);
- /** Unit of charge */
- constexpr float_64 UNIT_CHARGE = -1.0 * SI::ELECTRON_CHARGE_SI * double(particles::TYPICAL_NUM_PARTICLES_PER_MACROPARTICLE);
- /** Unit of energy */
- constexpr float_64 UNIT_ENERGY = (UNIT_MASS * UNIT_LENGTH * UNIT_LENGTH / (UNIT_TIME * UNIT_TIME));
- /** Unit of EField: V/m */
- constexpr float_64 UNIT_EFIELD = 1.0 / (UNIT_TIME * UNIT_TIME / UNIT_MASS / UNIT_LENGTH * UNIT_CHARGE);
- //** Unit of BField: Tesla [T] = Vs/m^2 */
- constexpr float_64 UNIT_BFIELD = (UNIT_MASS / (UNIT_TIME * UNIT_CHARGE));
-
-
-
-
- constexpr float_X SPEED_OF_LIGHT = float_X(SI::SPEED_OF_LIGHT_SI / UNIT_SPEED);
-
- //! reduced Planck constant
- constexpr float_X HBAR = (float_X) (SI::HBAR_SI / UNIT_ENERGY / UNIT_TIME);
-
- //! Charge of electron
- constexpr float_X ELECTRON_CHARGE = (float_X) (SI::ELECTRON_CHARGE_SI / UNIT_CHARGE);
- //! Mass of electron
- constexpr float_X ELECTRON_MASS = (float_X) (SI::ELECTRON_MASS_SI / UNIT_MASS);
-
- //! magnetic constant must be double 3.92907e-39
- constexpr float_X MUE0 = (float_X) (SI::MUE0_SI / UNIT_LENGTH / UNIT_MASS * UNIT_CHARGE * UNIT_CHARGE);
-
- //! electric constant must be double 2.54513e+38
- constexpr float_X EPS0 = (float_X) (1. / MUE0 / SPEED_OF_LIGHT / SPEED_OF_LIGHT);
-
- // = 1/c^2
- constexpr float_X MUE0_EPS0 = float_X(1. / SPEED_OF_LIGHT / SPEED_OF_LIGHT);
-
- /* Atomic unit of electric field in PIC Efield units */
- constexpr float_X ATOMIC_UNIT_EFIELD = float_X(SI::ATOMIC_UNIT_EFIELD / UNIT_EFIELD);
-
- /* Atomic unit of time in PIC units */
- constexpr float_X ATOMIC_UNIT_TIME = float_X(SI::ATOMIC_UNIT_TIME / UNIT_TIME);
-
-} //namespace picongpu
diff --git a/examples/SingleParticleCurrent/include/simulation_defines/unitless/starter.unitless b/examples/SingleParticleCurrent/include/simulation_defines/unitless/starter.unitless
deleted file mode 100644
index 02d4550819..0000000000
--- a/examples/SingleParticleCurrent/include/simulation_defines/unitless/starter.unitless
+++ /dev/null
@@ -1,44 +0,0 @@
-/**
- * Copyright 2013-2017 Axel Huebl, Heiko Burau, Rene Widera
- *
- * This file is part of PIConGPU.
- *
- * PIConGPU is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * PIConGPU is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with PIConGPU.
- * If not, see .
- */
-
-
-
-#pragma once
-
-#include "plugins/PluginController.hpp"
-#include "initialization/InitPluginNone.hpp"
-#include "OneParticleSimulation.hpp"
-#include "simulationControl/SimulationStarter.hpp"
-
-namespace picongpu
-{
- using namespace PMacc;
-
-
- namespace singleParticleTest
- {
- typedef ::picongpu::SimulationStarter
- <
- ::picongpu::InitPluginNone,
- ::picongpu::PluginController,
- ::picongpu::OneParticleSimulation
- > SimStarter;
- }
-}
diff --git a/examples/SingleParticleCurrent/submit/0001gpus.cfg b/examples/SingleParticleCurrent/submit/0001gpus.cfg
deleted file mode 100644
index 0de811cf60..0000000000
--- a/examples/SingleParticleCurrent/submit/0001gpus.cfg
+++ /dev/null
@@ -1,61 +0,0 @@
-# Copyright 2013-2017 Heiko Burau, Felix Schmitt, Axel Huebl
-#
-# This file is part of PIConGPU.
-#
-# PIConGPU is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# PIConGPU is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with PIConGPU.
-# If not, see .
-#
-
-##
-## This configuration file is used by PIConGPU's TBG tool to create a
-## batch script for PIConGPU runs. For a detailed description of PIConGPU
-## configuration files including all available variables, see
-##
-## doc/TBG_macros.cfg
-##
-
-
-#################################
-## Section: Required Variables ##
-#################################
-
-TBG_wallTime="1:00:00"
-
-TBG_gpu_x=1
-TBG_gpu_y=1
-TBG_gpu_z=1
-
-TBG_gridSize="-g 32 32 32"
-TBG_steps="-s 1"
-
-
-#################################
-## Section: Optional Variables ##
-#################################
-
-
-#################################
-## Section: Program Parameters ##
-#################################
-
-TBG_devices="-d !TBG_gpu_x !TBG_gpu_y !TBG_gpu_z"
-
-TBG_programParams="!TBG_devices \
- !TBG_gridSize \
- !TBG_steps"
-
-# TOTAL number of GPUs
-TBG_tasks="$(( TBG_gpu_x * TBG_gpu_y * TBG_gpu_z ))"
-
-"$TBG_cfgPath"/submitAction.sh
diff --git a/examples/SingleParticleRadiationWithLaser/cmakeFlags b/examples/SingleParticleRadiationWithLaser/cmakeFlags
deleted file mode 100755
index 600c184942..0000000000
--- a/examples/SingleParticleRadiationWithLaser/cmakeFlags
+++ /dev/null
@@ -1,46 +0,0 @@
-#!/usr/bin/env bash
-#
-# Copyright 2013-2017 Axel Huebl, Rene Widera, Richard Pausch
-#
-# This file is part of PIConGPU.
-#
-# PIConGPU is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# PIConGPU is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with PIConGPU.
-# If not, see .
-#
-
-#
-# generic compile options
-#
-
-################################################################################
-# add presets here
-# - default: index 0
-# - start with zero index
-# - increase by 1, no gaps
-
-flags[0]="-DCUDA_ARCH=20"
-flags[1]="-DCUDA_ARCH=35 -DPARAM_OVERWRITES:LIST=-DPARAM_DIMENSION=DIM2"
-
-
-################################################################################
-# execution
-
-case "$1" in
- -l) echo ${#flags[@]}
- ;;
- -ll) for f in "${flags[@]}"; do echo $f; done
- ;;
- *) echo -n ${flags[$1]}
- ;;
-esac
diff --git a/examples/SingleParticleRadiationWithLaser/documentation.yml b/examples/SingleParticleRadiationWithLaser/documentation.yml
deleted file mode 100644
index 0a8646d851..0000000000
--- a/examples/SingleParticleRadiationWithLaser/documentation.yml
+++ /dev/null
@@ -1,59 +0,0 @@
---- # Documentation for the SingleParticleRadiationWithLaser Example
-example:
- name: Thomson scattering from laser electron interaction
- short: SingleElectronRadiation
- author: Richard Pausch , Rene Widera
- maintainer: Richard Pausch
-
- description: |
- This is a simulation of a single macro particle representing an electron
- that collides head-on with a laser pulse. Depending on the momentum
- of the electron and the wavelength and intensity of the laser, the
- emitted radiation differs. A general description of this simulation
- can be found in *PauschDipl. A detailed analysis of this single
- electron simulation can be found in *Pausch13. A theoretical
- study of the emitted radiation in head-on laser electron collisions
- can be found in *Esarey93.
-
- references:
- - PauschDipl: &PauschDipl
- author: Richard Pausch
- title: Electromagnetic Radiation from Relativistic Electrons as Characteristic Signature of their Dynamics
- journal: Diploma Thesis TU Dresden
- year: 2012
- link: http://www.hzdr.de/db/Cms?pOid=38997
- - Pausch13: &Pausch13
- author: R. Pausch, A. Debus, R. Widera, K. Steiniger, A. Huebl, H. Burau, M. Bussmann, U. Schramm
- title: How to test and verify radiation diagnostics simulations within particle-in-cell frameworks
- journal: Nuclear Instruments and Methods in Physics Research Section A
- year: 2013
- link: http://dx.doi.org/10.1016/j.nima.2013.10.073
- - Esarey93: &Esarey93
- author: E. Esarey, S. Ride, P. Sprangle
- title: Nonlinear Thomson scattering of intense laser pulses from beams and plasmas
- journal: Physical Review E
- year: 1993
- link: http://dx.doi.org/10.1103/PhysRevE.48.3003
-
---- # Run-Time Tests for the Bunch Example
-test:
- - nonlinearThomsonScattering:
- name: nonlinear Thomson scattering from a single electron
- description: |
- This test simulates an electron with a relativistic gamma
- factor of gamma=5.0 interacting with a laser of a_0=1.0.
- The resulting radiation should be boosted in the direction
- of the electron's momentum and should contain higher
- harmonics do to the high laser intensity.
- cmakeflag: 0
- cfgfile: submit/0008gpus.cfg
- gpus: 16
-
- pre-run:
- - echo "Starting nonlinear Thomson scattering Test"
- post-run:
- - echo "check emitted spectra (totalRad)"
- - echo "compare with theoretical predictions:"
- - echo "(higher harmonics, intensity, relativistic frequency shift)"
- - echo "ok / failed"
-
diff --git a/examples/SingleParticleRadiationWithLaser/include/OneParticleSimulation.hpp b/examples/SingleParticleRadiationWithLaser/include/OneParticleSimulation.hpp
deleted file mode 100644
index 5869005178..0000000000
--- a/examples/SingleParticleRadiationWithLaser/include/OneParticleSimulation.hpp
+++ /dev/null
@@ -1,194 +0,0 @@
-/**
- * Copyright 2013-2017 Axel Huebl, Heiko Burau, Rene Widera, Richard Pausch
- *
- * This file is part of PIConGPU.
- *
- * PIConGPU is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * PIConGPU is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with PIConGPU.
- * If not, see .
- */
-
-#pragma once
-
-#include "simulation_defines.hpp"
-#include "Environment.hpp"
-
-#include "simulationControl/MySimulation.hpp"
-
-#include "simulationControl/SimulationHelper.hpp"
-#include "simulation_classTypes.hpp"
-
-
-
-#include "fields/FieldB.hpp"
-#include "fields/FieldE.hpp"
-#include "fields/FieldJ.hpp"
-
-
-#include "dimensions/GridLayout.hpp"
-#include "simulation_types.hpp"
-#include "eventSystem/EventSystem.hpp"
-#include "fields/LaserPhysics.hpp"
-
-#include "nvidia/memory/MemoryInfo.hpp"
-#include "mappings/kernel/MappingDescription.hpp"
-
-#include
-
-#include "plugins/PluginController.hpp"
-#include "particles/ParticlesInitOneParticle.hpp"
-#include "communication/AsyncCommunication.hpp"
-
-
-namespace picongpu
-{
-
-using namespace PMacc;
-
-class OneParticleSimulation : public MySimulation
-{
-public:
-
- OneParticleSimulation() :
- MySimulation()
- {
- }
-
- virtual void init()
- {
-
- MySimulation::init();
-
- if (Environment::get().GridController().getGlobalRank() == 0)
- {
- std::cout << "max weighting " << particles::TYPICAL_NUM_PARTICLES_PER_MACROPARTICLE << std::endl;
- std::cout << "courant=min(deltaCellSize)/dt/c > 1.77 ? " << std::min(CELL_WIDTH, std::min(CELL_DEPTH, CELL_HEIGHT)) / SPEED_OF_LIGHT / DELTA_T << std::endl;
- std::cout << "y-cells per wavelength: " << laserProfile::WAVE_LENGTH / CELL_HEIGHT << std::endl;
-
- //const float_X y_R = M_PI * laserProfile::W0 * laserProfile::W0 / laserProfile::WAVE_LENGTH; //rayleigh length (in y-direction)
- //std::cout << "focus/y_Rayleigh: " << laserProfile::FOCUS_POS / y_R << std::endl;
- }
-
-
- //diabled because we have a transaction bug
- //StreamController::getInstance().addStreams(6);
- }
-
- virtual uint32_t fillSimulation()
- {
- MySimulation::fillSimulation();
-
- //add one particle in simulation
- //
- const SubGrid& subGrid = Environment::get().SubGrid();
-
- const DataSpace halfSimSize(subGrid.getGlobalDomain().size / 2);
-
- GridLayout layout(subGrid.getLocalDomain().size, MappingDesc::SuperCellSize::toRT());
- MappingDesc cellDescription = MappingDesc(layout.getDataSpace(), GUARD_SIZE, GUARD_SIZE);
-
- DataSpace centerXZPlan(halfSimSize);
- centerXZPlan.y() = OneParticleOffset;
-
- ParticlesInitOneParticle::addOneParticle(*particleStorage[TypeAsIdentifier()],
- cellDescription,
- centerXZPlan);
-
-
- //set E field
- //
- float3_X tmpE;
- tmpE.x() = E_X;
- tmpE.y() = E_Y;
- tmpE.z() = E_Z;
- this->fieldE->getGridBuffer().getDeviceBuffer().setValue(tmpE);
-
- //set B field
- //
- float3_X tmpB;
- tmpB.x() = B_X;
- tmpB.y() = B_Y;
- tmpB.z() = B_Z;
- this->fieldB->getGridBuffer().getDeviceBuffer().setValue(tmpB);
-
- // communicate all fields
- EventTask eRfieldE = fieldE->asyncCommunication(__getTransactionEvent());
- __setTransactionEvent(eRfieldE);
- EventTask eRfieldB = fieldB->asyncCommunication(__getTransactionEvent());
- __setTransactionEvent(eRfieldB);
-
- return 0;
- }
-
- /**
- * Run one simulation step.
- *
- * @param currentStep iteration number of the current step
- */
- virtual void runOneStep(uint32_t currentStep)
- {
- FieldJ::ValueType zeroJ( FieldJ::ValueType::create(0.) );
- fieldJ->assign( zeroJ );
-
- __startTransaction(__getTransactionEvent());
- EventTask initEvent = __getTransactionEvent();
- EventTask updateEvent;
- EventTask commEvent;
-
- /* push all species */
- particles::PushAllSpecies pushAllSpecies;
- pushAllSpecies(particleStorage, currentStep, initEvent, updateEvent, commEvent);
- __setTransactionEvent(updateEvent + commEvent);
-
- this->myFieldSolver->update_beforeCurrent(currentStep);
- this->myFieldSolver->update_afterCurrent(currentStep);
-
-
- }
-
- virtual void movingWindowCheck(uint32_t currentStep)
- {
- const SubGrid& subGrid = Environment::get().SubGrid();
- GridLayout gridLayout(subGrid.getLocalDomain().size, MappingDesc::SuperCellSize::toRT());
- if (MovingWindow::getInstance().slideInCurrentStep(currentStep))
- {
- GridController& gc = Environment::get().GridController();
- if (gc.slide())
- {
- particleStorage[TypeAsIdentifier()]->reset(currentStep);
- //set E field
- //
- float3_X tmpE;
- tmpE.x() = E_X;
- tmpE.y() = E_Y;
- tmpE.z() = E_Z;
- this->fieldE->getGridBuffer().getDeviceBuffer().setValue(tmpE);
-
- //set B field
- //
- float3_X tmpB;
- tmpB.x() = B_X;
- tmpB.y() = B_Y;
- tmpB.z() = B_Z;
- this->fieldB->getGridBuffer().getDeviceBuffer().setValue(tmpB);
-
- std::cout << "slide" << std::endl;
- }
- }
- }
-
-
-};
-
-} // namespace picongpu
-
diff --git a/examples/SingleParticleRadiationWithLaser/include/particles/ParticlesInitOneParticle.hpp b/examples/SingleParticleRadiationWithLaser/include/particles/ParticlesInitOneParticle.hpp
deleted file mode 100644
index 0d60ee2897..0000000000
--- a/examples/SingleParticleRadiationWithLaser/include/particles/ParticlesInitOneParticle.hpp
+++ /dev/null
@@ -1,148 +0,0 @@
-/**
- * Copyright 2013-2017 Axel Huebl, Rene Widera, Richard Pausch
- *
- * This file is part of PIConGPU.
- *
- * PIConGPU is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * PIConGPU is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with PIConGPU.
- * If not, see .
- */
-
-
-
-#pragma once
-
-#include "pmacc_types.hpp"
-#include "simulation_defines.hpp"
-#include "dimensions/DataSpace.hpp"
-
-#include "mappings/simulation/SubGrid.hpp"
-
-#include "eventSystem/EventSystem.hpp"
-#include "dimensions/DataSpaceOperations.hpp"
-
-#include "plugins/radiation/parameters.hpp"
-#include "particles/operations/SetAttributeToDefault.hpp"
-
-namespace picongpu
-{
-
-struct kernelAddOneParticle
-{
- template< class ParBox>
- DINLINE void operator()(ParBox pb, DataSpace superCell, DataSpace parLocalCell) const
- {
- typedef typename ParBox::FramePtr FramePtr;
-
- FramePtr frame;
-
- int linearIdx = DataSpaceOperations::template map (parLocalCell);
-
- float_X parWeighting = particles::TYPICAL_NUM_PARTICLES_PER_MACROPARTICLE;
-
- frame = pb.getEmptyFrame();
- pb.setAsLastFrame(frame, superCell);
-
-
-
-
- // many particle loop:
- for (unsigned i = 0; i < 1; ++i)
- {
- auto par = frame[i];
-
- /** we now initialize all attributes of the new particle to their default values
- * some attributes, such as the position, localCellIdx, weighting or the
- * multiMask (\see AttrToIgnore) of the particle will be set individually
- * in the following lines since they are already known at this point.
- */
- {
- typedef typename ParBox::FrameType FrameType;
- typedef typename FrameType::ValueTypeSeq ParticleAttrList;
- typedef bmpl::vector4, multiMask, localCellIdx, weighting> AttrToIgnore;
- typedef typename ResolveAndRemoveFromSeq::type ParticleCleanedAttrList;
-
- algorithms::forEach::ForEach > setToDefault;
- setToDefault(forward(par));
- }
-
- floatD_X pos(floatD_X::create(0.5));
-
- const float_X GAMMA0_X = 1.0f / sqrtf(1.0f - float_X(BETA0_X * BETA0_X));
- const float_X GAMMA0_Y = 1.0f / sqrtf(1.0f - float_X(BETA0_Y * BETA0_Y));
- const float_X GAMMA0_Z = 1.0f / sqrtf(1.0f - float_X(BETA0_Z * BETA0_Z));
- float3_X mom = float3_X(
- GAMMA0_X * attribute::getMass(parWeighting,par) * float_X(BETA0_X) * SPEED_OF_LIGHT,
- GAMMA0_Y * attribute::getMass(parWeighting,par) * float_X(BETA0_Y) * SPEED_OF_LIGHT,
- GAMMA0_Z * attribute::getMass(parWeighting,par) * float_X(BETA0_Z) * SPEED_OF_LIGHT
- );
-
- par[position_] = pos;
- par[momentum_] = mom;
- par[multiMask_] = 1;
- par[localCellIdx_] = linearIdx;
- par[weighting_] = parWeighting;
-
-#if( ENABLE_RADIATION == 1 )
-# if( RAD_MARK_PARTICLE>1 ) || ( RAD_ACTIVATE_GAMMA_FILTER!=0 )
- par[radiationFlag_] = true;
-# endif
-#endif
- }
- }
-};
-
-template
-class ParticlesInitOneParticle
-{
-public:
-
- static void addOneParticle(ParticlesClass& parClass, MappingDesc cellDescription, DataSpace globalCell)
- {
-
- const SubGrid& subGrid = Environment::get().SubGrid();
- const DataSpace globalTopLeft = subGrid.getLocalDomain().offset;
- const DataSpace localSimulationArea = subGrid.getLocalDomain().size;
- DataSpace localParCell = globalCell - globalTopLeft;
-
-
- for (int i = 0; i < (int) simDim; ++i)
- {
- //chek if particle is in the simulation area
- if (localParCell[i] < 0 || localParCell[i] >= localSimulationArea[i])
- return;
- }
-
- //calculate supercell
- DataSpace localSuperCell = (localParCell / MappingDesc::SuperCellSize::toRT());
- DataSpace cellInSuperCell = localParCell - (localSuperCell * MappingDesc::SuperCellSize::toRT());
- //add garding blocks to supercell
- localSuperCell = localSuperCell + cellDescription.getGuardingSuperCells();
-
-
- PMACC_KERNEL(kernelAddOneParticle{})
- (1, 1)
- (parClass.getDeviceParticlesBox(),
- localSuperCell, cellInSuperCell);
-
- parClass.fillAllGaps();
-
- std::cout << "Wait for add particle" << std::endl;
- __getTransactionEvent().waitForFinished();
- }
-};
-}
-
-
-
diff --git a/examples/SingleParticleRadiationWithLaser/include/simulation_defines/extensionParam.loader b/examples/SingleParticleRadiationWithLaser/include/simulation_defines/extensionParam.loader
deleted file mode 100644
index b4c8bf4f2e..0000000000
--- a/examples/SingleParticleRadiationWithLaser/include/simulation_defines/extensionParam.loader
+++ /dev/null
@@ -1,23 +0,0 @@
-/**
- * Copyright 2013-2017 Rene Widera
- *
- * This file is part of PIConGPU.
- *
- * PIConGPU is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * PIConGPU is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with PIConGPU.
- * If not, see .
- */
-
-#pragma once
-
-#include "simulation_defines/param/testExtension.param"
diff --git a/examples/SingleParticleRadiationWithLaser/include/simulation_defines/extensionUnitless.loader b/examples/SingleParticleRadiationWithLaser/include/simulation_defines/extensionUnitless.loader
deleted file mode 100644
index da7491f9d1..0000000000
--- a/examples/SingleParticleRadiationWithLaser/include/simulation_defines/extensionUnitless.loader
+++ /dev/null
@@ -1,23 +0,0 @@
-/**
- * Copyright 2013-2017 Rene Widera
- *
- * This file is part of PIConGPU.
- *
- * PIConGPU is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * PIConGPU is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with PIConGPU.
- * If not, see .
- */
-
-#pragma once
-
-#include "simulation_defines/unitless/testExtension.unitless"
diff --git a/examples/SingleParticleRadiationWithLaser/include/simulation_defines/param/componentsConfig.param b/examples/SingleParticleRadiationWithLaser/include/simulation_defines/param/componentsConfig.param
deleted file mode 100644
index fa7062b36d..0000000000
--- a/examples/SingleParticleRadiationWithLaser/include/simulation_defines/param/componentsConfig.param
+++ /dev/null
@@ -1,57 +0,0 @@
-/**
- * Copyright 2013-2017 Axel Huebl, Anton Helm, Rene Widera, Richard Pausch
- *
- * This file is part of PIConGPU.
- *
- * PIConGPU is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * PIConGPU is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with PIConGPU.
- * If not, see .
- */
-
-
-
-#pragma once
-
-namespace picongpu
-{
-/** Simulation Starter ---------------------------------------------------
- * - radiationTest : unique starter for this test
- */
-namespace simulation_starter = radiationTest;
-
-/*! Laser Configuration --------------------------------------------------
- * - laserNone : no laser init
- * - laserGaussianBeam : Gaussian beam (focusing)
- * - laserPulseFrontTilt : Gaussian beam with a tilted pulse envelope
- * in 'x' direction
- * - laserWavepacket : wavepacket (Gaussian in time and space, not focusing)
- * - laserPlaneWave : a plane wave
- * - laserPolynom : a polynomial laser envelope
- */
-namespace laserProfile = laserPlaneWave;
-
-/*! Field Configuration --------------------------------------------------
- * - fieldSolverYee : standard Yee solver
- * - fieldSolverLehe: Num. Cherenkov free field solver in a chosen direction
- * - fieldSolverDirSplitting: Sentoku's Directional Splitting Method
- * - fieldSolverNone: disable the vacuum update of E and B
- *
- * * For development purposes: ---------------------------------------------
- * - fieldSolverYeeNative : generic version of fieldSolverYee
- * (need more shared memory per GPU and is slow)
- */
-namespace fieldSolver = fieldSolverYee;
-
-#define ENABLE_CURRENT 0
-
-}
diff --git a/examples/SingleParticleRadiationWithLaser/include/simulation_defines/param/dimension.param b/examples/SingleParticleRadiationWithLaser/include/simulation_defines/param/dimension.param
deleted file mode 100644
index 9a83401a0c..0000000000
--- a/examples/SingleParticleRadiationWithLaser/include/simulation_defines/param/dimension.param
+++ /dev/null
@@ -1,32 +0,0 @@
-/**
- * Copyright 2014-2017 Axel Huebl, Rene Widera, Richard Pausch
- *
- * This file is part of PIConGPU.
- *
- * PIConGPU is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * PIConGPU is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with PIConGPU.
- * If not, see .
- */
-
-#pragma once
-
-#ifndef PARAM_DIMENSION
-#define PARAM_DIMENSION DIM3
-#endif
-
-#define SIMDIM PARAM_DIMENSION
-
-namespace picongpu
-{
- constexpr uint32_t simDim = SIMDIM;
-} // namespace picongpu
diff --git a/examples/SingleParticleRadiationWithLaser/include/simulation_defines/param/gridConfig.param b/examples/SingleParticleRadiationWithLaser/include/simulation_defines/param/gridConfig.param
deleted file mode 100644
index 9c330c8717..0000000000
--- a/examples/SingleParticleRadiationWithLaser/include/simulation_defines/param/gridConfig.param
+++ /dev/null
@@ -1,89 +0,0 @@
-/**
- * Copyright 2013-2017 Rene Widera, Richard Pausch, Benjamin Worpitz
- *
- * This file is part of PIConGPU.
- *
- * PIConGPU is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * PIConGPU is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with PIConGPU.
- * If not, see .
- */
-
-
-
-#pragma once
-
-namespace picongpu
-{
-
- namespace SI
- {
- /** Duration of one timestep
- * unit: seconds */
- constexpr float_64 DELTA_T_SI = 1.66789e-17;
-
- /** equals X
- * unit: meter */
- constexpr float_64 CELL_WIDTH_SI = 0.16e-6;
- /** equals Y - the laser & moving window propagation direction
- * unit: meter */
- constexpr float_64 CELL_HEIGHT_SI = 0.20e-7;
- /** equals Z
- * unit: meter */
- constexpr float_64 CELL_DEPTH_SI = CELL_WIDTH_SI;
-
- /** Note on units in reduced dimensions
- *
- * In 2D3V simulations, the CELL_DEPTH_SI (Z) cell length
- * is still used for normalization of densities, etc.
- *
- * A 2D3V simulation in a cartesian PIC simulation such as
- * ours only changes the degrees of freedom in motion for
- * (macro) particles and all (field) information in z
- * travels instantaneous, making the 2D3V simulation
- * behave like the interaction of infinite "wire particles"
- * in fields with perfect symmetry in Z.
- */
- } //namespace SI
-
- //! Defines the size of the absorbing zone (in cells)
- const uint32_t ABSORBER_CELLS[3][2] = {
- {32, 32}, /*x direction [negative,positive]*/
- {32, 32}, /*y direction [negative,positive]*/
- {32, 32} /*z direction [negative,positive]*/
- }; //unit: number of cells
-
- //! Define the strength of the absorber for any direction
- const float_X ABSORBER_STRENGTH[3][2] = {
- {1.0e-3, 1.0e-3}, /*x direction [negative,positive]*/
- {1.0e-3, 1.0e-3}, /*y direction [negative,positive]*/
- {1.0e-3, 1.0e-3} /*z direction [negative,positive]*/
- }; //unit: none
-
- constexpr uint32_t ABSORBER_FADE_IN_STEPS = 16;
-
- /** When to move the co-moving window.
- * An initial pseudo particle, flying with the speed of light,
- * is fired at the begin of the simulation.
- * When it reaches slide_point % of the absolute(*) simulation area,
- * the co-moving window starts to move with the speed of light.
- *
- * (*) Note: beware, that there is one "hidden" row of gpus at the y-front,
- * when you use the co-moving window
- * 0.75 means only 75% of simulation area is used for real simulation
- */
- constexpr float_64 slide_point = 0.95;
-
-}
-
-
-
diff --git a/examples/SingleParticleRadiationWithLaser/include/simulation_defines/param/laserConfig.param b/examples/SingleParticleRadiationWithLaser/include/simulation_defines/param/laserConfig.param
deleted file mode 100644
index 803dff94a3..0000000000
--- a/examples/SingleParticleRadiationWithLaser/include/simulation_defines/param/laserConfig.param
+++ /dev/null
@@ -1,334 +0,0 @@
-/**
- * Copyright 2013-2017 Axel Huebl, Anton Helm, Rene Widera, Richard Pausch, Alexander Debus
- *
- * This file is part of PIConGPU.
- *
- * PIConGPU is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * PIConGPU is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with PIConGPU.
- * If not, see .
- */
-
-
-
-#pragma once
-
-
-namespace picongpu
-{
-namespace laserGaussianBeam
-{
-// Asymetric sinus used: starts with phase=0 at center --> E-field=0 at center
-namespace SI
-{
-/** unit: meter */
-constexpr float_64 WAVE_LENGTH_SI = 0.8e-6;
-
-/** UNITCONV */
-constexpr float_64 UNITCONV_A0_to_Amplitude_SI = -2.0 * PI / WAVE_LENGTH_SI * ::picongpu::SI::ELECTRON_MASS_SI * ::picongpu::SI::SPEED_OF_LIGHT_SI * ::picongpu::SI::SPEED_OF_LIGHT_SI / ::picongpu::SI::ELECTRON_CHARGE_SI;
-
-/** unit: W / m^2 */
-// calculate: _A0 = 8.549297e-6 * sqrt( Intensity[W/m^2] ) * wavelength[m] (linearly polarized)
-
-/** unit: none */
-//constexpr float_64 _A0 = 1.5;
-
-/** unit: Volt /meter */
-//constexpr float_64 AMPLITUDE_SI = _A0 * UNITCONV_A0_to_Amplitude_SI;
-
-/** unit: Volt /meter */
-constexpr float_64 AMPLITUDE_SI = 1.738e13;
-
-/** Pulse length: sigma of std. gauss for intensity (E^2)
- * PULSE_LENGTH_SI = FWHM_of_Intensity / [ 2*sqrt{ 2* ln(2) } ]
- * [ 2.354820045 ]
- * Info: FWHM_of_Intensity = FWHM_Illumination
- * = what a experimentalist calls "pulse duration"
- * unit: seconds (1 sigma) */
-constexpr float_64 PULSE_LENGTH_SI = 10.615e-15 / 4.0;
-
-/** beam waist: distance from the axis where the pulse intensity (E^2)
- * decreases to its 1/e^2-th part,
- * at the focus position of the laser
- * W0_SI = FWHM_of_Intensity / sqrt{ 2* ln(2) }
- * [ 1.17741 ]
- * unit: meter */
-constexpr float_64 W0_SI = 5.0e-6 / 1.17741;
-/** the distance to the laser focus in y-direction
- * unit: meter */
-constexpr float_64 FOCUS_POS_SI = 4.62e-5;
-}
-/** The laser pulse will be initialized PULSE_INIT times of the PULSE_LENGTH
- * unit: none */
-constexpr float_64 PULSE_INIT = 20.0;
-
-/* laser phase shift (no shift: 0.0) */
-constexpr float_X LASER_PHASE = 0.0; /* unit: rad, periodic in 2*pi */
-
-/* Use only the 0th Laguerremode for a standard Gaussian */
-constexpr uint32_t MODENUMBER = 0;
-PMACC_CONST_VECTOR(float_X, MODENUMBER + 1, LAGUERREMODES, 1.0);
-
-enum PolarisationType
-{
- LINEAR_X = 1u,
- LINEAR_Z = 2u,
- CIRCULAR = 4u,
-};
-constexpr PolarisationType Polarisation = CIRCULAR;
-}
-
-namespace laserPulseFrontTilt
-{
-// Asymetric sinus used: starts with phase=0 at center --> E-field=0 at center
-namespace SI
-{
-/** unit: meter */
-constexpr float_64 WAVE_LENGTH_SI = 0.8e-6;
-
-/** UNITCONV */
-constexpr float_64 UNITCONV_A0_to_Amplitude_SI = -2.0 * PI / WAVE_LENGTH_SI * ::picongpu::SI::ELECTRON_MASS_SI * ::picongpu::SI::SPEED_OF_LIGHT_SI * ::picongpu::SI::SPEED_OF_LIGHT_SI / ::picongpu::SI::ELECTRON_CHARGE_SI;
-
-/** unit: W / m^2 */
-// calculate: _A0 = 8.549297e-6 * sqrt( Intensity[W/m^2] ) * wavelength[m] (linearly polarized)
-
-/** unit: none */
-//constexpr float_64 _A0 = 1.5;
-
-/** unit: Volt /meter */
-//constexpr float_64 AMPLITUDE_SI = _A0 * UNITCONV_A0_to_Amplitude_SI;
-
-/** unit: Volt /meter */
-constexpr float_64 AMPLITUDE_SI = 1.738e13;
-
-/** Pulse length: sigma of std. gauss for intensity (E^2)
- * PULSE_LENGTH_SI = FWHM_of_Intensity / [ 2*sqrt{ 2* ln(2) } ]
- * [ 2.354820045 ]
- * Info: FWHM_of_Intensity = FWHM_Illumination
- * = what a experimentalist calls "pulse duration"
- * unit: seconds (1 sigma) */
-constexpr float_64 PULSE_LENGTH_SI = 10.615e-15 / 4.0;
-
-/** beam waist: distance from the axis where the pulse intensity (E^2)
- * decreases to its 1/e^2-th part,
- * at the focus position of the laser
- * W0_SI = FWHM_of_Intensity / sqrt{ 2* ln(2) }
- * [ 1.17741 ]
- * unit: meter */
-constexpr float_64 W0_SI = 5.0e-6 / 1.17741;
-
-/** the distance to the laser focus in y-direction
- * unit: meter */
-constexpr float_64 FOCUS_POS_SI = 4.62e-5;
-
-/** the tilt angle between laser propagation in y-direction and laser axis in
- * x-direction (0 degree == no tilt)
- * unit: degree */
-constexpr float_64 TILT_X_SI = 0;
-}
-/** The laser pulse will be initialized PULSE_INIT times of the PULSE_LENGTH
-* unit: none */
-constexpr float_64 PULSE_INIT = 20.0;
-
-/* laser phase shift (no shift: 0.0) */
-constexpr float_X LASER_PHASE = 0.0; /* unit: rad, periodic in 2*pi */
-
-enum PolarisationType
-{
- LINEAR_X = 1u,
- LINEAR_Z = 2u,
- CIRCULAR = 4u
-};
-constexpr PolarisationType Polarisation = LINEAR_X;
-}
-
-namespace laserPlaneWave
-{
-// NOT-symetric sinus used: starts with phase=0 --> E-field=0
-namespace SI
-{
-/** unit: meter */
-constexpr float_64 WAVE_LENGTH_SI = 0.8e-6;
-
-/** UNITCONV */
-constexpr float_64 UNITCONV_A0_to_Amplitude_SI = -2.0 * PI / WAVE_LENGTH_SI * ::picongpu::SI::ELECTRON_MASS_SI * ::picongpu::SI::SPEED_OF_LIGHT_SI * ::picongpu::SI::SPEED_OF_LIGHT_SI / ::picongpu::SI::ELECTRON_CHARGE_SI;
-
-/** unit: W / m^2 */
-// calculate: _A0 = 8.549297e-6 * sqrt( Intensity[W/m^2] ) * wavelength[m] (linearly polarized)
-
-/** unit: none */
-constexpr float_64 _A0 = 1.0;
-
-/** unit: Volt /meter */
-constexpr float_64 AMPLITUDE_SI = _A0 * UNITCONV_A0_to_Amplitude_SI;
-
-/** unit: Volt /meter */
-//constexpr float_64 AMPLITUDE_SI = 1.738e13;
-
-/** The profile of the test Lasers 0 and 2 can be stretched by a
- * constant area between the up and downramp
- * unit: seconds */
-constexpr float_64 LASER_NOFOCUS_CONSTANT_SI = /*13.34e-15;*/6.0 * WAVE_LENGTH_SI / ::picongpu::SI::SPEED_OF_LIGHT_SI;
-
-/** Pulse length: sigma of std. gauss for intensity (E^2)
- * PULSE_LENGTH_SI = FWHM_of_Intensity / [ 2*sqrt{ 2* ln(2) } ]
- * [ 2.354820045 ]
- * Info: FWHM_of_Intensity = FWHM_Illumination
- * = what a experimentalist calls "pulse duration"
- * unit: seconds (1 sigma) */
-constexpr float_64 PULSE_LENGTH_SI = 10.615e-15 / 4.0;
-
-}
-
-/** The laser pulse will be initialized half of PULSE_INIT times of the PULSE_LENGTH before and after the plateau
- * unit: none */
-constexpr float_64 RAMP_INIT = 20.6146;
-
-/* we use a sin(omega*time + laser_phase) function to set up the laser - define phase: */
-constexpr float_X LASER_PHASE = 0.0; /* unit: rad, periodic in 2*pi */
-
-enum PolarisationType
- {
- LINEAR_X = 1u,
- LINEAR_Z = 2u,
- CIRCULAR = 4u,
- };
-constexpr PolarisationType Polarisation = LINEAR_X;
-}
-
-namespace laserWavepacket
-{
-// Asymetric sinus used: starts with phase=0 at center --> E-field=0 at center
-namespace SI
-{
-/** unit: meter */
-constexpr float_64 WAVE_LENGTH_SI = 0.8e-6;
-
-/** UNITCONV */
-constexpr float_64 UNITCONV_A0_to_Amplitude_SI = -2.0 * PI / WAVE_LENGTH_SI * ::picongpu::SI::ELECTRON_MASS_SI * ::picongpu::SI::SPEED_OF_LIGHT_SI * ::picongpu::SI::SPEED_OF_LIGHT_SI / ::picongpu::SI::ELECTRON_CHARGE_SI;
-
-/** unit: W / m^2 */
-// calculate: _A0 = 8.549297e-6 * sqrt( Intensity[W/m^2] ) * wavelength[m] (linearly polarized)
-
-/** unit: none */
-//constexpr float_64 _A0 = 3.9;
-
-/** unit: Volt /meter */
-//constexpr float_64 AMPLITUDE_SI = _A0 * UNITCONV_A0_to_Amplitude_SI;
-
-/** unit: Volt /meter */
-constexpr float_64 AMPLITUDE_SI = 1.738e13;
-
-/** The profile of the test Lasers 0 and 2 can be stretched by a
- * constant area between the up and downramp
- * unit: seconds */
-constexpr float_64 LASER_NOFOCUS_CONSTANT_SI = 7.0 * WAVE_LENGTH_SI / ::picongpu::SI::SPEED_OF_LIGHT_SI;
-
-/** Pulse length: sigma of std. gauss for intensity (E^2)
- * PULSE_LENGTH_SI = FWHM_of_Intensity / [ 2*sqrt{ 2* ln(2) } ]
- * [ 2.354820045 ]
- * Info: FWHM_of_Intensity = FWHM_Illumination
- * = what a experimentalist calls "pulse duration"
- * unit: seconds (1 sigma) */
-constexpr float_64 PULSE_LENGTH_SI = 10.615e-15 / 4.0;
-
-/** beam waist: distance from the axis where the pulse intensity (E^2)
- * decreases to its 1/e^2-th part,
- * WO_X_SI is this distance in x-direction
- * W0_Z_SI is this distance in z-direction
- * if both values are equal, the laser has a circular shape in x-z
- * W0_SI = FWHM_of_Intensity / sqrt{ 2* ln(2) }
- * [ 1.17741 ]
- * unit: meter */
-constexpr float_64 W0_X_SI = 4.246e-6;
-constexpr float_64 W0_Z_SI = W0_X_SI;
-}
-/** The laser pulse will be initialized half of PULSE_INIT times of the PULSE_LENGTH before plateau
- and half at the end of the plateau
- * unit: none */
-constexpr float_64 RAMP_INIT = 20.0;
-
-/* we use a sin(omega*time + laser_phase) function to set up the laser - define phase: */
-constexpr float_X LASER_PHASE = 0.0; /* unit: rad, periodic in 2*pi */
-
-enum PolarisationType
-{
- LINEAR_X = 1u,
- LINEAR_Z = 2u,
- CIRCULAR = 4u,
-};
-constexpr PolarisationType Polarisation = LINEAR_X;
-}
-
-
-namespace laserPolynom
-{
-// Asymetric sinus used: starts with phase=0 at center --> E-field=0 at center
-namespace SI
-{
-/** unit: meter */
-constexpr float_64 WAVE_LENGTH_SI = 0.8e-6;
-
-/** UNITCONV */
-constexpr float_64 UNITCONV_A0_to_Amplitude_SI = -2.0 * PI / WAVE_LENGTH_SI * ::picongpu::SI::ELECTRON_MASS_SI * ::picongpu::SI::SPEED_OF_LIGHT_SI * ::picongpu::SI::SPEED_OF_LIGHT_SI / ::picongpu::SI::ELECTRON_CHARGE_SI;
-
-/** unit: W / m^2 */
-// calculate: _A0 = 8.549297e-6 * sqrt( Intensity[W/m^2] ) * wavelength[m] (linearly polarized)
-
-/** unit: none */
-//constexpr float_64 _A0 = 3.9;
-
-/** unit: Volt /meter */
-//constexpr float_64 AMPLITUDE_SI = _A0 * UNITCONV_A0_to_Amplitude_SI;
-
-/** unit: Volt /meter */
-constexpr float_64 AMPLITUDE_SI = 1.738e13;
-
-
-/** Pulse length:
- * PULSE_LENGTH_SI = total length of polynamial laser pulse
- * Rise time = 0.5 * PULSE_LENGTH_SI
- * Fall time = 0.5 * PULSE_LENGTH_SI
- * in order to compare to a gaussian pulse: rise time = sqrt{2} * T_{FWHM}
- * unit: seconds */
-constexpr float_64 PULSE_LENGTH_SI = 4.0e-15;
-
-/** beam waist: distance from the axis where the pulse intensity (E^2)
- * decreases to its 1/e^2-th part,
- * at the focus position of the laser
- * unit: meter */
-constexpr float_64 W0x_SI = 4.246e-6; // waist in x-direction
-constexpr float_64 W0z_SI = W0x_SI; // waist in z-direction
-}
-
-/* we use a sin(omega*(time-riseTime) + laser_phase) function to set up the laser - define phase: */
-constexpr float_X LASER_PHASE = 0.0; /* unit: rad, periodic in 2*pi */
-}
-
-namespace laserNone
-{
-namespace SI
-{
-/** unit: meter */
-constexpr float_64 WAVE_LENGTH_SI = 0.0;
-
-/** unit: Volt /meter */
-constexpr float_64 AMPLITUDE_SI = 0.0;
-
-constexpr float_64 PULSE_LENGTH_SI = 0.0;
-}
-}
-
-}
-
-
-
diff --git a/examples/SingleParticleRadiationWithLaser/include/simulation_defines/param/particleConfig.param b/examples/SingleParticleRadiationWithLaser/include/simulation_defines/param/particleConfig.param
deleted file mode 100644
index a44147615d..0000000000
--- a/examples/SingleParticleRadiationWithLaser/include/simulation_defines/param/particleConfig.param
+++ /dev/null
@@ -1,45 +0,0 @@
-/**
- * Copyright 2013-2017 Axel Huebl, Rene Widera
- *
- * This file is part of PIConGPU.
- *
- * PIConGPU is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * PIConGPU is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with PIConGPU.
- * If not, see .
- */
-
-
-
-#pragma once
-
-#include "particles/startPosition/functors.def"
-#include "particles/manipulators/manipulators.def"
-#include "nvidia/functors/Add.hpp"
-#include "nvidia/functors/Assign.hpp"
-
-namespace picongpu
-{
-
-namespace particles
-{
-
- /** a particle with a weighting below MIN_WEIGHTING will not
- * be created / will be deleted
- * unit: none */
- constexpr float_X MIN_WEIGHTING = 1.0;
-
- constexpr uint32_t TYPICAL_PARTICLES_PER_CELL = 1;
-
-} //namespace particles
-
-} //namespac picongpu
diff --git a/examples/SingleParticleRadiationWithLaser/include/simulation_defines/param/radiationConfig.param b/examples/SingleParticleRadiationWithLaser/include/simulation_defines/param/radiationConfig.param
deleted file mode 100644
index 38dc73a1ca..0000000000
--- a/examples/SingleParticleRadiationWithLaser/include/simulation_defines/param/radiationConfig.param
+++ /dev/null
@@ -1,158 +0,0 @@
-/**
- * Copyright 2013-2017 Rene Widera, Richard Pausch
- *
- * This file is part of PIConGPU.
- *
- * PIConGPU is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * PIConGPU is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with PIConGPU.
- * If not, see .
- */
-
-
-
-#pragma once
-
- /*
- radiation verbose level:
- 0=nothing, 1=physics, 2=simulation_state, 4=memory, 8=critical
- */
-
-#define PIC_VERBOSE_RADIATION 3
-
-#include "plugins/radiation/parameters.hpp"
-#include "plugins/radiation/debug/PIConGPUVerboseLogRadiation.hpp"
-
-namespace picongpu
-{
-namespace rad_linear_frequencies
-{
-namespace SI
-{
-constexpr float_64 omega_min = 0.0;
-constexpr float_64 omega_max = 5.8869e17;
-}
-
-constexpr unsigned int N_omega = 2048; // number of frequencies
-}
-
-namespace rad_log_frequencies
-{
-namespace SI
-{
-constexpr float_64 omega_min = 1.0e14;
-constexpr float_64 omega_max = 1.0e17;
-}
-
-constexpr unsigned int N_omega = 2048; // number of frequencies
-}
-
-
-namespace rad_frequencies_from_list
-{
-//constexpr char listLocation[] = "/scratch/s5960712/list001.freq";
-constexpr unsigned int N_omega = 2048; // number of frequencies
-}
-
-
-namespace radiation_frequencies = rad_linear_frequencies;
-
-
-namespace radiationNyquist
-{
- constexpr float_32 NyquistFactor = 0.5;
-}
-
-
-///////////////////////////////////////////////////
-
-
- // corect treatment of coherent and incoherent radiation from macroparticles
- // 1 = on (slower and more memory, but correct quantitativ treatment)
- // 0 = off (faster but macroparticles are treated as highly charged, point-like particle)
-#define __COHERENTINCOHERENTWEIGHTING__ 1
-
- /* Choose different form factors in order to consider different particle shapes for radiation
- * - radFormFactor_CIC_3D ... CIC charge distribution
- * - radFormFactor_TSC_3D ... TSC charge distribution
- * - radFormFactor_PCS_3D ... PCS charge distribution
- * - radFormFactor_CIC_1Dy ... only CIC charge distribution in y
- * - radFormFactor_Gauss_spherical ... symmetric Gauss charge distribution
- * - radFormFactor_Gauss_cell ... Gauss charge distribution according to cell size
- * - radFormFactor_incoherent ... only incoherent radiation
- */
- namespace radFormFactor_CIC_3D { }
- namespace radFormFactor_TSC_3D { }
- namespace radFormFactor_PCS_3D { }
- namespace radFormFactor_CIC_1Dy { }
- namespace radFormFactor_Gauss_spherical { }
- namespace radFormFactor_Gauss_cell { }
- namespace radFormFactor_incoherent { }
-
- namespace radFormFactor = radFormFactor_Gauss_spherical;
-
-
-///////////////////////////////////////////////////////////
-
-
-namespace parameters
-{
-/*!enable radiation calculation*/
-#define ENABLE_RADIATION 1
-
-// Nyquist low pass allows only amplitudes for frequencies below Nyquist frequency
-// 1 = on (slower and more memory, no fourier reflections)
-// 0 = off (faster but with fourier reflections)
-#define __NYQUISTCHECK__ 1
-
-
-
-//marked every N particle for calculate radiation
-//mark no particle at beginning
-#define RAD_MARK_PARTICLE 1
-
-//disable or enable gamme filter
-//diable (0) / enable (1)
-#define RAD_ACTIVATE_GAMMA_FILTER 0
-
-constexpr float_32 RadiationGamma = 5.;
-
-constexpr unsigned int N_observer = 128; // number of looking directions
-
-
-
-} /* end namespace parameters */
-
-//////////////////////////////////////////////////
-
-
-// add a window function weighting to the radiation in order
-// to avoid ringing effects from sharpe boundaries
-// default: no window function via `radWindowFunctionNone`
-
-/* Choose different window function in order to get better ringing reduction
- * radWindowFunctionTriangle
- * radWindowFunctionHamming
- * radWindowFunctionTriplett
- * radWindowFunctionGauss
- * radWindowFunctionNone
- */
-namespace radWindowFunctionTriangle { }
-namespace radWindowFunctionHamming { }
-namespace radWindowFunctionTriplett { }
-namespace radWindowFunctionGauss { }
-namespace radWindowFunctionNone { }
-
-namespace radWindowFunction = radWindowFunctionNone;
-
-
-}//namespace picongpu
diff --git a/examples/SingleParticleRadiationWithLaser/include/simulation_defines/param/radiationObserver.param b/examples/SingleParticleRadiationWithLaser/include/simulation_defines/param/radiationObserver.param
deleted file mode 100644
index fa6c1ed75c..0000000000
--- a/examples/SingleParticleRadiationWithLaser/include/simulation_defines/param/radiationObserver.param
+++ /dev/null
@@ -1,77 +0,0 @@
-/**
- * Copyright 2013-2017 Heiko Burau, Richard Pausch
- *
- * This file is part of PIConGPU.
- *
- * PIConGPU is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * PIConGPU is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with PIConGPU.
- * If not, see .
- */
-
-
-#pragma once
-
-namespace picongpu
-{
- namespace radiation_observer
- {
- /** Compute observation angles
- *
- * This function is used in the Radiation plug-in kernel to compute
- * the observation directions given as a unit vector pointing
- * towards a 'virtual' detector
- *
- * @param observation_id_extern
- * int index that identifies each block on the GPU
- * to compute the observation direction
- *
- * @return unit vector pointing in observation direction
- * type: vector_64
- *
- */
- HDINLINE vector_64 observation_direction(const int observation_id_extern)
- {
- /** Computes observation angles along the x-y plane.
- * Assuming electron(s) fly in -x direction and the laser
- * propages in +x direction, the observation angles are centered
- * around the -y-axis (0,-1,0) .
- * By setting gamma, the angle range can be adjusted to the
- * energy of the electrons.
- */
-
-
- /* in this case only one id is needed: an index for theta */
- const int my_theta_id = observation_id_extern;
-
- /* set up: */
- constexpr picongpu::float_64 gamma_times_thetaMax = 1.5; /* max normalized angle */
- constexpr picongpu::float_64 gamma = 5.0; /* relativistic gamma */
- constexpr picongpu::float_64 thetaMax = gamma_times_thetaMax / gamma; /* max angle */
-
- /* stepwith of theta for from [-thetaMax : +thetaMax] */
- constexpr picongpu::float_64 delta_theta = 2.0 * thetaMax / (parameters::N_observer);
-
- /* compute angle theta for index */
- const picongpu::float_64 theta(my_theta_id * delta_theta - thetaMax + picongpu::PI);
- /* + picongpu::PI -> turn observation direction 180 degrees towards -y */
-
- /* compute observation unit vector */
- picongpu::float_32 sinTheta;
- picongpu::float_32 cosTheta;
- math::sincos(precisionCast(theta), sinTheta, cosTheta);
- return vector_64(sinTheta, cosTheta, 0.0);
-
- }
-
- } // end namespace radiation_observer
-} // end namespace picongpu
diff --git a/examples/SingleParticleRadiationWithLaser/include/simulation_defines/param/species.param b/examples/SingleParticleRadiationWithLaser/include/simulation_defines/param/species.param
deleted file mode 100644
index fecc18268e..0000000000
--- a/examples/SingleParticleRadiationWithLaser/include/simulation_defines/param/species.param
+++ /dev/null
@@ -1,85 +0,0 @@
-/**
- * Copyright 2014-2017 Rene Widera, Richard Pausch
- *
- * This file is part of PIConGPU.
- *
- * PIConGPU is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * PIConGPU is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with PIConGPU.
- * If not, see .
- */
-
-
-
-#pragma once
-
-#include "particles/shapes.hpp"
-#include "algorithms/FieldToParticleInterpolationNative.hpp"
-#include "algorithms/FieldToParticleInterpolation.hpp"
-#include "algorithms/AssignedTrilinearInterpolation.hpp"
-#include "particles/shapes.hpp"
-
-#include "fields/currentDeposition/Solver.def"
-
-
-/*enable (1) or disable (0) electrons*/
-#define ENABLE_ELECTRONS 1
-/*enable (1) or disable (0) ions*/
-#define ENABLE_IONS 0
-
-
-namespace picongpu
-{
-/*---------------------------- generic solver---------------------------------*/
-
-/*! Particle Shape definitions -------------------------------------------------
- * - particles::shapes::CIC : 1st order
- * - particles::shapes::TSC : 2nd order
- * - particles::shapes::PCS : 3rd order
- * - particles::shapes::P4S : 4th order
- *
- * example: typedef particles::shapes::CIC CICShape;
- */
-typedef particles::shapes::CIC UsedParticleShape;
-
-/* define which interpolation method is used to interpolate fields to particle*/
-typedef FieldToParticleInterpolation UsedField2Particle;
-
-/*! select current solver method -----------------------------------------------
- * - currentSolver::Esirkepov : particle shapes - CIC, TSC, PCS, P4S (1st to 4th order)
- * - currentSolver::VillaBune<> : particle shapes - CIC (1st order) only
- *
- * For development purposes: ---------------------------------------------------
- * - currentSolver::EsirkepovNative : generic version of currentSolverEsirkepov
- * without optimization (~4x slower and needs more shared memory)
- * - currentSolver::ZigZag : particle shapes - CIC, TSC, PCS, P4S (1st to 4th order)
- */
-typedef currentSolver::Esirkepov UsedParticleCurrentSolver;
-
-/*! particle pusher configuration ----------------------------------------------
- *
- * Define a pusher is optional for particles
- *
- * - particles::pusher::Vay : better suited relativistic boris pusher
- * - particles::pusher::Boris : standard boris pusher
- * - particles::pusher::ReducedLandauLifshitz : 4th order RungeKutta pusher
- * with classical radiation reaction
- *
- * For development purposes: ---------------------------------------------------
- * - particles::pusher::Axel : a pusher developed at HZDR during 2011 (testing)
- * - particles::pusher::Free : free propagation, ignore fields
- * (= free stream model)
- * - particles::pusher::Photon : propagate with c in direction of normalized mom.
- */
-typedef particles::pusher::Boris UsedParticlePusher;
-
-}//namespace picongpu
diff --git a/examples/SingleParticleRadiationWithLaser/include/simulation_defines/param/starter.param b/examples/SingleParticleRadiationWithLaser/include/simulation_defines/param/starter.param
deleted file mode 100644
index 1df81e13a6..0000000000
--- a/examples/SingleParticleRadiationWithLaser/include/simulation_defines/param/starter.param
+++ /dev/null
@@ -1,36 +0,0 @@
-/**
- * Copyright 2013-2017 Rene Widera
- *
- * This file is part of PIConGPU.
- *
- * PIConGPU is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * PIConGPU is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with PIConGPU.
- * If not, see .
- */
-
-
-
-#pragma once
-
-
-namespace picongpu
-{
-
- namespace radiationTest
- {
-
- }
-}
-
-
-
diff --git a/examples/SingleParticleRadiationWithLaser/include/simulation_defines/param/testExtension.param b/examples/SingleParticleRadiationWithLaser/include/simulation_defines/param/testExtension.param
deleted file mode 100644
index fb128bbcb0..0000000000
--- a/examples/SingleParticleRadiationWithLaser/include/simulation_defines/param/testExtension.param
+++ /dev/null
@@ -1,44 +0,0 @@
-/**
- * Copyright 2013-2017 Rene Widera, Richard Pausch
- *
- * This file is part of PIConGPU.
- *
- * PIConGPU is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * PIConGPU is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with PIConGPU.
- * If not, see .
- */
-
-
-
-#pragma once
-
-namespace picongpu
-{
- // Init Beta = v/c for the Electron
- constexpr float_64 BETA0_X = 0.0; //unit: none
- constexpr float_64 BETA0_Y = -0.9797958971; /* gamma=5 */ //unit: none
- constexpr float_64 BETA0_Z = 0.0; //unit: none
-
- // Constant Background Fields
- constexpr float_64 E_X_SI = 0.0; //unit: Volt /meter
- constexpr float_64 E_Y_SI = 0.0; //-1.0e13; //unit: Volt /meter
- constexpr float_64 E_Z_SI = 0.0; //unit: Volt /meter
-
- constexpr float_64 B_X_SI = 0.0; //unit: Tesla = Vs/m^2
- constexpr float_64 B_Y_SI = 0.0; //unit: Tesla = Vs/m^2
- constexpr float_64 B_Z_SI = 0.0; //unit: Tesla = Vs/m^2
-
- // Offset of particle in cells
- constexpr unsigned int OneParticleOffset = 1000;
-}
-
diff --git a/examples/SingleParticleRadiationWithLaser/include/simulation_defines/param/visColorScales.param b/examples/SingleParticleRadiationWithLaser/include/simulation_defines/param/visColorScales.param
deleted file mode 100644
index 16d414ef16..0000000000
--- a/examples/SingleParticleRadiationWithLaser/include/simulation_defines/param/visColorScales.param
+++ /dev/null
@@ -1,117 +0,0 @@
-/**
- * Copyright 2013-2017 Axel Huebl, Heiko Burau, Rene Widera
- *
- * This file is part of PIConGPU.
- *
- * PIConGPU is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * PIConGPU is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with PIConGPU.
- * If not, see .
- */
-
-
-
-#pragma once
-
-#include "basicOperations.hpp"
-
-namespace picongpu
-{
- namespace colorScales
- {
- namespace none
- {
- HDINLINE void addRGB( const float3_X&,
- const float_X,
- const float_X )
- {
- return;
- }
- }
-
- namespace gray
- {
- HDINLINE void addRGB( float3_X& img,
- const float_X value,
- const float_X opacity )
- {
- const float3_X myChannel( 1.0, 1.0, 1.0 );
- img = img
- - opacity * float3_X( myChannel.x() * img.x(),
- myChannel.y() * img.y(),
- myChannel.z() * img.z() )
- + myChannel * value * opacity;
- }
- }
-
- namespace grayInv
- {
- HDINLINE void addRGB( float3_X& img,
- const float_X value,
- const float_X opacity )
- {
- const float3_X myChannel( 1.0, 1.0, 1.0 );
- img = img
- - opacity * float3_X( myChannel.x() * img.x(),
- myChannel.y() * img.y(),
- myChannel.z() * img.z() )
- + myChannel * (float_X(1.0) - value ) * opacity;
- }
- }
-
- namespace red
- {
- HDINLINE void addRGB( float3_X& img,
- const float_X value,
- const float_X opacity )
- {
- const float3_X myChannel( 1.0, 0.0, 0.0 );
- img = img
- - opacity * float3_X( myChannel.x() * img.x(),
- myChannel.y() * img.y(),
- myChannel.z() * img.z() )
- + myChannel * value * opacity;
- }
- }
-
- namespace green
- {
- HDINLINE void addRGB( float3_X& img,
- const float_X value,
- const float_X opacity )
- {
- const float3_X myChannel( 0.0, 1.0, 0.0 );
- img = img
- - opacity * float3_X( myChannel.x() * img.x(),
- myChannel.y() * img.y(),
- myChannel.z() * img.z() )
- + myChannel * value * opacity;
- }
- }
-
- namespace blue
- {
- HDINLINE void addRGB( float3_X& img,
- const float_X value,
- const float_X opacity )
- {
- const float3_X myChannel( 0.0, 0.0, 1.0 );
- img = img
- - opacity * float3_X( myChannel.x() * img.x(),
- myChannel.y() * img.y(),
- myChannel.z() * img.z() )
- + myChannel * value * opacity;
- }
- }
-
- }
-}
diff --git a/examples/SingleParticleRadiationWithLaser/include/simulation_defines/param/visualization.param b/examples/SingleParticleRadiationWithLaser/include/simulation_defines/param/visualization.param
deleted file mode 100644
index 2496d88c80..0000000000
--- a/examples/SingleParticleRadiationWithLaser/include/simulation_defines/param/visualization.param
+++ /dev/null
@@ -1,83 +0,0 @@
-/**
- * Copyright 2013-2017 Axel Huebl, Heiko Burau, Rene Widera, Richard Pausch
- *
- * This file is part of PIConGPU.
- *
- * PIConGPU is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * PIConGPU is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with PIConGPU.
- * If not, see .
- */
-
-
-#pragma once
-
-#include
-#include "basicOperations.hpp"
-
-namespace picongpu
-{
-/*scale image before write to file, only scale if value is not 1.0
- */
-constexpr float_64 scale_image = 1.0;
-
-/*if true image is scaled if cellsize is not quadratic, else no scale*/
-constexpr bool scale_to_cellsize = true;
-
-constexpr bool white_box_per_GPU = false;
-
-namespace visPreview
-{
-// normalize EM fields to typical laser or plasma quantities
-//-1: Auto: enable adaptive scaling for each output
-// 1: Laser: typical fields calculated out of the laser amplitude
-// 2: Drift: typical fields caused by a drifting plasma
-// 3: PlWave: typical fields calculated out of the plasma freq.,
-// assuming the wave moves approx. with c
-// 4: Thermal: typical fields calculated out of the electron temperature
-// 5: BlowOut: typical fields, assuming that a LWFA in the blowout
-// regime causes a bubble with radius of approx. the laser's
-// beam waist (use for bubble fields)
-#define EM_FIELD_SCALE_CHANNEL1 -1
-#define EM_FIELD_SCALE_CHANNEL2 -1
-#define EM_FIELD_SCALE_CHANNEL3 -1
-
-// multiply highest undisturbed particle density with factor
-constexpr float_X preParticleDens_opacity = 1.0;
-constexpr float_X preChannel1_opacity = 1.0;
-constexpr float_X preChannel2_opacity = 1.0;
-constexpr float_X preChannel3_opacity = 1.0;
-
-// specify color scales for each channel
-namespace preParticleDensCol = colorScales::red;
-namespace preChannel1Col = colorScales::none;
-namespace preChannel2Col = colorScales::green;
-namespace preChannel3Col = colorScales::none;
-
-/* png preview and liveview settings for each channel */
-DINLINE float_X preChannel1(const float3_X& field_B, const float3_X& field_E, const float3_X& field_J)
-{
- return math::abs2(field_J);
-}
-
-DINLINE float_X preChannel2(const float3_X& field_B, const float3_X& field_E, const float3_X& field_J)
-{
- return field_E.x() * field_E.x();
-}
-
-DINLINE float_X preChannel3(const float3_X& field_B, const float3_X& field_E, const float3_X& field_J)
-{
- return -float_X(1.0) * field_E.y();
-}
-}
-}
-
diff --git a/examples/SingleParticleRadiationWithLaser/include/simulation_defines/unitless/physicalConstants.unitless b/examples/SingleParticleRadiationWithLaser/include/simulation_defines/unitless/physicalConstants.unitless
deleted file mode 100644
index 596d645cb5..0000000000
--- a/examples/SingleParticleRadiationWithLaser/include/simulation_defines/unitless/physicalConstants.unitless
+++ /dev/null
@@ -1,80 +0,0 @@
-/**
- * Copyright 2013-2017 Axel Huebl, Rene Widera, Marco Garten, Heiko Burau
- *
- * This file is part of PIConGPU.
- *
- * PIConGPU is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * PIConGPU is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with PIConGPU.
- * If not, see .
- */
-
-
-#pragma once
-
-namespace picongpu
-{
- /** Unit of Speed */
- constexpr float_64 UNIT_SPEED = SI::SPEED_OF_LIGHT_SI;
- /** Unit of time */
- constexpr float_64 UNIT_TIME = SI::DELTA_T_SI;
- /** Unit of length */
- constexpr float_64 UNIT_LENGTH = UNIT_TIME*UNIT_SPEED;
-
- namespace particles
- {
- /** Number of electrons per particle (= macro particle weighting)
- * unit: none */
- constexpr float_X TYPICAL_NUM_PARTICLES_PER_MACROPARTICLE = 1;
-
- }
-
- /** Unit of mass */
- constexpr float_64 UNIT_MASS = SI::ELECTRON_MASS_SI * double(particles::TYPICAL_NUM_PARTICLES_PER_MACROPARTICLE);
- /** Unit of charge */
- constexpr float_64 UNIT_CHARGE = -1.0 * SI::ELECTRON_CHARGE_SI * double(particles::TYPICAL_NUM_PARTICLES_PER_MACROPARTICLE);
- /** Unit of energy */
- constexpr float_64 UNIT_ENERGY = (UNIT_MASS * UNIT_LENGTH * UNIT_LENGTH / (UNIT_TIME * UNIT_TIME));
- /** Unit of EField: V/m */
- constexpr float_64 UNIT_EFIELD = 1.0 / (UNIT_TIME * UNIT_TIME / UNIT_MASS / UNIT_LENGTH * UNIT_CHARGE);
- //** Unit of BField: Tesla [T] = Vs/m^2 */
- constexpr float_64 UNIT_BFIELD = (UNIT_MASS / (UNIT_TIME * UNIT_CHARGE));
-
-
-
-
- constexpr float_X SPEED_OF_LIGHT = float_X(SI::SPEED_OF_LIGHT_SI / UNIT_SPEED);
-
- //! reduced Planck constant
- constexpr float_X HBAR = (float_X) (SI::HBAR_SI / UNIT_ENERGY / UNIT_TIME);
-
- //! Charge of electron
- constexpr float_X ELECTRON_CHARGE = (float_X) (SI::ELECTRON_CHARGE_SI / UNIT_CHARGE);
- //! Mass of electron
- constexpr float_X ELECTRON_MASS = (float_X) (SI::ELECTRON_MASS_SI / UNIT_MASS);
-
- //! magnetic constant must be double 3.92907e-39
- constexpr float_X MUE0 = (float_X) (SI::MUE0_SI / UNIT_LENGTH / UNIT_MASS * UNIT_CHARGE * UNIT_CHARGE);
-
- //! electric constant must be double 2.54513e+38
- constexpr float_X EPS0 = (float_X) (1. / MUE0 / SPEED_OF_LIGHT / SPEED_OF_LIGHT);
-
- // = 1/c^2
- constexpr float_X MUE0_EPS0 = float_X(1. / SPEED_OF_LIGHT / SPEED_OF_LIGHT);
-
- /* Atomic unit of electric field in PIC Efield units */
- constexpr float_X ATOMIC_UNIT_EFIELD = float_X(SI::ATOMIC_UNIT_EFIELD / UNIT_EFIELD);
-
- /* Atomic unit of time in PIC units */
- constexpr float_X ATOMIC_UNIT_TIME = float_X(SI::ATOMIC_UNIT_TIME / UNIT_TIME);
-
-} //namespace picongpu
diff --git a/examples/SingleParticleRadiationWithLaser/include/simulation_defines/unitless/starter.unitless b/examples/SingleParticleRadiationWithLaser/include/simulation_defines/unitless/starter.unitless
deleted file mode 100644
index c9896c2c96..0000000000
--- a/examples/SingleParticleRadiationWithLaser/include/simulation_defines/unitless/starter.unitless
+++ /dev/null
@@ -1,44 +0,0 @@
-/**
- * Copyright 2013-2017 Rene Widera
- *
- * This file is part of PIConGPU.
- *
- * PIConGPU is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * PIConGPU is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with PIConGPU.
- * If not, see .
- */
-
-
-
-#pragma once
-
-#include "plugins/PluginController.hpp"
-#include "initialization/InitPluginNone.hpp"
-#include "OneParticleSimulation.hpp"
-#include "simulationControl/SimulationStarter.hpp"
-
-namespace picongpu
-{
- using namespace PMacc;
-
-
- namespace radiationTest
- {
- typedef ::picongpu::SimulationStarter
- <
- ::picongpu::InitPluginNone,
- ::picongpu::PluginController,
- ::picongpu::OneParticleSimulation
- > SimStarter;
- }
-}
diff --git a/examples/SingleParticleRadiationWithLaser/include/simulation_defines/unitless/testExtension.unitless b/examples/SingleParticleRadiationWithLaser/include/simulation_defines/unitless/testExtension.unitless
deleted file mode 100644
index cb42541300..0000000000
--- a/examples/SingleParticleRadiationWithLaser/include/simulation_defines/unitless/testExtension.unitless
+++ /dev/null
@@ -1,37 +0,0 @@
-/**
- * Copyright 2013-2017 Rene Widera
- *
- * This file is part of PIConGPU.
- *
- * PIConGPU is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * PIConGPU is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with PIConGPU.
- * If not, see .
- */
-
-
-
-#pragma once
-
-namespace picongpu
-{
- // Constant Background Fields
- constexpr float_X E_X = float_X( E_X_SI / UNIT_EFIELD); //unit: Volt /meter
- constexpr float_X E_Y = float_X( E_Y_SI / UNIT_EFIELD); //unit: Volt /meter
- constexpr float_X E_Z = float_X( E_Z_SI / UNIT_EFIELD); //unit: Volt /meter
-
- constexpr float_X B_X = float_X( B_X_SI / UNIT_BFIELD); //unit: Tesla = Vs/m^2
- constexpr float_X B_Y = float_X( B_Y_SI / UNIT_BFIELD); //unit: Tesla = Vs/m^2
- constexpr float_X B_Z = float_X( B_Z_SI / UNIT_BFIELD); //unit: Tesla = Vs/m^2
-}
-
-
diff --git a/examples/SingleParticleRadiationWithLaser/submit/0008gpus.cfg b/examples/SingleParticleRadiationWithLaser/submit/0008gpus.cfg
deleted file mode 100644
index f203668421..0000000000
--- a/examples/SingleParticleRadiationWithLaser/submit/0008gpus.cfg
+++ /dev/null
@@ -1,74 +0,0 @@
-# Copyright 2013-2017 Rene Widera, Felix Schmitt, Axel Huebl
-#
-# This file is part of PIConGPU.
-#
-# PIConGPU is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# PIConGPU is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with PIConGPU.
-# If not, see .
-#
-
-##
-## This configuration file is used by PIConGPU's TBG tool to create a
-## batch script for PIConGPU runs. For a detailed description of PIConGPU
-## configuration files including all available variables, see
-##
-## doc/TBG_macros.cfg
-##
-
-
-#################################
-## Section: Required Variables ##
-#################################
-
-TBG_wallTime="1:00:00"
-
-TBG_gpu_x=1
-TBG_gpu_y=8
-TBG_gpu_z=1
-
-TBG_gridSize="-g 128 1024 64"
-TBG_steps="-s 4000"
-
-TBG_periodic="--periodic 1 0 1"
-
-#################################
-## Section: Optional Variables ##
-#################################
-
-TBG_pngYZ="--e_png.period 10 --e_png.axis yz --e_png.slicePoint 0.5 --e_png.folder pngElectronsYZ"
-TBG_pngYX="--e_png.period 10 --e_png.axis yx --e_png.slicePoint 0.5 --e_png.folder pngElectronsYX"
-
-TBG_radiation="--e_radiation.period 1 --e_radiation.dump 40 --e_radiation.totalRadiation"
-
-TBG_plugins="!TBG_pngYX \
- !TBG_pngYZ \
- --e_macroParticlesCount.period 100 \
- !TBG_radiation \
- --e_position.period 1"
-
-#################################
-## Section: Program Parameters ##
-#################################
-
-TBG_devices="-d !TBG_gpu_x !TBG_gpu_y !TBG_gpu_z"
-
-TBG_programParams="!TBG_devices \
- !TBG_gridSize \
- !TBG_steps \
- !TBG_periodic \
- !TBG_plugins"
-
-# TOTAL number of GPUs
-TBG_tasks="$(( TBG_gpu_x * TBG_gpu_y * TBG_gpu_z ))"
-
-"$TBG_cfgPath"/submitAction.sh