Data Structures | Namespaces | Functions

/export/development/ViennaGrid/release/ViennaGrid-1.0.0/viennagrid/algorithm/refine.hpp File Reference

Provides the routines for a refinement of a domain. More...

#include "viennagrid/forwards.h"
#include "viennagrid/domain.hpp"
#include "viennagrid/algorithm/centroid.hpp"
#include "viennagrid/algorithm/norm.hpp"
#include "viennadata/api.hpp"

Go to the source code of this file.

Data Structures

struct  refinement_vertex_id_requirement< DomainType, VertexIDHandler >
 Refinement requies vertex IDs. This class makes sure that they are available. More...
struct  refinement_vertex_id_requirement< DomainType, pointer_id >
class  refinement_proxy< DomainType, RefinementTag >
 A proxy class that is used to allow ' refined_domain = refine(domain); ' without temporary. More...

Namespaces

namespace  viennagrid
 

The main ViennaGrid namespace. Most functionality resides in this namespace.


namespace  viennagrid::detail
 

The namespace holding the implementations of domains, segments and ncells as well as some algorithm implementations. Not of interest for library users.


Functions

template<typename ConfigTypeIn >
void ensure_longest_edge_refinement (domain_t< ConfigTypeIn > const &domain_in)
 Ensures refinement fo the longest edge. If any edge is refined in a cell, then the longest edge is refined as well.
template<typename ConfigTypeIn >
void cell_refinement_to_edge_refinement (domain_t< ConfigTypeIn > const &domain_in)
 Transfers tags for refinement from the cell to edges.
template<typename ConfigTypeIn , typename ConfigTypeOut >
void refine_impl (domain_t< ConfigTypeIn > const &domain_in, domain_t< ConfigTypeOut > &domain_out, local_refinement_tag)
 Implementation of adaptive refinement. Responsible for all the book-keeping.
template<typename ConfigTypeIn , typename ConfigTypeOut >
void refine_impl (domain_t< ConfigTypeIn > const &domain_in, domain_t< ConfigTypeOut > &domain_out, uniform_refinement_tag)
 Implementation of uniform refinement. Responsible for all the book-keeping.
template<typename ConfigTypeIn , typename RefinementTag >
refinement_proxy< domain_t
< ConfigTypeIn >
, RefinementTag > 
refine (domain_t< ConfigTypeIn > const &domain_in, RefinementTag const &tag)
 Public interface for refinement of a domain. If local refinement is desired, cells or edges needs to be tagged using ViennaData with refinement_key.
template<typename ConfigTypeIn >
refinement_proxy< domain_t
< ConfigTypeIn >
, uniform_refinement_tag > 
refine_uniformly (domain_t< ConfigTypeIn > const &domain_in)
 Convenience overload for uniform refinement of a domain.
template<typename ConfigTypeIn >
refinement_proxy< domain_t
< ConfigTypeIn >
, local_refinement_tag > 
refine_locally (domain_t< ConfigTypeIn > const &domain_in)
 Convenience overload for adaptive refinement of a domain. Cells or edges needs to be tagged using ViennaData with refinement_key.

Detailed Description

Provides the routines for a refinement of a domain.