1 #include <boost/foreach.hpp> 4 #include "../../misc/simple_io.hpp" 5 #include "../../misc/hdf5_utils.hpp" 6 #include "../../misc/lazy_list.hpp" 12 vector<Vector2D> calc_contour_points(
const hdsim& sim,
19 const std::pair<int,Vector2D> temp = lcc(edge,sim);
21 res.push_back(temp.second);
31 p_trigger_(p_trigger),
38 class ComponentExtractor:
public LazyList<double>
42 ComponentExtractor(
const vector<Vector2D>& source,
44 source_(source), component_(component) {}
46 size_t size(
void)
const 48 return source_.size();
51 double operator[](
size_t i)
const 53 return source_[i].*component_;
57 const vector<Vector2D>& source_;
61 void hdf5_write(
const string& output_file,
62 const vector<Vector2D>& data,
67 (
"time",vector<double>(1,time))
75 if((*p_trigger_.get())(sim)){
76 hdf5_write((*p_i2f_.get())(count_),
77 calc_contour_points(sim,*p_lcc_.get()),
virtual ~LocalContourCriterion(void)
Class destructor.
SequentialContour(Trigger *p_trigger, Index2FileName *p_i2f, LocalContourCriterion *p_lcc)
Class constructor.
Abstract class for tessellation.
Newtonian hydrodynamic simulation.
void operator()(const hdsim &sim)
Perform diagnostics.
vector< T > serial_generate(const LazyList< T > &ll)
Creates a vector from an LazyList.
double getTime(void) const
Returns the time.
Facilitates writing hdf5 files.
Interface between two cells.
const Tessellation & getTessellation(void) const
Returns the tessellation.
double y
Component in the y direction.
Ordered list whose terms are evaluated lazily.
virtual const vector< Edge > & getAllEdges(void) const =0
Returns reference to the list of all edges.
Finds contour points on an unstructured mesh.
Class for generating sequential file names.
Abstract class for triggering events.
Recipe for creating a contour from the simulation.
double x
Component in the x direction.