Public Member Functions | Private Member Functions | Private Attributes | Friends | List of all members
oomph::ProjectionProblem< PROJECTABLE_ELEMENT > Class Template Reference

Projection problem. This is created during the adaptation of unstructured meshes and it is assumed that no boundary conditions have been set. If they have, they will be unset during the projection and must be reset afterwards. More...

#include <projection.h>

Inheritance diagram for oomph::ProjectionProblem< PROJECTABLE_ELEMENT >:

Public Member Functions

void enable_suppress_output_during_projection ()
 Suppress all output during projection phases. More...
 
void disable_suppress_output_during_projection ()
 Undo suppression of all output during projection phases. More...
 
bool use_iterative_solver_for_projection ()
 Return the value of the flag about using an iterative solver for projection. More...
 
void enable_use_iterative_solver_for_projection ()
 Enables the use of an iterative solver for projection. More...
 
void disable_use_iterative_solver_for_projection ()
 Disbales the use of an iterative solver for projection. More...
 
void project (Mesh *base_mesh_pt, const bool &dont_project_positions=false)
 Project from base into the problem's own mesh. More...
 

Private Member Functions

 ProjectionProblem ()
 Default constructor (made this private so only the friend class can call the constructor) More...
 
 ~ProjectionProblem ()
 
void store_positions ()
 Helper function to store positions (the only things that have been set before doing projection. More...
 
void restore_positions ()
 Helper function to restore positions (the only things that have been set before doing projection. More...
 
void pin_all ()
 Pin all the field values and position unknowns (bit inefficient) More...
 
void unpin_all ()
 Unpin all the field values and position unknowns (bit inefficient) More...
 
void unpin_dofs_of_coordinate (const unsigned &coord)
 Helper function to unpin the values of coordinate coord. More...
 
void pin_dofs_of_coordinate (const unsigned &coord)
 Helper function to unpin the values of coordinate coord. More...
 
void unpin_dofs_of_field (const unsigned &fld)
 Helper function to unpin dofs of fld-th field. More...
 
void pin_dofs_of_field (const unsigned &fld)
 Helper function to unpin dofs of fld-th field. More...
 
void set_time_level_for_projection (const unsigned &time_level)
 Helper function to set time level for projection. More...
 
void set_coordinate_for_projection (const unsigned &i)
 Set the coordinate for projection. More...
 
void set_lagrangian_coordinate_for_projection (const unsigned &i)
 Set the Lagrangian coordinate for projection. More...
 
void set_current_field_for_projection (const unsigned &fld)
 Set current field for projection. More...
 

Private Attributes

Vector< DenseMatrix< double > > Solid_backup
 Backup for pin status of solid node's position Data. More...
 
bool Output_during_projection_suppressed
 Flag to suppress output during projection. More...
 
bool Use_iterative_solver_for_projection
 
IterativeLinearSolver * Iterative_solver_projection_pt
 
Preconditioner * Preconditioner_projection_pt
 

Friends

template<class FRIEND_PROJECTABLE_ELEMENT >
class RefineableTriangleMesh
 
template<class FRIEND_PROJECTABLE_ELEMENT >
class RefineableTetgenMesh
 
template<class FRIEND_PROJECTABLE_ELEMENT >
class BackupMeshForProjection
 
template<class FRIEND_PROJECTABLE_ELEMENT >
class RefineableGmshTetMesh
 

Detailed Description

template<class PROJECTABLE_ELEMENT>
class oomph::ProjectionProblem< PROJECTABLE_ELEMENT >

Projection problem. This is created during the adaptation of unstructured meshes and it is assumed that no boundary conditions have been set. If they have, they will be unset during the projection and must be reset afterwards.

Definition at line 694 of file projection.h.

Constructor & Destructor Documentation

◆ ProjectionProblem()

template<class PROJECTABLE_ELEMENT >
oomph::ProjectionProblem< PROJECTABLE_ELEMENT >::ProjectionProblem ( )
inlineprivate

◆ ~ProjectionProblem()

template<class PROJECTABLE_ELEMENT >
oomph::ProjectionProblem< PROJECTABLE_ELEMENT >::~ProjectionProblem ( )
inlineprivate

Member Function Documentation

◆ disable_suppress_output_during_projection()

template<class PROJECTABLE_ELEMENT >
void oomph::ProjectionProblem< PROJECTABLE_ELEMENT >::disable_suppress_output_during_projection ( )
inline

Undo suppression of all output during projection phases.

Definition at line 723 of file projection.h.

References oomph::ProjectionProblem< PROJECTABLE_ELEMENT >::Output_during_projection_suppressed.

◆ disable_use_iterative_solver_for_projection()

template<class PROJECTABLE_ELEMENT >
void oomph::ProjectionProblem< PROJECTABLE_ELEMENT >::disable_use_iterative_solver_for_projection ( )
inline

Disbales the use of an iterative solver for projection.

Definition at line 742 of file projection.h.

References oomph::ProjectionProblem< PROJECTABLE_ELEMENT >::Use_iterative_solver_for_projection.

◆ enable_suppress_output_during_projection()

template<class PROJECTABLE_ELEMENT >
void oomph::ProjectionProblem< PROJECTABLE_ELEMENT >::enable_suppress_output_during_projection ( )
inline

Suppress all output during projection phases.

Definition at line 717 of file projection.h.

References oomph::ProjectionProblem< PROJECTABLE_ELEMENT >::Output_during_projection_suppressed.

◆ enable_use_iterative_solver_for_projection()

template<class PROJECTABLE_ELEMENT >
void oomph::ProjectionProblem< PROJECTABLE_ELEMENT >::enable_use_iterative_solver_for_projection ( )
inline

Enables the use of an iterative solver for projection.

Definition at line 736 of file projection.h.

References oomph::ProjectionProblem< PROJECTABLE_ELEMENT >::Use_iterative_solver_for_projection.

◆ pin_all()

template<class PROJECTABLE_ELEMENT >
void oomph::ProjectionProblem< PROJECTABLE_ELEMENT >::pin_all ( )
inlineprivate

Pin all the field values and position unknowns (bit inefficient)

Do we have a solid mesh?

Definition at line 1503 of file projection.h.

Referenced by oomph::ProjectionProblem< PROJECTABLE_ELEMENT >::project().

◆ pin_dofs_of_coordinate()

template<class PROJECTABLE_ELEMENT >
void oomph::ProjectionProblem< PROJECTABLE_ELEMENT >::pin_dofs_of_coordinate ( const unsigned &  coord)
inlineprivate

Helper function to unpin the values of coordinate coord.

Definition at line 1667 of file projection.h.

Referenced by oomph::ProjectionProblem< PROJECTABLE_ELEMENT >::project().

◆ pin_dofs_of_field()

template<class PROJECTABLE_ELEMENT >
void oomph::ProjectionProblem< PROJECTABLE_ELEMENT >::pin_dofs_of_field ( const unsigned &  fld)
inlineprivate

Helper function to unpin dofs of fld-th field.

Definition at line 1716 of file projection.h.

Referenced by oomph::ProjectionProblem< PROJECTABLE_ELEMENT >::project().

◆ project()

template<class PROJECTABLE_ELEMENT >
void oomph::ProjectionProblem< PROJECTABLE_ELEMENT >::project ( Mesh *  base_mesh_pt,
const bool &  dont_project_positions = false 
)
inline

◆ restore_positions()

template<class PROJECTABLE_ELEMENT >
void oomph::ProjectionProblem< PROJECTABLE_ELEMENT >::restore_positions ( )
inlineprivate

Helper function to restore positions (the only things that have been set before doing projection.

Definition at line 1466 of file projection.h.

References oomph::ProjectionProblem< PROJECTABLE_ELEMENT >::Solid_backup.

◆ set_coordinate_for_projection()

template<class PROJECTABLE_ELEMENT >
void oomph::ProjectionProblem< PROJECTABLE_ELEMENT >::set_coordinate_for_projection ( const unsigned &  i)
inlineprivate

Set the coordinate for projection.

Definition at line 1750 of file projection.h.

Referenced by oomph::ProjectionProblem< PROJECTABLE_ELEMENT >::project().

◆ set_current_field_for_projection()

template<class PROJECTABLE_ELEMENT >
void oomph::ProjectionProblem< PROJECTABLE_ELEMENT >::set_current_field_for_projection ( const unsigned &  fld)
inlineprivate

Set current field for projection.

Definition at line 1784 of file projection.h.

Referenced by oomph::ProjectionProblem< PROJECTABLE_ELEMENT >::project().

◆ set_lagrangian_coordinate_for_projection()

template<class PROJECTABLE_ELEMENT >
void oomph::ProjectionProblem< PROJECTABLE_ELEMENT >::set_lagrangian_coordinate_for_projection ( const unsigned &  i)
inlineprivate

Set the Lagrangian coordinate for projection.

Definition at line 1767 of file projection.h.

Referenced by oomph::ProjectionProblem< PROJECTABLE_ELEMENT >::project().

◆ set_time_level_for_projection()

template<class PROJECTABLE_ELEMENT >
void oomph::ProjectionProblem< PROJECTABLE_ELEMENT >::set_time_level_for_projection ( const unsigned &  time_level)
inlineprivate

Helper function to set time level for projection.

Definition at line 1736 of file projection.h.

Referenced by oomph::ProjectionProblem< PROJECTABLE_ELEMENT >::project().

◆ store_positions()

template<class PROJECTABLE_ELEMENT >
void oomph::ProjectionProblem< PROJECTABLE_ELEMENT >::store_positions ( )
inlineprivate

Helper function to store positions (the only things that have been set before doing projection.

Definition at line 1425 of file projection.h.

References oomph::ProjectionProblem< PROJECTABLE_ELEMENT >::Solid_backup.

Referenced by oomph::ProjectionProblem< PROJECTABLE_ELEMENT >::project().

◆ unpin_all()

template<class PROJECTABLE_ELEMENT >
void oomph::ProjectionProblem< PROJECTABLE_ELEMENT >::unpin_all ( )
inlineprivate

Unpin all the field values and position unknowns (bit inefficient)

Do we have a solid mesh?

Definition at line 1573 of file projection.h.

Referenced by oomph::ProjectionProblem< PROJECTABLE_ELEMENT >::project().

◆ unpin_dofs_of_coordinate()

template<class PROJECTABLE_ELEMENT >
void oomph::ProjectionProblem< PROJECTABLE_ELEMENT >::unpin_dofs_of_coordinate ( const unsigned &  coord)
inlineprivate

Helper function to unpin the values of coordinate coord.

Definition at line 1639 of file projection.h.

Referenced by oomph::ProjectionProblem< PROJECTABLE_ELEMENT >::project().

◆ unpin_dofs_of_field()

template<class PROJECTABLE_ELEMENT >
void oomph::ProjectionProblem< PROJECTABLE_ELEMENT >::unpin_dofs_of_field ( const unsigned &  fld)
inlineprivate

Helper function to unpin dofs of fld-th field.

Definition at line 1696 of file projection.h.

Referenced by oomph::ProjectionProblem< PROJECTABLE_ELEMENT >::project().

◆ use_iterative_solver_for_projection()

template<class PROJECTABLE_ELEMENT >
bool oomph::ProjectionProblem< PROJECTABLE_ELEMENT >::use_iterative_solver_for_projection ( )
inline

Return the value of the flag about using an iterative solver for projection.

Definition at line 730 of file projection.h.

References oomph::ProjectionProblem< PROJECTABLE_ELEMENT >::Use_iterative_solver_for_projection.

Friends And Related Function Documentation

◆ BackupMeshForProjection

template<class PROJECTABLE_ELEMENT >
template<class FRIEND_PROJECTABLE_ELEMENT >
friend class BackupMeshForProjection
friend

Definition at line 704 of file projection.h.

◆ RefineableGmshTetMesh

template<class PROJECTABLE_ELEMENT >
template<class FRIEND_PROJECTABLE_ELEMENT >
friend class RefineableGmshTetMesh
friend

Definition at line 706 of file projection.h.

◆ RefineableTetgenMesh

template<class PROJECTABLE_ELEMENT >
template<class FRIEND_PROJECTABLE_ELEMENT >
friend class RefineableTetgenMesh
friend

Definition at line 702 of file projection.h.

◆ RefineableTriangleMesh

template<class PROJECTABLE_ELEMENT >
template<class FRIEND_PROJECTABLE_ELEMENT >
friend class RefineableTriangleMesh
friend

Definition at line 700 of file projection.h.

Member Data Documentation

◆ Iterative_solver_projection_pt

template<class PROJECTABLE_ELEMENT >
IterativeLinearSolver* oomph::ProjectionProblem< PROJECTABLE_ELEMENT >::Iterative_solver_projection_pt
private

◆ Output_during_projection_suppressed

template<class PROJECTABLE_ELEMENT >
bool oomph::ProjectionProblem< PROJECTABLE_ELEMENT >::Output_during_projection_suppressed
private

◆ Preconditioner_projection_pt

template<class PROJECTABLE_ELEMENT >
Preconditioner* oomph::ProjectionProblem< PROJECTABLE_ELEMENT >::Preconditioner_projection_pt
private

◆ Solid_backup

template<class PROJECTABLE_ELEMENT >
Vector<DenseMatrix<double> > oomph::ProjectionProblem< PROJECTABLE_ELEMENT >::Solid_backup
private

◆ Use_iterative_solver_for_projection

template<class PROJECTABLE_ELEMENT >
bool oomph::ProjectionProblem< PROJECTABLE_ELEMENT >::Use_iterative_solver_for_projection
private

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