ASPECT
Classes | Functions
aspect::MatrixFreeStokesOperators Namespace Reference

Classes

struct  OperatorCellData
 
class  StokesOperator
 
class  BTBlockOperator
 
class  MassMatrixOperator
 
class  ABlockOperator
 

Functions

template<int dim, typename number >
void fill_active_cell_data (const DoFHandler< dim > &dof_handler, const DoFHandler< dim > &dof_handler_projection, const Introspection< dim > &introspection, const Quadrature< dim > &quadrature_formula, const MaterialModel::Interface< dim > &material_model, const MaterialModel::MaterialAveraging::AveragingOperation &material_averaging, const Mapping< dim > &mapping, const MatrixFree< dim, double > &matrix_free, const MatrixFree< dim, double > &matrix_free_schur, const MatrixFree< dim, double > &matrix_free_A, const LinearAlgebra::BlockVector &current_linearization_point, const MPI_Comm &mpi_comm, ::LinearAlgebra::distributed::Vector< double > &active_viscosity_vector, OperatorCellData< dim, number > &active_cell_data, double &minimum_viscosity, double &maximum_viscosity)
 

Detailed Description

This namespace contains all matrix-free operators used in the Stokes solver.

Function Documentation

◆ fill_active_cell_data()

template<int dim, typename number >
void aspect::MatrixFreeStokesOperators::fill_active_cell_data ( const DoFHandler< dim > &  dof_handler,
const DoFHandler< dim > &  dof_handler_projection,
const Introspection< dim > &  introspection,
const Quadrature< dim > &  quadrature_formula,
const MaterialModel::Interface< dim > &  material_model,
const MaterialModel::MaterialAveraging::AveragingOperation material_averaging,
const Mapping< dim > &  mapping,
const MatrixFree< dim, double > &  matrix_free,
const MatrixFree< dim, double > &  matrix_free_schur,
const MatrixFree< dim, double > &  matrix_free_A,
const LinearAlgebra::BlockVector current_linearization_point,
const MPI_Comm &  mpi_comm,
::LinearAlgebra::distributed::Vector< double > &  active_viscosity_vector,
OperatorCellData< dim, number > &  active_cell_data,
double &  minimum_viscosity,
double &  maximum_viscosity 
)

Evaluate the material model on the active mesh, project viscosities onto dof_handler_projection, fill active_viscosity_vector and active_cell_data.viscosity, and update minimum_viscosity / maximum_viscosity. matrix_free_schur and matrix_free_A are used only for DEBUG consistency checks of MatrixFree cell iteration order.