deal2lkit: A ToolKit library for Deal.II
ParsedDirichletBCs< dim, spacedim > Class Template Reference

Parsed DirichletBCs. More...

#include <parsed_dirichlet_bcs.h>

Inheritance diagram for ParsedDirichletBCs< dim, spacedim >:
ParsedMappedFunctions< spacedim > ParameterAcceptor Subscriptor

Public Member Functions

 ParsedDirichletBCs (const std::string &name="Dirichlet BCs", const unsigned int &n_components=1, const std::string &component_names="", const std::string &default_id_components="0=ALL", const std::string &default_id_functions="", const std::string &default_constants="")
 Constructor. More...
 
virtual void declare_parameters (ParameterHandler &prm)
 these method calls the method of the Parent class More...
 
virtual void parse_parameters_call_back ()
 these method calls the method of the Parent class More...
 
void interpolate_boundary_values (const DoFHandler< dim, spacedim > &dof_handler, ConstraintMatrix &constraints) const
 This function must be called in order to apply the boundary conditions to the ConstraintMatrix. More...
 
void interpolate_boundary_values (const Mapping< dim, spacedim > &mapping, const DoFHandler< dim, spacedim > &dof_handler, ConstraintMatrix &constraints) const
 This function must be called in order to apply the boundary conditions to the ConstraintMatrix. More...
 
void interpolate_boundary_values (const DoFHandler< dim, spacedim > &dof_handler, std::map< types::global_dof_index, double > &d_dofs) const
 This function must be called in order to apply the boundary conditions to the ConstraintMatrix. More...
 
void interpolate_boundary_values (const Mapping< dim, spacedim > &mapping, const DoFHandler< dim, spacedim > &dof_handler, std::map< types::global_dof_index, double > &d_dofs) const
 This function must be called in order to apply the boundary conditions to the ConstraintMatrix. More...
 
void project_boundary_values (const DoFHandler< dim, spacedim > &dof_handler, const Quadrature< dim-1 > &quadrature, ConstraintMatrix &constraints) const
 This function must be called in order to apply the boundary conditions to the ConstraintMatrix. More...
 
void project_boundary_values (const Mapping< dim, spacedim > &mapping, const DoFHandler< dim, spacedim > &dof_handler, const Quadrature< dim-1 > &quadrature, ConstraintMatrix &constraints) const
 This function must be called in order to apply the boundary conditions to the ConstraintMatrix. More...
 
void project_boundary_values (const DoFHandler< dim, spacedim > &dof_handler, const Quadrature< dim-1 > &quadrature, std::map< types::global_dof_index, double > &projected_bv) const
 This function must be called in order to apply the boundary conditions to the ConstraintMatrix. More...
 
void project_boundary_values (const Mapping< dim, spacedim > &mapping, const DoFHandler< dim, spacedim > &dof_handler, const Quadrature< dim-1 > &quadrature, std::map< types::global_dof_index, double > &projected_bv) const
 This function must be called in order to apply the boundary conditions to the ConstraintMatrix. More...
 
void compute_no_normal_flux_constraints (const DoFHandler< dim, spacedim > &dof_handler, ConstraintMatrix &constraints) const
 This function must be called in order to apply the homogeneous Dirichlet boundary conditions to the normal components of the variables specified. More...
 
void compute_no_normal_flux_constraints (const DoFHandler< dim, spacedim > &dof_handler, const Mapping< dim, spacedim > &mapping, ConstraintMatrix &constraints) const
 This function must be called in order to apply the homogeneous Dirichlet boundary conditions to the normal components of the variables specified. More...
 
void compute_nonzero_normal_flux_constraints (const DoFHandler< dim, spacedim > &dof_handler, ConstraintMatrix &constraints) const
 This function must be called in order to apply the Dirichlet boundary conditions to the normal components of the variables specified. More...
 
void compute_nonzero_normal_flux_constraints (const DoFHandler< dim, spacedim > &dof_handler, const Mapping< dim, spacedim > &mapping, ConstraintMatrix &constraints) const
 This function must be called in order to apply the Dirichlet boundary conditions to the normal components of the variables specified. More...
 
template<>
void project_boundary_values (dealii::DoFHandler< 1, 2 > const &, dealii::Quadrature< 0 > const &, dealii::ConstraintMatrix &) const
 
template<>
void project_boundary_values (dealii::DoFHandler< 1, 3 > const &, dealii::Quadrature< 0 > const &, dealii::ConstraintMatrix &) const
 
template<>
void project_boundary_values (dealii::DoFHandler< 2, 3 > const &, dealii::Quadrature< 1 > const &, dealii::ConstraintMatrix &) const
 
template<>
void project_boundary_values (const Mapping< 1, 2 > &, dealii::DoFHandler< 1, 2 > const &, dealii::Quadrature< 0 > const &, dealii::ConstraintMatrix &) const
 
template<>
void project_boundary_values (const Mapping< 1, 3 > &, dealii::DoFHandler< 1, 3 > const &, dealii::Quadrature< 0 > const &, dealii::ConstraintMatrix &) const
 
template<>
void project_boundary_values (const Mapping< 2, 3 > &, dealii::DoFHandler< 2, 3 > const &, dealii::Quadrature< 1 > const &, dealii::ConstraintMatrix &) const
 
template<>
void project_boundary_values (Mapping< 1, 2 > const &, DoFHandler< 1, 2 > const &, Quadrature< 0 > const &, std::map< types::global_dof_index, double > &) const
 
template<>
void project_boundary_values (Mapping< 1, 3 > const &, DoFHandler< 1, 3 > const &, Quadrature< 0 > const &, std::map< types::global_dof_index, double > &) const
 
template<>
void project_boundary_values (Mapping< 2, 3 > const &, DoFHandler< 2, 3 > const &, Quadrature< 1 > const &, std::map< types::global_dof_index, double > &) const
 
template<>
void project_boundary_values (const DoFHandler< 1, 2 > &, const Quadrature< 0 > &, std::map< types::global_dof_index, double > &) const
 
template<>
void project_boundary_values (const DoFHandler< 1, 3 > &, const Quadrature< 0 > &, std::map< types::global_dof_index, double > &) const
 
template<>
void project_boundary_values (const DoFHandler< 2, 3 > &, const Quadrature< 1 > &, std::map< types::global_dof_index, double > &) const
 
template<>
void compute_no_normal_flux_constraints (const DoFHandler< 1, 1 > &, ConstraintMatrix &) const
 
template<>
void compute_no_normal_flux_constraints (const DoFHandler< 1, 1 > &, const Mapping< 1, 1 > &, ConstraintMatrix &) const
 
template<>
void compute_nonzero_normal_flux_constraints (dealii::DoFHandler< 1, 1 > const &, ConstraintMatrix &) const
 
template<>
void compute_nonzero_normal_flux_constraints (const DoFHandler< 1, 1 > &, const Mapping< 1, 1 > &, ConstraintMatrix &) const
 
template<>
void compute_no_normal_flux_constraints (const DoFHandler< 1, 2 > &, ConstraintMatrix &) const
 
template<>
void compute_no_normal_flux_constraints (const DoFHandler< 1, 2 > &, const Mapping< 1, 2 > &, ConstraintMatrix &) const
 
template<>
void compute_nonzero_normal_flux_constraints (dealii::DoFHandler< 1, 2 > const &, ConstraintMatrix &) const
 
template<>
void compute_nonzero_normal_flux_constraints (const DoFHandler< 1, 2 > &, const Mapping< 1, 2 > &, ConstraintMatrix &) const
 
template<>
void compute_no_normal_flux_constraints (const DoFHandler< 1, 3 > &, ConstraintMatrix &) const
 
template<>
void compute_no_normal_flux_constraints (const DoFHandler< 1, 3 > &, const Mapping< 1, 3 > &, ConstraintMatrix &) const
 
template<>
void compute_nonzero_normal_flux_constraints (dealii::DoFHandler< 1, 3 > const &, ConstraintMatrix &) const
 
template<>
void compute_nonzero_normal_flux_constraints (const DoFHandler< 1, 3 > &, const Mapping< 1, 3 > &, ConstraintMatrix &) const
 
template<>
void compute_no_normal_flux_constraints (const DoFHandler< 2, 3 > &, ConstraintMatrix &) const
 
template<>
void compute_no_normal_flux_constraints (const DoFHandler< 2, 3 > &, const Mapping< 2, 3 > &, ConstraintMatrix &) const
 
template<>
void compute_nonzero_normal_flux_constraints (dealii::DoFHandler< 2, 3 > const &, ConstraintMatrix &) const
 
template<>
void compute_nonzero_normal_flux_constraints (const DoFHandler< 2, 3 > &, const Mapping< 2, 3 > &, ConstraintMatrix &) const
 
- Public Member Functions inherited from ParsedMappedFunctions< spacedim >
 ParsedMappedFunctions (const std::string &name="Mapped Functions", const unsigned int &n_components=1, const std::string &component_names="", const std::string &default_id_components="0=ALL", const std::string &default_id_functions="", const std::string &default_constants="")
 Constructor. More...
 
shared_ptr< dealii::Functions::ParsedFunction< spacedim > > get_mapped_function (const unsigned int &id) const
 return a shared_ptr to the ParsedFunction corresponding to the given id More...
 
shared_ptr< dealii::Functions::ParsedFunction< spacedim > > get_mapped_normal_function (const unsigned int &id, const unsigned int &fcv) const
 return a shared_ptr to the ParsedFunction corresponding to the given id the function has spacedim components More...
 
ComponentMask get_mapped_mask (const unsigned int &id) const
 return the ComponentMask corresponding to the given id More...
 
std::vector< unsigned int > get_mapped_ids () const
 return the list of the mapped ids More...
 
std::vector< unsigned int > get_mapped_normal_ids () const
 return the list of the mapped ids for which normal components have been set More...
 
bool acts_on_id (unsigned int &id) const
 return true if there is a function that acts on the passed id More...
 
void set_time (const double &t)
 set time equal to t for all the mapped functions More...
 
 DeclException2 (ExcIdsMismatch, unsigned int, unsigned int,<< "The number of ids specified in the field "<< "'IDs and component masks' ("<< arg1<< ") "<< "must match the number of ids "<< "set in the field 'IDs and expressions' ("<< arg2<<").")
 Mismatch between the number of ids set in 'IDs and component masks' and 'IDs and expressions'. More...
 
 DeclException1 (ExcIdNotFound, unsigned int,<< "No entry with the id "<< arg1<< " exists.")
 An entry with this id does not exist in this object. More...
 
 DeclException1 (ExcIdNotMatch, unsigned int,<< "No component mask associated to the id "<< arg1<< " are defined.")
 No component mask are defined on this id. More...
 
 DeclException3 (ExcWrongComponent, unsigned int, unsigned int, unsigned int,<< "At id "<< arg1<< ", wrong component number has been used: "<< arg2<< " is not in the range [0, "<< arg3<<").")
 Wrong number of component mask is defined on this id. More...
 
 DeclException3 (ExcWrongVariable, unsigned int, std::string, std::vector< std::string >,<< "At id "<< arg1<< ", wrong variabile name has been used: "<< arg2<< " does not belong to the knwon variables: "<< print(unique(arg3))<<".")
 Wrong variable name is defined on this id. More...
 
- Public Member Functions inherited from ParameterAcceptor
 ParameterAcceptor (const std::string section_name="")
 The constructor adds derived classes to the list of acceptors. More...
 
virtual ~ParameterAcceptor ()
 The destructor sets to zero the pointer relative to this index, so that it is safe to destroy the mother class. More...
 
virtual void parse_parameters (ParameterHandler &prm)
 Parse the parameter file. More...
 
std::string get_section_name () const
 Return the section name of this class. More...
 
std::vector< std::string > get_section_path () const
 Travers all registered classes, and figure out what subsections we need to enter. More...
 
template<class T >
void add_parameter (ParameterHandler &prm, T *parameter, const std::string &entry, const std::string &default_value, const Patterns::PatternBase &pattern=Patterns::Anything(), const std::string &documentation=std::string())
 Add a parameter the given parameter list. More...
 
template<class T >
void add_parameter (T &parameter, const std::string &entry, const std::string &documentation=std::string(), ParameterHandler &prm=ParameterAcceptor::prm)
 Add a parameter to the global parameter handler ParameterAcceptor::prm. More...
 
void enter_my_subsection (ParameterHandler &prm)
 Make sure we enter the right subsection of the global parameter file. More...
 
void leave_my_subsection (ParameterHandler &prm)
 This function undoes what the enter_my_subsection() function did. More...
 
template<>
std_cxx11::shared_ptr< Patterns::PatternBaseto_pattern (const double &)
 double More...
 
template<>
std::string to_string (const double &entry)
 
template<>
double to_type (const std::string &parameter)
 
template<>
std_cxx11::shared_ptr< Patterns::PatternBaseto_pattern (const int &)
 int More...
 
template<>
std::string to_string (const int &entry)
 
template<>
int to_type (const std::string &parameter)
 
template<>
std_cxx11::shared_ptr< Patterns::PatternBaseto_pattern (const unsigned int &)
 unsigned int More...
 
template<>
std::string to_string (const unsigned int &entry)
 
template<>
unsigned int to_type (const std::string &parameter)
 
template<>
std_cxx11::shared_ptr< Patterns::PatternBaseto_pattern (const bool &)
 bool More...
 
template<>
std::string to_string (const bool &entry)
 
template<>
bool to_type (const std::string &parameter)
 
- Public Member Functions inherited from Subscriptor
 Subscriptor ()
 
 Subscriptor (const Subscriptor &)
 
 Subscriptor (Subscriptor &&)
 
virtual ~Subscriptor ()
 
Subscriptoroperator= (const Subscriptor &)
 
Subscriptoroperator= (Subscriptor &&)
 
void subscribe (const char *identifier=0) const
 
void unsubscribe (const char *identifier=0) const
 
unsigned int n_subscriptions () const
 
void list_subscribers () const
 
void serialize (Archive &ar, const unsigned int version)
 

Private Attributes

const unsigned int n_components
 Number of components of the underlying Function objects. More...
 

Additional Inherited Members

- Static Public Member Functions inherited from ParameterAcceptor
static void initialize (const std::string filename="", const std::string outfilename="")
 Call declare_all_parameters(), read filename (if it is present as input parameter) and parse_all_parameters() on the static member prm. More...
 
static void clear ()
 Clear class list and global parameter file. More...
 
static void parse_all_parameters (ParameterHandler &prm=ParameterAcceptor::prm)
 Parse the given ParameterHandler. More...
 
static void log_info ()
 Print information about all stored classes. More...
 
static void declare_all_parameters (ParameterHandler &prm=ParameterAcceptor::prm)
 Initialize the ParameterHandler with all derived classes parameters.This function enters the subsection returned by get_section_name() for each derived class, and declares all parameters that were added using add_parameter(). More...
 
template<class T >
static std_cxx11::shared_ptr< Patterns::PatternBaseto_pattern (const T &)
 Given a class T, construct its default pattern to be used when declaring parameters. More...
 
template<class T >
static T to_type (const std::string &)
 Given a string, fill the value of the given parameter. More...
 
template<class T >
static std::string to_string (const T &)
 Given a parameter, return a string containing the given parameter. More...
 
- Static Public Member Functions inherited from Subscriptor
static::ExceptionBase & ExcInUse (int arg1, char *arg2, std::string &arg3)
 
static::ExceptionBase & ExcNoSubscriber (char *arg1, char *arg2)
 
- Static Public Attributes inherited from ParameterAcceptor
static ParameterHandler prm
 Static parameter. More...
 
- Protected Member Functions inherited from ParsedMappedFunctions< spacedim >
void split_id_components (const std::string &parsed_idcomponents)
 
void split_id_functions (const std::string &parsed_idfunctions, const std::string &constants)
 
void add_normal_components ()
 
void set_normal_functions ()
 
- Protected Attributes inherited from ParsedMappedFunctions< spacedim >
std::string name
 
std::string str_id_components
 
std::string str_id_functions
 
std::string str_component_names
 
std::string str_constants
 
std::vector< std::string > _component_names
 
std::vector< std::string > _normal_components
 
std::vector< std::string > _all_components
 
std::vector< unsigned int > ids
 
std::vector< unsigned int > normal_ids
 
std::map< unsigned int, ComponentMaskid_components
 
std::map< unsigned int, shared_ptr< dealii::Functions::ParsedFunction< spacedim > > > id_functions
 
std::map< unsigned int, std::pair< ComponentMask, shared_ptr< dealii::Functions::ParsedFunction< spacedim > > > > mapped_functions
 
std::map< std::string, std::pair< std::vector< unsigned int >, unsigned int > > mapped_normal_components
 
std::vector< std::pair< unsigned int, std::string > > normal_components
 
std::map< unsigned int, std::string > id_str_functions
 
std::map< std::pair< unsigned int, unsigned int >, shared_ptr< dealii::Functions::ParsedFunction< spacedim > > > _normal_functions
 
const unsigned int n_components
 
- Protected Attributes inherited from ParameterAcceptor
const std::string section_name
 The subsection name for this class. More...
 

Detailed Description

template<int dim, int spacedim = dim>
class ParsedDirichletBCs< dim, spacedim >

Parsed DirichletBCs.

This class allows to set dirichlet boundary conditions, in the strong formulation, from a parameter file.

This class is derived from ParsedMappedFunctions.

The VectorTools::interpolate_boundary_values and VectorTools::project_boundary_values functions of the deal.II library have been wrapped.

A typical usage of this class is the following

// the following variables are set just for the sake of completeness
unsigned int dim = 2;
unsigned int spacedim = 2;
unsigned int n_components = 3; // number of components of the problem
// create parsed_dirichlet object
parsed_dirichlet("Dirichlet BCs", // name for the section of the Parameter Handler to use
n_components, // number of components of the problem
"u,u,p", // names of known components that can be used instead of component numbers
"0=u % 1=2 % 3=u.N % 6=ALL", // boundary_id = component;other_component % other_id = comp; other_comp
"0=x;y;0 % 1=0;0;0 % 3=x;2;0 % 6=y*k;0;k", // boundary_id = expression % other_id = other_expression
"k=1"); // list of constants that can be used in the above epressions
...
QGauss<dim-1> quadrature(2);
std::map<types::global_dof_index,double> dirichlet_dofs;
ConstraintMatrix constraints;
...
// the following functions apply the boundary conditions for the
// boundary ids 0,1,6
parsed_dirichlet.interpolate_boundary_values(dof_handler,dirichlet_dofs);
...
parsed_dirichlet.interpolate_boundary_values(dof_handler,constraints);
...
parsed_dirichlet.interpolate_boundary_values(mapping,dof_handler,constraints);
...
parsed_dirichlet.interpolate_boundary_values(dof_handler,quadrature,dirichlet_dofs);
...
parsed_dirichlet.interpolate_boundary_values(dof_handler,quadrature,constraints);
...
parsed_dirichlet.interpolate_boundary_values(mapping,dof_handler,quadrature,constraints);
...
// in order to apply the boundary conditions also to the
// boundary id 3, where the normal component is set,
// the following function must be called
parsed_dirichlet.compute_nonzero_normal_flux(dof_handler,constraints);

Definition at line 92 of file parsed_dirichlet_bcs.h.

Constructor & Destructor Documentation

§ ParsedDirichletBCs()

template<int dim, int spacedim>
ParsedDirichletBCs< dim, spacedim >::ParsedDirichletBCs ( const std::string &  name = "Dirichlet BCs",
const unsigned int &  n_components = 1,
const std::string &  component_names = "",
const std::string &  default_id_components = "0=ALL",
const std::string &  default_id_functions = "",
const std::string &  default_constants = "" 
)

Constructor.

It takes:

  • the name for the section of the Parameter Handler to use
  • the names of known components that can be used instead of component numbers
  • a list of ids and components where the boundary conditions must be applied, which is a string with the following pattern boundary_id = component;other_component % other_id = comp; other_comp
  • a list of ids and exprssions defined over the ids (if this string is left empty, homogeneous boundary conditions are imposed on the above specified ids and components)
  • list of constants that can be used in the above epressions

Definition at line 26 of file parsed_dirichlet_bcs.cc.

Member Function Documentation

§ compute_no_normal_flux_constraints() [1/10]

template<int dim, int spacedim>
void ParsedDirichletBCs< dim, spacedim >::compute_no_normal_flux_constraints ( const DoFHandler< dim, spacedim > &  dof_handler,
ConstraintMatrix constraints 
) const

This function must be called in order to apply the homogeneous Dirichlet boundary conditions to the normal components of the variables specified.

The normal component can be specified adding ".N" to the variable name e.g. the normal component for the vector variable "u" will be "u.N".

It relies on the VectorTools::compute_no_normal_flux_constraints functions of the deal.II library

Definition at line 477 of file parsed_dirichlet_bcs.cc.

§ compute_no_normal_flux_constraints() [2/10]

template<int dim, int spacedim>
void ParsedDirichletBCs< dim, spacedim >::compute_no_normal_flux_constraints ( const DoFHandler< dim, spacedim > &  dof_handler,
const Mapping< dim, spacedim > &  mapping,
ConstraintMatrix constraints 
) const

This function must be called in order to apply the homogeneous Dirichlet boundary conditions to the normal components of the variables specified.

The normal component can be specified adding ".N" to the variable name e.g. the normal component for the vector variable "u" will be "u.N".

It relies on the VectorTools::compute_no_normal_flux_constraints functions of the deal.II library

Definition at line 499 of file parsed_dirichlet_bcs.cc.

§ compute_no_normal_flux_constraints() [3/10]

template<>
void ParsedDirichletBCs< 1, 1 >::compute_no_normal_flux_constraints ( const DoFHandler< 1, 1 > &  ,
ConstraintMatrix  
) const

Definition at line 343 of file parsed_dirichlet_bcs.cc.

§ compute_no_normal_flux_constraints() [4/10]

template<>
void ParsedDirichletBCs< 1, 1 >::compute_no_normal_flux_constraints ( const DoFHandler< 1, 1 > &  ,
const Mapping< 1, 1 > &  ,
ConstraintMatrix  
) const

Definition at line 350 of file parsed_dirichlet_bcs.cc.

§ compute_no_normal_flux_constraints() [5/10]

template<>
void ParsedDirichletBCs< 1, 2 >::compute_no_normal_flux_constraints ( const DoFHandler< 1, 2 > &  ,
ConstraintMatrix  
) const

Definition at line 377 of file parsed_dirichlet_bcs.cc.

§ compute_no_normal_flux_constraints() [6/10]

template<>
void ParsedDirichletBCs< 1, 2 >::compute_no_normal_flux_constraints ( const DoFHandler< 1, 2 > &  ,
const Mapping< 1, 2 > &  ,
ConstraintMatrix  
) const

Definition at line 384 of file parsed_dirichlet_bcs.cc.

§ compute_no_normal_flux_constraints() [7/10]

template<>
void ParsedDirichletBCs< 1, 3 >::compute_no_normal_flux_constraints ( const DoFHandler< 1, 3 > &  ,
ConstraintMatrix  
) const

Definition at line 410 of file parsed_dirichlet_bcs.cc.

§ compute_no_normal_flux_constraints() [8/10]

template<>
void ParsedDirichletBCs< 1, 3 >::compute_no_normal_flux_constraints ( const DoFHandler< 1, 3 > &  ,
const Mapping< 1, 3 > &  ,
ConstraintMatrix  
) const

Definition at line 417 of file parsed_dirichlet_bcs.cc.

§ compute_no_normal_flux_constraints() [9/10]

template<>
void ParsedDirichletBCs< 2, 3 >::compute_no_normal_flux_constraints ( const DoFHandler< 2, 3 > &  ,
ConstraintMatrix  
) const

Definition at line 444 of file parsed_dirichlet_bcs.cc.

§ compute_no_normal_flux_constraints() [10/10]

template<>
void ParsedDirichletBCs< 2, 3 >::compute_no_normal_flux_constraints ( const DoFHandler< 2, 3 > &  ,
const Mapping< 2, 3 > &  ,
ConstraintMatrix  
) const

Definition at line 451 of file parsed_dirichlet_bcs.cc.

§ compute_nonzero_normal_flux_constraints() [1/10]

template<int dim, int spacedim>
void ParsedDirichletBCs< dim, spacedim >::compute_nonzero_normal_flux_constraints ( const DoFHandler< dim, spacedim > &  dof_handler,
ConstraintMatrix constraints 
) const

This function must be called in order to apply the Dirichlet boundary conditions to the normal components of the variables specified.

The normal component can be specified adding ".N" to the variable name e.g. the normal component for the vector variable "u" will be "u.N".

It relies on the VectorTools::compute_nonzero_normal_flux_constraints functions of the deal.II library.

Note that calling this functions with an expression equal to zero is equivalent to call the compute_no_normal_flux_constraints function.

Definition at line 524 of file parsed_dirichlet_bcs.cc.

§ compute_nonzero_normal_flux_constraints() [2/10]

template<int dim, int spacedim>
void ParsedDirichletBCs< dim, spacedim >::compute_nonzero_normal_flux_constraints ( const DoFHandler< dim, spacedim > &  dof_handler,
const Mapping< dim, spacedim > &  mapping,
ConstraintMatrix constraints 
) const

This function must be called in order to apply the Dirichlet boundary conditions to the normal components of the variables specified.

The normal component can be specified adding ".N" to the variable name e.g. the normal component for the vector variable "u" will be "u.N".

It relies on the VectorTools::compute_nonzero_normal_flux_constraints functions of the deal.II library.

Note that calling this functions with an expression equal to zero is equivalent to call the compute_no_normal_flux_constraints function.

Definition at line 555 of file parsed_dirichlet_bcs.cc.

§ compute_nonzero_normal_flux_constraints() [3/10]

template<>
void ParsedDirichletBCs< 1, 1 >::compute_nonzero_normal_flux_constraints ( dealii::DoFHandler< 1, 1 > const &  ,
ConstraintMatrix  
) const

Definition at line 360 of file parsed_dirichlet_bcs.cc.

§ compute_nonzero_normal_flux_constraints() [4/10]

template<>
void ParsedDirichletBCs< 1, 1 >::compute_nonzero_normal_flux_constraints ( const DoFHandler< 1, 1 > &  ,
const Mapping< 1, 1 > &  ,
ConstraintMatrix  
) const

Definition at line 367 of file parsed_dirichlet_bcs.cc.

§ compute_nonzero_normal_flux_constraints() [5/10]

template<>
void ParsedDirichletBCs< 1, 2 >::compute_nonzero_normal_flux_constraints ( dealii::DoFHandler< 1, 2 > const &  ,
ConstraintMatrix  
) const

Definition at line 394 of file parsed_dirichlet_bcs.cc.

§ compute_nonzero_normal_flux_constraints() [6/10]

template<>
void ParsedDirichletBCs< 1, 2 >::compute_nonzero_normal_flux_constraints ( const DoFHandler< 1, 2 > &  ,
const Mapping< 1, 2 > &  ,
ConstraintMatrix  
) const

Definition at line 401 of file parsed_dirichlet_bcs.cc.

§ compute_nonzero_normal_flux_constraints() [7/10]

template<>
void ParsedDirichletBCs< 1, 3 >::compute_nonzero_normal_flux_constraints ( dealii::DoFHandler< 1, 3 > const &  ,
ConstraintMatrix  
) const

Definition at line 427 of file parsed_dirichlet_bcs.cc.

§ compute_nonzero_normal_flux_constraints() [8/10]

template<>
void ParsedDirichletBCs< 1, 3 >::compute_nonzero_normal_flux_constraints ( const DoFHandler< 1, 3 > &  ,
const Mapping< 1, 3 > &  ,
ConstraintMatrix  
) const

Definition at line 434 of file parsed_dirichlet_bcs.cc.

§ compute_nonzero_normal_flux_constraints() [9/10]

template<>
void ParsedDirichletBCs< 2, 3 >::compute_nonzero_normal_flux_constraints ( dealii::DoFHandler< 2, 3 > const &  ,
ConstraintMatrix  
) const

Definition at line 461 of file parsed_dirichlet_bcs.cc.

§ compute_nonzero_normal_flux_constraints() [10/10]

template<>
void ParsedDirichletBCs< 2, 3 >::compute_nonzero_normal_flux_constraints ( const DoFHandler< 2, 3 > &  ,
const Mapping< 2, 3 > &  ,
ConstraintMatrix  
) const

Definition at line 468 of file parsed_dirichlet_bcs.cc.

§ declare_parameters()

template<int dim, int spacedim>
void ParsedDirichletBCs< dim, spacedim >::declare_parameters ( ParameterHandler prm)
virtual

these method calls the method of the Parent class

Reimplemented from ParsedMappedFunctions< spacedim >.

Definition at line 44 of file parsed_dirichlet_bcs.cc.

§ interpolate_boundary_values() [1/4]

template<int dim, int spacedim>
void ParsedDirichletBCs< dim, spacedim >::interpolate_boundary_values ( const DoFHandler< dim, spacedim > &  dof_handler,
ConstraintMatrix constraints 
) const

This function must be called in order to apply the boundary conditions to the ConstraintMatrix.

It relies on the VectorTools::interpolate_boundary_values functions of the deal.II library

Definition at line 56 of file parsed_dirichlet_bcs.cc.

§ interpolate_boundary_values() [2/4]

template<int dim, int spacedim>
void ParsedDirichletBCs< dim, spacedim >::interpolate_boundary_values ( const Mapping< dim, spacedim > &  mapping,
const DoFHandler< dim, spacedim > &  dof_handler,
ConstraintMatrix constraints 
) const

This function must be called in order to apply the boundary conditions to the ConstraintMatrix.

It relies on the VectorTools::interpolate_boundary_values functions of the deal.II library

Definition at line 69 of file parsed_dirichlet_bcs.cc.

§ interpolate_boundary_values() [3/4]

template<int dim, int spacedim>
void ParsedDirichletBCs< dim, spacedim >::interpolate_boundary_values ( const DoFHandler< dim, spacedim > &  dof_handler,
std::map< types::global_dof_index, double > &  d_dofs 
) const

This function must be called in order to apply the boundary conditions to the ConstraintMatrix.

It relies on the VectorTools::interpolate_boundary_values functions of the deal.II library

Definition at line 84 of file parsed_dirichlet_bcs.cc.

§ interpolate_boundary_values() [4/4]

template<int dim, int spacedim>
void ParsedDirichletBCs< dim, spacedim >::interpolate_boundary_values ( const Mapping< dim, spacedim > &  mapping,
const DoFHandler< dim, spacedim > &  dof_handler,
std::map< types::global_dof_index, double > &  d_dofs 
) const

This function must be called in order to apply the boundary conditions to the ConstraintMatrix.

It relies on the VectorTools::interpolate_boundary_values functions of the deal.II library

Definition at line 97 of file parsed_dirichlet_bcs.cc.

§ parse_parameters_call_back()

template<int dim, int spacedim>
void ParsedDirichletBCs< dim, spacedim >::parse_parameters_call_back ( )
virtual

these method calls the method of the Parent class

Reimplemented from ParsedMappedFunctions< spacedim >.

Definition at line 50 of file parsed_dirichlet_bcs.cc.

§ project_boundary_values() [1/16]

template<>
void ParsedDirichletBCs< 1, 2 >::project_boundary_values ( dealii::DoFHandler< 1, 2 > const &  ,
dealii::Quadrature< 0 > const &  ,
dealii::ConstraintMatrix &   
) const

Definition at line 115 of file parsed_dirichlet_bcs.cc.

§ project_boundary_values() [2/16]

template<>
void ParsedDirichletBCs< 1, 3 >::project_boundary_values ( dealii::DoFHandler< 1, 3 > const &  ,
dealii::Quadrature< 0 > const &  ,
dealii::ConstraintMatrix &   
) const

Definition at line 121 of file parsed_dirichlet_bcs.cc.

§ project_boundary_values() [3/16]

template<>
void ParsedDirichletBCs< 2, 3 >::project_boundary_values ( dealii::DoFHandler< 2, 3 > const &  ,
dealii::Quadrature< 1 > const &  ,
dealii::ConstraintMatrix &   
) const

Definition at line 127 of file parsed_dirichlet_bcs.cc.

§ project_boundary_values() [4/16]

template<>
void ParsedDirichletBCs< 1, 2 >::project_boundary_values ( const Mapping< 1, 2 > &  ,
dealii::DoFHandler< 1, 2 > const &  ,
dealii::Quadrature< 0 > const &  ,
dealii::ConstraintMatrix &   
) const

Definition at line 134 of file parsed_dirichlet_bcs.cc.

§ project_boundary_values() [5/16]

template<>
void ParsedDirichletBCs< 1, 3 >::project_boundary_values ( const Mapping< 1, 3 > &  ,
dealii::DoFHandler< 1, 3 > const &  ,
dealii::Quadrature< 0 > const &  ,
dealii::ConstraintMatrix &   
) const

Definition at line 142 of file parsed_dirichlet_bcs.cc.

§ project_boundary_values() [6/16]

template<>
void ParsedDirichletBCs< 2, 3 >::project_boundary_values ( const Mapping< 2, 3 > &  ,
dealii::DoFHandler< 2, 3 > const &  ,
dealii::Quadrature< 1 > const &  ,
dealii::ConstraintMatrix &   
) const

Definition at line 152 of file parsed_dirichlet_bcs.cc.

§ project_boundary_values() [7/16]

template<int dim, int spacedim>
void ParsedDirichletBCs< dim, spacedim >::project_boundary_values ( const DoFHandler< dim, spacedim > &  dof_handler,
const Quadrature< dim-1 > &  quadrature,
ConstraintMatrix constraints 
) const

This function must be called in order to apply the boundary conditions to the ConstraintMatrix.

It relies on the VectorTools::project_boundary_values functions of the deal.II library

Definition at line 193 of file parsed_dirichlet_bcs.cc.

§ project_boundary_values() [8/16]

template<int dim, int spacedim>
void ParsedDirichletBCs< dim, spacedim >::project_boundary_values ( const Mapping< dim, spacedim > &  mapping,
const DoFHandler< dim, spacedim > &  dof_handler,
const Quadrature< dim-1 > &  quadrature,
ConstraintMatrix constraints 
) const

This function must be called in order to apply the boundary conditions to the ConstraintMatrix.

It relies on the VectorTools::project_boundary_values functions of the deal.II library

Definition at line 163 of file parsed_dirichlet_bcs.cc.

§ project_boundary_values() [9/16]

template<int dim, int spacedim>
void ParsedDirichletBCs< dim, spacedim >::project_boundary_values ( const DoFHandler< dim, spacedim > &  dof_handler,
const Quadrature< dim-1 > &  quadrature,
std::map< types::global_dof_index, double > &  projected_bv 
) const

This function must be called in order to apply the boundary conditions to the ConstraintMatrix.

It relies on the VectorTools::project_boundary_values functions of the deal.II library

Definition at line 313 of file parsed_dirichlet_bcs.cc.

§ project_boundary_values() [10/16]

template<int dim, int spacedim>
void ParsedDirichletBCs< dim, spacedim >::project_boundary_values ( const Mapping< dim, spacedim > &  mapping,
const DoFHandler< dim, spacedim > &  dof_handler,
const Quadrature< dim-1 > &  quadrature,
std::map< types::global_dof_index, double > &  projected_bv 
) const

This function must be called in order to apply the boundary conditions to the ConstraintMatrix.

It relies on the VectorTools::project_boundary_values functions of the deal.II library

Definition at line 254 of file parsed_dirichlet_bcs.cc.

§ project_boundary_values() [11/16]

template<>
void ParsedDirichletBCs< 1, 2 >::project_boundary_values ( Mapping< 1, 2 > const &  ,
DoFHandler< 1, 2 > const &  ,
Quadrature< 0 > const &  ,
std::map< types::global_dof_index, double > &   
) const

Definition at line 222 of file parsed_dirichlet_bcs.cc.

§ project_boundary_values() [12/16]

template<>
void ParsedDirichletBCs< 1, 3 >::project_boundary_values ( Mapping< 1, 3 > const &  ,
DoFHandler< 1, 3 > const &  ,
Quadrature< 0 > const &  ,
std::map< types::global_dof_index, double > &   
) const

Definition at line 232 of file parsed_dirichlet_bcs.cc.

§ project_boundary_values() [13/16]

template<>
void ParsedDirichletBCs< 2, 3 >::project_boundary_values ( Mapping< 2, 3 > const &  ,
DoFHandler< 2, 3 > const &  ,
Quadrature< 1 > const &  ,
std::map< types::global_dof_index, double > &   
) const

Definition at line 244 of file parsed_dirichlet_bcs.cc.

§ project_boundary_values() [14/16]

template<>
void ParsedDirichletBCs< 1, 2 >::project_boundary_values ( const DoFHandler< 1, 2 > &  ,
const Quadrature< 0 > &  ,
std::map< types::global_dof_index, double > &   
) const

Definition at line 286 of file parsed_dirichlet_bcs.cc.

§ project_boundary_values() [15/16]

template<>
void ParsedDirichletBCs< 1, 3 >::project_boundary_values ( const DoFHandler< 1, 3 > &  ,
const Quadrature< 0 > &  ,
std::map< types::global_dof_index, double > &   
) const

Definition at line 295 of file parsed_dirichlet_bcs.cc.

§ project_boundary_values() [16/16]

template<>
void ParsedDirichletBCs< 2, 3 >::project_boundary_values ( const DoFHandler< 2, 3 > &  ,
const Quadrature< 1 > &  ,
std::map< types::global_dof_index, double > &   
) const

Definition at line 304 of file parsed_dirichlet_bcs.cc.

Member Data Documentation

§ n_components

template<int dim, int spacedim = dim>
const unsigned int ParsedDirichletBCs< dim, spacedim >::n_components
private

Number of components of the underlying Function objects.

Definition at line 271 of file parsed_dirichlet_bcs.h.


The documentation for this class was generated from the following files: