aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Luca Fedeli <luca.fedeli.88@gmail.com> 2019-11-14 10:32:33 +0100
committerGravatar Luca Fedeli <luca.fedeli.88@gmail.com> 2019-11-14 10:32:33 +0100
commit764d22f17506763dc74979c19180513f86023600 (patch)
treea47c7c64fc4b335f00bd3d59ab829bcd8c0143ed
parent6e302ea47d46005ae2f8f13f79109aeb2a4617f3 (diff)
downloadWarpX-764d22f17506763dc74979c19180513f86023600.tar.gz
WarpX-764d22f17506763dc74979c19180513f86023600.tar.zst
WarpX-764d22f17506763dc74979c19180513f86023600.zip
Added built-in lookup table
-rw-r--r--Source/QED/BreitWheelerDummyTable.H2
-rw-r--r--Source/QED/Make.package2
-rw-r--r--Source/QED/QuantumSyncDummyTable.H79
-rw-r--r--Source/QED/QuantumSyncEngineWrapper.H8
-rw-r--r--Source/QED/QuantumSyncEngineWrapper.cpp7
5 files changed, 95 insertions, 3 deletions
diff --git a/Source/QED/BreitWheelerDummyTable.H b/Source/QED/BreitWheelerDummyTable.H
index 9d70bdc37..45636ffe2 100644
--- a/Source/QED/BreitWheelerDummyTable.H
+++ b/Source/QED/BreitWheelerDummyTable.H
@@ -2,7 +2,7 @@
#define WARPX_breit_wheeler_dummy_tables_h_
#include "BreitWheelerEngineInnards.H"
-#include <breit_wheeler_engine_ctrl.h>
+
#include <AMReX_REAL.H>
#include <AMReX_Gpu.H>
diff --git a/Source/QED/Make.package b/Source/QED/Make.package
index aa37c0003..bfc6f2369 100644
--- a/Source/QED/Make.package
+++ b/Source/QED/Make.package
@@ -6,7 +6,7 @@ CEXE_headers += QuantumSyncEngineInnards.H
CEXE_headers += BreitWheelerEngineWrapper.H
CEXE_headers += QuantumSyncEngineWrapper.H
CEXE_headers += BreitWheelerDummyTable.H
-CEXE_headers += BreitWheelerDummyTable.cpp
+CEXE_headers += QuantumSyncDummyTable.H
CEXE_sources += BreitWheelerEngineWrapper.cpp
CEXE_sources += QuantumSyncEngineWrapper.cpp
diff --git a/Source/QED/QuantumSyncDummyTable.H b/Source/QED/QuantumSyncDummyTable.H
new file mode 100644
index 000000000..d67b014cb
--- /dev/null
+++ b/Source/QED/QuantumSyncDummyTable.H
@@ -0,0 +1,79 @@
+#ifndef WARPX_quantum_sync_dummy_tables_h_
+#define WARPX_quantum_sync_dummy_tables_h_
+
+#include "QuantumSyncEngineInnards.H"
+
+#include <AMReX_REAL.H>
+#include <AMReX_Gpu.H>
+
+#include <limits>
+
+namespace QedUtils{
+
+//A default mini-table used for test purposes
+const QuantumSynchrotronEngineInnards
+QuantumSyncEngineInnardsDummy
+{
+ .ctrl{//_____________________________ctrl
+ .chi_part_min = 0.001,
+ .chi_part_tdndt_min = 0.001,
+ .chi_part_tdndt_max = 200,
+ .chi_part_tdndt_how_many = 64,
+ .chi_part_tem_min = 0.001,
+ .chi_part_tem_max = 200,
+ .chi_part_tem_how_many = 2,
+ .prob_tem_how_many = 2
+ },//_________________________________
+ .KKfunc_coords{//_____________________________KKfunc_coords
+ -6.907755279, -6.714008094, -6.520260909, -6.326513724,
+ -6.13276654, -5.939019355, -5.74527217, -5.551524985,
+ -5.3577778, -5.164030615, -4.97028343, -4.776536246,
+ -4.582789061, -4.389041876, -4.195294691, -4.001547506,
+ -3.807800321, -3.614053137, -3.420305952, -3.226558767,
+ -3.032811582, -2.839064397, -2.645317212, -2.451570027,
+ -2.257822843, -2.064075658, -1.870328473, -1.676581288,
+ -1.482834103, -1.289086918, -1.095339733, -0.9015925486,
+ -0.7078453638, -0.5140981789, -0.3203509941, -0.1266038092,
+ 0.06714337561, 0.2608905605, 0.4546377453, 0.6483849302,
+ 0.842132115, 1.0358793, 1.229626485, 1.42337367,
+ 1.617120854, 1.810868039, 2.004615224, 2.198362409,
+ 2.392109594, 2.585856779, 2.779603964, 2.973351148,
+ 3.167098333, 3.360845518, 3.554592703, 3.748339888,
+ 3.942087073, 4.135834257, 4.329581442, 4.523328627,
+ 4.717075812, 4.910822997, 5.104570182, 5.298317367
+ },
+ .KKfunc_data{//_____________________________KKfunc_data
+ -7.968431811, -7.639082211, -7.326295546, -7.02752527,
+ -6.740710773, -6.464172009, -6.196529608, -5.93664402
+ -5.683568899, -5.436515162, -5.194823127, -4.957940775,
+ -4.725406674, -4.49683649, -4.2719122, -4.050373372,
+ -3.832009948, -3.616656119, -3.404184903, -3.194503151,
+ -2.987546751, -2.783275883, -2.581670257, -2.382724345,
+ -2.1864427, -1.992835514, -1.801914573, -1.613689793,
+ -1.428166439, -1.2453431, -1.065210351, -0.8877500928,
+ -0.7129353081, -0.5407301909, -0.3710904422, -0.2039636495,
+ -0.03928968527, 0.1229988926, 0.2829764221, 0.4407236701,
+ 0.5963272798, 0.7498791107, 0.9014754584, 1.051216164,
+ 1.199203636, 1.345541816, 1.490335133, 1.633687478,
+ 1.775701241, 1.916476434, 2.056109933, 2.194694829,
+ 2.332319922, 2.469069336, 2.605022252, 2.740252763,
+ 2.874829832, 3.008817314, 3.142273988, 3.27525366,
+ 3.407805563, 3.539975021, 3.671803889, 3.803330346
+ },//_____________________________
+ .cum_distrib_coords_1{//_____________________________Tcum_distrib_coords_1
+ -6.907755279, 5.298317367
+ },//_____________________________
+ .cum_distrib_coords_2{//_____________________________Tcum_distrib_coords_2
+ 0, 0.5
+ },//_____________________________
+ .cum_distrib_data{//_____________________________cum_distrib_data
+ -std::numeric_limits<amrex::Real>::infinity(),
+ -0.6931471806,
+ -std::numeric_limits<amrex::Real>::infinity(),
+ -0.6931471806
+ }//_____________________________
+};
+
+};
+
+#endif //WARPX_quantum_sync_dummy_tables_h_
diff --git a/Source/QED/QuantumSyncEngineWrapper.H b/Source/QED/QuantumSyncEngineWrapper.H
index fd1571720..45008e874 100644
--- a/Source/QED/QuantumSyncEngineWrapper.H
+++ b/Source/QED/QuantumSyncEngineWrapper.H
@@ -267,6 +267,12 @@ public:
bool init_lookup_tables_from_raw_data (const amrex::Vector<char>& raw_data);
/**
+ * Init lookup tables using built-in dummy tables
+ * for test purposes.
+ */
+ void init_dummy_tables();
+
+ /**
* Export lookup tables data into a raw binary Vector
* @return the data in binary format. The Vector is empty if tables were
* not previously initialized.
@@ -275,7 +281,7 @@ public:
/**
* Computes the lookup tables. It does nothing unless WarpX is compiled with QED_TABLE_GEN=TRUE
- * @param[in] ctrl control params to generate the tables
+ * @param[in] ctrl control params to geneQuantumSyncEngineInnardsDummyrate the tables
*/
void compute_lookup_tables (PicsarQuantumSynchrotronCtrl ctrl);
diff --git a/Source/QED/QuantumSyncEngineWrapper.cpp b/Source/QED/QuantumSyncEngineWrapper.cpp
index c2d9f0abf..01176a914 100644
--- a/Source/QED/QuantumSyncEngineWrapper.cpp
+++ b/Source/QED/QuantumSyncEngineWrapper.cpp
@@ -1,6 +1,7 @@
#include "QuantumSyncEngineWrapper.H"
#include "QedTableParserHelperFunctions.H"
+#include "QuantumSyncDummyTable.H"
#include <utility>
@@ -139,6 +140,12 @@ QuantumSynchrotronEngine::init_lookup_tables_from_raw_data (
return true;
}
+void QuantumSynchrotronEngine::init_dummy_tables()
+{
+ m_innards = QedUtils::QuantumSyncEngineInnardsDummy;
+ m_lookup_tables_initialized = true;
+}
+
Vector<char> QuantumSynchrotronEngine::export_lookup_tables_data () const
{
Vector<char> res{};