24 #ifndef PYNE_6OR6BJURKJHHTOFWXO2VMQM5EY 25 #define PYNE_6OR6BJURKJHHTOFWXO2VMQM5EY 37 #include "moab/Range.hpp" 38 #include "moab/Core.hpp" 40 #include "moab/CartVect.hpp" 70 moab::CartVect o_point;
85 int sample_pdf(
double rand1,
double rand2);
93 enum Mode {USER, ANALOG, UNIFORM};
107 std::string src_tag_name,
108 std::vector<double> e_bounds,
122 std::string src_tag_name,
123 std::vector<double> e_bounds,
124 std::string bias_tag_name);
129 std::vector<double> particle_birth(std::vector<double> rands);
138 std::string filename;
139 std::string src_tag_name;
140 std::string bias_tag_name;
141 std::vector<double> e_bounds;
146 moab::Interface* mesh;
148 moab::EntityType ve_type;
151 std::vector<edge_points> all_edge_points;
152 std::vector<double> biased_weights;
159 void mesh_geom_data(moab::Range ves, std::vector<double> &volumes);
160 void mesh_tag_data(moab::Range ves,
const std::vector<double> volumes);
162 moab::CartVect sample_xyz(
int ve_idx, std::vector<double> rands);
163 double sample_e(
int e_idx,
double rand);
164 double sample_w(
int pdf_idx);
166 void normalize_pdf(std::vector<double> & pdf);
167 int num_groups(moab::Tag tag);
168 std::vector<double> read_bias_pdf(moab::Range ves, std::vector<double> volumes,
169 std::vector<double> pdf);
177 #endif // PYNE_6OR6BJURKJHHTOFWXO2VMQM5EY Stores 4 connected points in a mesh volume element.
Definition: source_sampling.h:69
std::vector< int > alias
Probabilities.
Definition: source_sampling.h:89
Mesh based Monte Carlo source sampling.
Definition: source_sampling.h:96
void sampling_setup_(int *mode)
Definition: source_sampling.cpp:9
void particle_birth_(double *rands, double *x, double *y, double *z, double *e, double *w)
Definition: source_sampling.cpp:26
Mode
Problem modes.
Definition: source_sampling.h:93
std::vector< double > read_e_bounds(std::string e_bounds_file)
Definition: source_sampling.cpp:41
A container representing enrichment cascades.
Definition: _atomic_data.h:7
std::vector< double > prob
Number of bins in the PDF.
Definition: source_sampling.h:88
A data structure for O(1) source sampling.
Definition: source_sampling.h:77