![]() |
Reference documentation for deal.II version 8.1.0
|
#include <data_out_rotation.h>
Public Types | |
typedef DataOut_DoFData< DH, DH::dimension+1 > ::cell_iterator | cell_iterator |
![]() | |
enum | DataVectorType |
typedef Triangulation < DH::dimension, DH::space_dimension > ::cell_iterator | cell_iterator |
typedef Triangulation < DH::dimension, DH::space_dimension > ::active_cell_iterator | active_cell_iterator |
![]() | |
enum | OutputFormat |
Public Member Functions | |
virtual void | build_patches (const unsigned int n_patches_per_circle, const unsigned int n_subdivisions=0) |
virtual cell_iterator | first_cell () |
virtual cell_iterator | next_cell (const cell_iterator &cell) |
DeclException1 (ExcInvalidNumberOfSubdivisions, int,<< "The number of subdivisions per patch, "<< arg1<< ", is not valid.") | |
DeclException1 (ExcRadialVariableHasNegativeValues, double,<< "The radial variable attains a negative value of "<< arg1) | |
![]() | |
DataOut_DoFData () | |
virtual | ~DataOut_DoFData () |
void | attach_dof_handler (const DH &) |
void | attach_triangulation (const Triangulation< DH::dimension, DH::space_dimension > &) |
void | add_data_vector (const VECTOR &data, const std::vector< std::string > &names, const DataVectorType type=type_automatic, const std::vector< DataComponentInterpretation::DataComponentInterpretation > &data_component_interpretation=std::vector< DataComponentInterpretation::DataComponentInterpretation >()) |
void | add_data_vector (const VECTOR &data, const std::string &name, const DataVectorType type=type_automatic, const std::vector< DataComponentInterpretation::DataComponentInterpretation > &data_component_interpretation=std::vector< DataComponentInterpretation::DataComponentInterpretation >()) |
void | add_data_vector (const DH &dof_handler, const VECTOR &data, const std::vector< std::string > &names, const std::vector< DataComponentInterpretation::DataComponentInterpretation > &data_component_interpretation=std::vector< DataComponentInterpretation::DataComponentInterpretation >()) |
void | add_data_vector (const DH &dof_handler, const VECTOR &data, const std::string &name, const std::vector< DataComponentInterpretation::DataComponentInterpretation > &data_component_interpretation=std::vector< DataComponentInterpretation::DataComponentInterpretation >()) |
void | add_data_vector (const VECTOR &data, const DataPostprocessor< DH::space_dimension > &data_postprocessor) |
void | add_data_vector (const DH &dof_handler, const VECTOR &data, const DataPostprocessor< DH::space_dimension > &data_postprocessor) |
void | clear_data_vectors () |
void | clear_input_data_references () |
void | merge_patches (const DataOut_DoFData< DH2, patch_dim, patch_dim > &source, const Point< patch_dim > &shift=Point< patch_dim >()) |
virtual void | clear () |
std::size_t | memory_consumption () const |
DeclException0 (ExcNoTriangulationSelected) | |
DeclException0 (ExcNoDoFHandlerSelected) | |
DeclException0 (ExcDataPostprocessingIsNotPossibleForCellData) | |
DeclException0 (ExcOldDataStillPresent) | |
DeclException0 (ExcNoPatches) | |
DeclException0 (ExcIncompatibleDatasetNames) | |
DeclException0 (ExcIncompatiblePatchLists) | |
DeclException3 (ExcInvalidVectorSize, int, int, int,<< "The vector has size "<< arg1<< " but the DoFHandler objects says there are "<< arg2<< " degrees of freedom and there are "<< arg3<< " active cells.") | |
DeclException2 (ExcInvalidCharacter, std::string, size_t,<< "Please use only the characters [a-zA-Z0-9_<>()] for"<< std::endl<< "description strings since some graphics formats will only accept these."<< std::endl<< "The string you gave was <"<< arg1<< ">, the invalid character is <"<< arg1[arg2]<< ">."<< std::endl) | |
DeclException2 (ExcInvalidNumberOfNames, int, int,<< "You have to give one name per component in your "<< "data vector. The number you gave was "<< arg1<< ", but the number of components is "<< arg2) | |
DeclException2 (ExcInvalidVectorDeclaration, int, std::string,<< "When declaring that a number of components in a data\n"<< "set to be output logically form a vector instead of\n"<< "simply a set of scalar fields, you need to specify\n"<< "this for all relevant components. Furthermore,\n"<< "vectors must always consist of exactly <dim>\n"<< "components. However, the vector component at\n"<< "position "<< arg1<< " with name <"<< arg2<< "> does not satisfy these conditions.") | |
![]() | |
DataOutInterface () | |
virtual | ~DataOutInterface () |
void | write_dx (std::ostream &out) const |
void | write_eps (std::ostream &out) const |
void | write_gmv (std::ostream &out) const |
void | write_gnuplot (std::ostream &out) const |
void | write_povray (std::ostream &out) const |
void | write_tecplot (std::ostream &out) const |
void | write_tecplot_binary (std::ostream &out) const |
void | write_ucd (std::ostream &out) const |
void | write_vtk (std::ostream &out) const |
void | write_vtu (std::ostream &out) const |
void | write_vtu_in_parallel (const char *filename, MPI_Comm comm) const |
void | write_pvtu_record (std::ostream &out, const std::vector< std::string > &piece_names) const |
void | write_pvd_record (std::ostream &out, const std::vector< std::pair< double, std::string > > ×_and_names) const |
void | write_visit_record (std::ostream &out, const std::vector< std::string > &piece_names) const |
void | write_visit_record (std::ostream &out, const std::vector< std::vector< std::string > > &piece_names) const |
void | write_svg (std::ostream &out) const |
void | write_deal_II_intermediate (std::ostream &out) const |
XDMFEntry | create_xdmf_entry (const std::string &h5_filename, const double cur_time, MPI_Comm comm) const DEAL_II_DEPRECATED |
XDMFEntry | create_xdmf_entry (const DataOutFilter &data_filter, const std::string &h5_filename, const double cur_time, MPI_Comm comm) const |
XDMFEntry | create_xdmf_entry (const DataOutFilter &data_filter, const std::string &h5_mesh_filename, const std::string &h5_solution_filename, const double cur_time, MPI_Comm comm) const |
void | write_xdmf_file (const std::vector< XDMFEntry > &entries, const std::string &filename, MPI_Comm comm) const |
void | write_hdf5_parallel (const std::string &filename, MPI_Comm comm) const DEAL_II_DEPRECATED |
void | write_hdf5_parallel (const DataOutFilter &data_filter, const std::string &filename, MPI_Comm comm) const |
void | write_hdf5_parallel (const DataOutFilter &data_filter, const bool write_mesh_file, const std::string &mesh_filename, const std::string &solution_filename, MPI_Comm comm) const |
void | write_filtered_data (DataOutFilter &filtered_data) const |
void | write (std::ostream &out, const OutputFormat output_format=default_format) const |
void | set_default_format (const OutputFormat default_format) |
void | set_flags (const DXFlags &dx_flags) |
void | set_flags (const UcdFlags &ucd_flags) |
void | set_flags (const GnuplotFlags &gnuplot_flags) |
void | set_flags (const PovrayFlags &povray_flags) |
void | set_flags (const EpsFlags &eps_flags) |
void | set_flags (const GmvFlags &gmv_flags) |
void | set_flags (const TecplotFlags &tecplot_flags) |
void | set_flags (const VtkFlags &vtk_flags) |
void | set_flags (const SvgFlags &svg_flags) |
void | set_flags (const Deal_II_IntermediateFlags &deal_II_intermediate_flags) |
std::string | default_suffix (const OutputFormat output_format=default_format) const |
void | parse_parameters (ParameterHandler &prm) |
std::size_t | memory_consumption () const |
Private Member Functions | |
void | build_one_patch (const cell_iterator *cell, internal::DataOutRotation::ParallelData< DH::dimension, DH::space_dimension > &data, std::vector< DataOutBase::Patch< DH::dimension+1, DH::space_dimension+1 > > &patches) |
Additional Inherited Members | |
![]() | |
static void | declare_parameters (ParameterHandler &prm) |
![]() | |
typedef ::DataOutBase::Patch < patch_dim, patch_dim > | Patch |
![]() | |
virtual const std::vector < Patch > & | get_patches () const |
virtual std::vector< std::string > | get_dataset_names () const |
std::vector < std_cxx1x::shared_ptr <::hp::FECollection < DH::dimension, DH::space_dimension > > > | get_finite_elements () const |
virtual std::vector < std_cxx1x::tuple< unsigned int, unsigned int, std::string > > | get_vector_data_ranges () const |
![]() | |
SmartPointer< const Triangulation< DH::dimension, DH::space_dimension > > | triangulation |
SmartPointer< const DH > | dofs |
std::vector < std_cxx1x::shared_ptr < internal::DataOut::DataEntryBase < DH > > > | dof_data |
std::vector < std_cxx1x::shared_ptr < internal::DataOut::DataEntryBase < DH > > > | cell_data |
std::vector< Patch > | patches |
![]() | |
unsigned int | default_subdivisions |
This class generates output in the full domain of computations that were done using rotational symmetry of domain and solution. In particular, if a computation of a three dimensional problem with rotational symmetry around the z-axis
(i.e. in the r-z-plane
) was done, then this class can be used to generate the output in the original x-y-z
space. In order to do so, it generates from each cell in the computational mesh a cell in the space with dimension one greater than that of the DoFHandler object. The resulting output will then consist of hexahedra forming an object that has rotational symmetry around the z-axis. As most graphical programs can not represent ring-like structures, the angular (rotation) variable is discretized into a finite number of intervals as well; the number of these intervals must be given to the build_patches
function. It is noted, however, that while this function generates nice pictures of the whole domain, it often produces very large output files.
The interface of this class is copied from the DataOut class. Furthermore, they share the common parent class DataOut_DoFData(). See the reference of these two classes for a discussion of the interface and how to extend it by deriving further classes from this class.
The one coordinate in the triangulation used by the DoFHandler object passed to this class is taken as the radial variable, and the output will then be either a circle or a ring domain. It is in the user's responsibility to assure that the radial coordinate only attains non-negative values.
We consider the computation (represented by the DoFHandler object that is attached to this class) to have happened in the r-z-plane
, where r
is the radial variable and z
denotes the axis of revolution around which the solution is symmetric. The output is in x-y-z
space, where the radial dependence is transformed to the x-y
plane. At present, it is not possible to exchange the meaning of the first and second variable of the plane in which the simulation was made, i.e. generate output from a simulation where the first variable denoted the symmetry axis, and the second denoted the radial variable. You have to take that into account when first programming your application.
It is in the responsibility of the user to make sure that the radial variable attains only non-negative values.
Definition at line 121 of file data_out_rotation.h.
typedef DataOut_DoFData<DH,DH::dimension+1>::cell_iterator DataOutRotation< dim, DH >::cell_iterator |
Typedef to the iterator type of the dof handler class under consideration.
Definition at line 129 of file data_out_rotation.h.
|
virtual |
This is the central function of this class since it builds the list of patches to be written by the low-level functions of the base class. See the general documentation of this class for further information.
In addition to the same parameters as found in the respective function of the DataOut class, the first parameter denotes into how many intervals the angular (rotation) variable is to be subdivided.
The function supports multithreading, if deal.II is compiled in multithreading mode.
|
virtual |
Return the first cell which we want output for. The default implementation returns the first active cell, but you might want to return other cells in a derived class.
|
virtual |
Return the next cell after cell
which we want output for. If there are no more cells, dofs->end()
shall be returned.
The default implementation returns the next active cell, but you might want to return other cells in a derived class. Note that the default implementation assumes that the given cell
is active, which is guaranteed as long as first_cell
is also used from the default implementation. Overloading only one of the two functions might not be a good idea.
DataOutRotation< dim, DH >::DeclException1 | ( | ExcInvalidNumberOfSubdivisions | , |
int | , | ||
<< "The number of subdivisions per | patch, | ||
"<< arg1<< " | , | ||
is not valid." | |||
) |
Exception
DataOutRotation< dim, DH >::DeclException1 | ( | ExcRadialVariableHasNegativeValues | , |
double | , | ||
<< "The radial variable attains a negative value of "<< | arg1 | ||
) |
Exception
|
private |
Builds every n_threads's
patch. This function may be called in parallel. If multithreading is not used, the function is called once and generates all patches.