FEIBM_ANS: ImmersedFEM< dim > Class Template Reference

FEIBM_ANS

- Main Page
- Related Pages
- Classes
- Files

- Class List
- Class Index
- Class Hierarchy
- Class Members

All Classes Files Functions Variables Enumerations Enumerator Pages
Public Member Functions | Private Member Functions | Private Attributes | List of all members
ImmersedFEM< dim > Class Template Reference

## Public Member Functions
| ImmersedFEM (ProblemParameters< dim > &par)
| ~ImmersedFEM ()
void | run ()

## Private Member Functions
void | create_triangulation_and_dofs ()
void | apply_constraints (vector< double > &local_res, FullMatrix< double > &local_jacobian, const Vector< double > &local_up, const vector< unsigned int > &dofs)
void | compute_current_bc (const double time)
void | apply_current_bc (BlockVector< double > &vec, const double time)
void | assemble_sparsity (Mapping< dim, dim > &mapping)
void | get_area_and_first_pressure_dof ()
void | residual_and_or_Jacobian (BlockVector< double > &residual, BlockSparseMatrix< double > &Jacobian, const BlockVector< double > &xit, const BlockVector< double > &xi, const double alpha, const double t)
void | distribute_residual (Vector< double > &residual, const vector< double > &local_res, const vector< unsigned int > &dofs_1, const unsigned int offset_1)
void | distribute_jacobian (SparseMatrix< double > &Jacobian, const FullMatrix< double > &local_Jac, const vector< unsigned int > &dofs_1, const vector< unsigned int > &dofs_2, const unsigned int offset_1, const unsigned int offset_2)
void | distribute_constraint_on_pressure (Vector< double > &residual, const double average_pressure)
void | distribute_constraint_on_pressure (SparseMatrix< double > &jacobian, const vector< double > &pressure_coefficient, const vector< unsigned int > &dofs, const unsigned int offset)
void | localize (Vector< double > &local_M_gamma3_inv_A_gamma, const Vector< double > &M_gamma3_inv_A_gamma, const vector< unsigned int > &dofs)
void | get_Agamma_values (const FEValues< dim, dim > &fe_v_s, const vector< unsigned int > &dofs, const Vector< double > &xi, Vector< double > &local_A_gamma)
void | get_Pe_F_and_DPeFT_dxi_values (const FEValues< dim, dim > &fe_v_s, const vector< unsigned int > &dofs, const Vector< double > &xi, const bool update_jacobian, vector< Tensor< 2, dim, double > > &Pe, vector< Tensor< 2, dim, double > > &F, vector< vector< Tensor< 2, dim, double > > > &DPe_dxi)
void | calculate_error () const
unsigned int | n_dofs () const
void | output_step (const double t, const BlockVector< double > &solution, const unsigned int step_number, const double h)
template<class Type >
void | set_to_zero (Type &v) const
template<class Type >
void | set_to_zero (Table< 2, Type > &v) const
template<class Type >
void | set_to_zero (vector< Type > &v) const
double | norm (const vector< double > &v)

## Private Attributes
ProblemParameters< dim > & | par
vector< unsigned char > | boundary_indicators
Triangulation< dim > | tria_f
Triangulation< dim, dim > | tria_s
FESystem< dim > | fe_f
bool | dgp_for_p
FESystem< dim, dim > | fe_s
DoFHandler< dim > | dh_f
DoFHandler< dim, dim > | dh_s
MappingQEulerian< dim, Vector < double >, dim > * | mapping
QGauss< dim > | quad_f
QTrapez< 1 > | qtrapez
QIterated< dim > | quad_s
ConstraintMatrix | constraints_f
ConstraintMatrix | constraints_s
BlockSparsityPattern | sparsity
BlockSparseMatrix< double > | JF
BlockSparseMatrix< double > | dummy_JF
BlockVector< double > | current_xi
BlockVector< double > | previous_xi
BlockVector< double > | current_xit
BlockVector< double > | current_res
BlockVector< double > | newton_update
Vector< double > | pressure_average
Vector< double > | unit_pressure
unsigned int | n_dofs_u
unsigned int | n_dofs_p
unsigned int | n_dofs_up
unsigned int | n_dofs_W
unsigned int | n_total_dofs
Vector< double > | tmp_vec_n_total_dofs
Vector< double > | tmp_vec_n_dofs_up
SparseDirectUMFPACK | JF_inv
double | scaling
double | previous_time
unsigned int | constraining_dof
set< unsigned int > | pressure_dofs
Vector< double > | A_gamma
SparseMatrix< double > | M_gamma3
SparseDirectUMFPACK | M_gamma3_inv
Vector< double > | M_gamma3_inv_A_gamma
double | area
ofstream | global_info_file

## Detailed Description

### template<int dim>
class ImmersedFEM< dim >

Definition at line 491 of file step-feibm.cc.

## Constructor & Destructor Documentation

template<int dim>

ImmersedFEM< dim >::ImmersedFEM | ( | ProblemParameters< dim > & | par | ) |

Definition at line 745 of file step-feibm.cc.

References ImmersedFEM< dim >::create_triangulation_and_dofs(), ProblemParameters< dim >::degree, ImmersedFEM< dim >::dgp_for_p, ProblemParameters< dim >::fe_p_name, ImmersedFEM< dim >::global_info_file, and ProblemParameters< dim >::output_name.

template<int dim>

ImmersedFEM< dim >::~ImmersedFEM | ( |  | ) |

Definition at line 778 of file step-feibm.cc.

## Member Function Documentation

template<int dim>

void ImmersedFEM< dim >::apply_constraints | ( | vector< double > & | local_res,
|  | FullMatrix< double > & | local_jacobian,
|  | const Vector< double > & | local_up,
|  | const vector< unsigned int > & | dofs
| ) |  |
| private

Definition at line 2236 of file step-feibm.cc.

template<int dim>

void ImmersedFEM< dim >::apply_current_bc | ( | BlockVector< double > & | vec,
|  | const double | time
| ) |  |
| private

Definition at line 806 of file step-feibm.cc.

template<int dim>

void ImmersedFEM< dim >::assemble_sparsity | ( | Mapping< dim, dim > & | mapping | ) |
| private

Definition at line 1070 of file step-feibm.cc.

template<int dim>

void ImmersedFEM< dim >::calculate_error | ( |  | ) | const
| private

Definition at line 2319 of file step-feibm.cc.

template<int dim>

void ImmersedFEM< dim >::compute_current_bc | ( | const double | time | ) |
| private

Definition at line 787 of file step-feibm.cc.

template<int dim>

void ImmersedFEM< dim >::create_triangulation_and_dofs | ( |  | ) |
| private

Definition at line 827 of file step-feibm.cc.

References ExactSolutionRingWithFibers< dim >::center, ExactSolutionRingWithFibers< dim >::l, ExactSolutionRingWithFibers< dim >::R, and ExactSolutionRingWithFibers< dim >::w.

Referenced by ImmersedFEM< dim >::ImmersedFEM().

template<int dim>

void ImmersedFEM< dim >::distribute_constraint_on_pressure | ( | Vector< double > & | residual,
|  | const double | average_pressure
| ) |  |
| private

Definition at line 2275 of file step-feibm.cc.

template<int dim>

void ImmersedFEM< dim >::distribute_constraint_on_pressure | ( | SparseMatrix< double > & | jacobian,
|  | const vector< double > & | pressure_coefficient,
|  | const vector< unsigned int > & | dofs,
|  | const unsigned int | offset
| ) |  |
| private

Definition at line 2286 of file step-feibm.cc.

template<int dim>

void ImmersedFEM< dim >::distribute_jacobian | ( | SparseMatrix< double > & | Jacobian,
|  | const FullMatrix< double > & | local_Jac,
|  | const vector< unsigned int > & | dofs_1,
|  | const vector< unsigned int > & | dofs_2,
|  | const unsigned int | offset_1,
|  | const unsigned int | offset_2
| ) |  |
| private

Definition at line 2217 of file step-feibm.cc.

template<int dim>

void ImmersedFEM< dim >::distribute_residual | ( | Vector< double > & | residual,
|  | const vector< double > & | local_res,
|  | const vector< unsigned int > & | dofs_1,
|  | const unsigned int | offset_1
| ) |  |
| private

Definition at line 2202 of file step-feibm.cc.

template<int dim>

void ImmersedFEM< dim >::get_Agamma_values | ( | const FEValues< dim, dim > & | fe_v_s,
|  | const vector< unsigned int > & | dofs,
|  | const Vector< double > & | xi,
|  | Vector< double > & | local_A_gamma
| ) |  |
| private

Definition at line 2032 of file step-feibm.cc.

template<int dim>

void ImmersedFEM< dim >::get_area_and_first_pressure_dof | ( |  | ) |
| private

Definition at line 1115 of file step-feibm.cc.

template<int dim>

void ImmersedFEM< dim >::get_Pe_F_and_DPeFT_dxi_values | ( | const FEValues< dim, dim > & | fe_v_s,
|  | const vector< unsigned int > & | dofs,
|  | const Vector< double > & | xi,
|  | const bool | update_jacobian,
|  | vector< Tensor< 2, dim, double > > & | Pe,
|  | vector< Tensor< 2, dim, double > > & | F,
|  | vector< vector< Tensor< 2, dim, double > > > & | DPe_dxi
| ) |  |
| private

Definition at line 2078 of file step-feibm.cc.

References ProblemParameters< dim >::mu, and ProblemParameters< dim >::ring_center.

template<int dim>

void ImmersedFEM< dim >::localize | ( | Vector< double > & | local_M_gamma3_inv_A_gamma,
|  | const Vector< double > & | M_gamma3_inv_A_gamma,
|  | const vector< unsigned int > & | dofs
| ) |  |
| private

Definition at line 2306 of file step-feibm.cc.

template<int dim>

unsigned int ImmersedFEM< dim >::n_dofs | ( |  | ) | const
| inline private

Definition at line 720 of file step-feibm.cc.

References ImmersedFEM< dim >::n_total_dofs.

template<int dim>

double ImmersedFEM< dim >::norm | ( | const vector< double > & | v | ) |
| private

Definition at line 2434 of file step-feibm.cc.

template<int dim>

void ImmersedFEM< dim >::output_step | ( | const double | t,
|  | const BlockVector< double > & | solution,
|  | const unsigned int | step_number,
|  | const double | h
| ) |  |
| private

Definition at line 1888 of file step-feibm.cc.

template<int dim>

void ImmersedFEM< dim >::residual_and_or_Jacobian | ( | BlockVector< double > & | residual,
|  | BlockSparseMatrix< double > & | Jacobian,
|  | const BlockVector< double > & | xit,
|  | const BlockVector< double > & | xi,
|  | const double | alpha,
|  | const double | t
| ) |  |
| private

Definition at line 1159 of file step-feibm.cc.

template<int dim>

void ImmersedFEM< dim >::run | ( |  | ) |

Definition at line 1753 of file step-feibm.cc.

Referenced by main().

template<int dim>
template<class Type >

void ImmersedFEM< dim >::set_to_zero | ( | Type & | v | ) | const
| inline private

Definition at line 2413 of file step-feibm.cc.

template<int dim>
template<class Type >

void ImmersedFEM< dim >::set_to_zero | ( | Table< 2, Type > & | v | ) | const
| inline private

Definition at line 2427 of file step-feibm.cc.

template<int dim>
template<class Type >

void ImmersedFEM< dim >::set_to_zero | ( | vector< Type > & | v | ) | const
| inline private

Definition at line 2420 of file step-feibm.cc.

## Member Data Documentation

template<int dim>

Vector<double> ImmersedFEM< dim >::A_gamma
| private

Definition at line 623 of file step-feibm.cc.

template<int dim>

double ImmersedFEM< dim >::area
| private

Definition at line 635 of file step-feibm.cc.

template<int dim>

vector<unsigned char> ImmersedFEM< dim >::boundary_indicators
| private

Definition at line 510 of file step-feibm.cc.

template<int dim>

unsigned int ImmersedFEM< dim >::constraining_dof
| private

Definition at line 617 of file step-feibm.cc.

template<int dim>

ConstraintMatrix ImmersedFEM< dim >::constraints_f
| private

Definition at line 555 of file step-feibm.cc.

template<int dim>

ConstraintMatrix ImmersedFEM< dim >::constraints_s
| private

Definition at line 559 of file step-feibm.cc.

template<int dim>

BlockVector<double> ImmersedFEM< dim >::current_res
| private

Definition at line 588 of file step-feibm.cc.

template<int dim>

BlockVector<double> ImmersedFEM< dim >::current_xi
| private

Definition at line 576 of file step-feibm.cc.

template<int dim>

BlockVector<double> ImmersedFEM< dim >::current_xit
| private

Definition at line 584 of file step-feibm.cc.

template<int dim>

bool ImmersedFEM< dim >::dgp_for_p
| private

Definition at line 526 of file step-feibm.cc.

Referenced by ImmersedFEM< dim >::ImmersedFEM().

template<int dim>

DoFHandler<dim> ImmersedFEM< dim >::dh_f
| private

Definition at line 534 of file step-feibm.cc.

template<int dim>

DoFHandler<dim, dim> ImmersedFEM< dim >::dh_s
| private

Definition at line 538 of file step-feibm.cc.

template<int dim>

BlockSparseMatrix<double> ImmersedFEM< dim >::dummy_JF
| private

Definition at line 572 of file step-feibm.cc.

template<int dim>

FESystem<dim> ImmersedFEM< dim >::fe_f
| private

Definition at line 522 of file step-feibm.cc.

template<int dim>

FESystem<dim, dim> ImmersedFEM< dim >::fe_s
| private

Definition at line 530 of file step-feibm.cc.

template<int dim>

ofstream ImmersedFEM< dim >::global_info_file
| private

Definition at line 638 of file step-feibm.cc.

Referenced by ImmersedFEM< dim >::ImmersedFEM().

template<int dim>

BlockSparseMatrix<double> ImmersedFEM< dim >::JF
| private

Definition at line 567 of file step-feibm.cc.

template<int dim>

SparseDirectUMFPACK ImmersedFEM< dim >::JF_inv
| private

Definition at line 608 of file step-feibm.cc.

template<int dim>

SparseMatrix<double> ImmersedFEM< dim >::M_gamma3
| private

Definition at line 626 of file step-feibm.cc.

template<int dim>

SparseDirectUMFPACK ImmersedFEM< dim >::M_gamma3_inv
| private

Definition at line 629 of file step-feibm.cc.

template<int dim>

Vector<double> ImmersedFEM< dim >::M_gamma3_inv_A_gamma
| private

Definition at line 632 of file step-feibm.cc.

template<int dim>

MappingQEulerian<dim, Vector<double>, dim>* ImmersedFEM< dim >::mapping
| private

Definition at line 542 of file step-feibm.cc.

template<int dim>

unsigned int ImmersedFEM< dim >::n_dofs_p
| private

Definition at line 603 of file step-feibm.cc.

template<int dim>

unsigned int ImmersedFEM< dim >::n_dofs_u
| private

Definition at line 603 of file step-feibm.cc.

template<int dim>

unsigned int ImmersedFEM< dim >::n_dofs_up
| private

Definition at line 603 of file step-feibm.cc.

template<int dim>

unsigned int ImmersedFEM< dim >::n_dofs_W
| private

Definition at line 603 of file step-feibm.cc.

template<int dim>

unsigned int ImmersedFEM< dim >::n_total_dofs
| private

Definition at line 603 of file step-feibm.cc.

Referenced by ImmersedFEM< dim >::n_dofs().

template<int dim>

BlockVector<double> ImmersedFEM< dim >::newton_update
| private

Definition at line 592 of file step-feibm.cc.

template<int dim>

ProblemParameters<dim>& ImmersedFEM< dim >::par
| private

Definition at line 506 of file step-feibm.cc.

template<int dim>

Vector<double> ImmersedFEM< dim >::pressure_average
| private

Definition at line 596 of file step-feibm.cc.

template<int dim>

set<unsigned int> ImmersedFEM< dim >::pressure_dofs
| private

Definition at line 620 of file step-feibm.cc.

template<int dim>

double ImmersedFEM< dim >::previous_time
| private

Definition at line 614 of file step-feibm.cc.

template<int dim>

BlockVector<double> ImmersedFEM< dim >::previous_xi
| private

Definition at line 580 of file step-feibm.cc.

template<int dim>

QTrapez<1> ImmersedFEM< dim >::qtrapez
| private

Definition at line 550 of file step-feibm.cc.

template<int dim>

QGauss<dim> ImmersedFEM< dim >::quad_f
| private

Definition at line 546 of file step-feibm.cc.

template<int dim>

QIterated<dim> ImmersedFEM< dim >::quad_s
| private

Definition at line 551 of file step-feibm.cc.

template<int dim>

double ImmersedFEM< dim >::scaling
| private

Definition at line 611 of file step-feibm.cc.

template<int dim>

BlockSparsityPattern ImmersedFEM< dim >::sparsity
| private

Definition at line 563 of file step-feibm.cc.

template<int dim>

Vector<double> ImmersedFEM< dim >::tmp_vec_n_dofs_up
| private

Definition at line 606 of file step-feibm.cc.

template<int dim>

Vector<double> ImmersedFEM< dim >::tmp_vec_n_total_dofs
| private

Definition at line 605 of file step-feibm.cc.

template<int dim>

Triangulation<dim> ImmersedFEM< dim >::tria_f
| private

Definition at line 514 of file step-feibm.cc.

template<int dim>

Triangulation<dim, dim> ImmersedFEM< dim >::tria_s
| private

Definition at line 518 of file step-feibm.cc.

template<int dim>

Vector<double> ImmersedFEM< dim >::unit_pressure
| private

Definition at line 600 of file step-feibm.cc.

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

- tmp/step-feibm.cc