Flow123d  master-469ee9f
Public Member Functions | Private Member Functions | Private Attributes | List of all members
P0_CouplingAssembler Class Reference

#include <mortar_assembly.hh>

Inheritance diagram for P0_CouplingAssembler:
Inheritance graph
[legend]
Collaboration diagram for P0_CouplingAssembler:
Collaboration graph
[legend]

Public Member Functions

 P0_CouplingAssembler (AssemblyFieldsPtr eq_fields, AssemblyDataPtr eq_data)
 
void assembly (const DHCellAccessor &dh_cell)
 
void pressure_diff (const DHCellAccessor &dh_cell, double delta)
 
void fix_velocity_local (const IsecData &row_ele, const IsecData &col_ele)
 
- Public Member Functions inherited from MortarAssemblyBase
 MortarAssemblyBase (AssemblyFieldsPtr eq_fields, AssemblyDataPtr eq_data)
 
virtual ~MortarAssemblyBase ()
 
virtual void assembly (FMT_UNUSED const DHCellAccessor &dh_cell)
 
void fix_velocity (const DHCellAccessor &dh_cell)
 

Private Member Functions

arma::mat & tensor_average (unsigned int row_dim, unsigned int col_dim)
 
void add_to_linsys (double scale)
 

Private Attributes

vector< IsecDataisec_data_list
 
std::vector< arma::mat > tensor_average_
 Row matrices to compute element pressure as average of boundary pressures. More...
 
std::vector< arma::vec > col_average_
 
IntersectionQuadratureP0 quadrature_
 
arma::mat product_
 

Additional Inherited Members

- Public Types inherited from MortarAssemblyBase
typedef vector< unsigned int > IsecList
 
- Protected Attributes inherited from MortarAssemblyBase
AssemblyFieldsPtr eq_fields_
 
AssemblyDataPtr eq_data_
 
MixedMeshIntersectionsmixed_mesh_
 
LocalSystem loc_system_
 
bool fix_velocity_flag
 

Detailed Description

Definition at line 70 of file mortar_assembly.hh.

Constructor & Destructor Documentation

◆ P0_CouplingAssembler()

P0_CouplingAssembler::P0_CouplingAssembler ( AssemblyFieldsPtr  eq_fields,
AssemblyDataPtr  eq_data 
)

Definition at line 16 of file mortar_assembly.cc.

Member Function Documentation

◆ add_to_linsys()

void P0_CouplingAssembler::add_to_linsys ( double  scale)
private

Definition at line 208 of file mortar_assembly.cc.

Here is the caller graph for this function:

◆ assembly()

void P0_CouplingAssembler::assembly ( const DHCellAccessor dh_cell_master)

Works well but there is large error next to the boundary.

TODO:

  • pass through the master and all slaves and collect global dofs , bcd, solution. I.e. call Nx pressure_diff not NxNx.
  • Is it safe to have duplicate rows in local_system?
  • Is it better to have more smaller local system then single big one?
  • use one big or more smaller local systems to set.

    ?? How to deal with anisotropy ?? 3d-2d : compute nv of 2d triangle 2d-2d : interpret as 2d-1d-2d, should be symmetric master-slave 2d-1d : nv is tangent to 2d and normal to 1d arma::dot(eq_fields_->anisotropy.value( ele_centre, ele->element_accessor())*nv, nv)

Definition at line 85 of file mortar_assembly.cc.

◆ fix_velocity_local()

void P0_CouplingAssembler::fix_velocity_local ( const IsecData row_ele,
const IsecData col_ele 
)

Definition at line 242 of file mortar_assembly.cc.

Here is the caller graph for this function:

◆ pressure_diff()

void P0_CouplingAssembler::pressure_diff ( const DHCellAccessor dh_cell,
double  delta 
)

Definition at line 38 of file mortar_assembly.cc.

Here is the caller graph for this function:

◆ tensor_average()

arma::mat& P0_CouplingAssembler::tensor_average ( unsigned int  row_dim,
unsigned int  col_dim 
)
inlineprivate

Definition at line 77 of file mortar_assembly.hh.

Here is the caller graph for this function:

Member Data Documentation

◆ col_average_

std::vector< arma::vec > P0_CouplingAssembler::col_average_
private

Definition at line 87 of file mortar_assembly.hh.

◆ isec_data_list

vector<IsecData> P0_CouplingAssembler::isec_data_list
private

Definition at line 83 of file mortar_assembly.hh.

◆ product_

arma::mat P0_CouplingAssembler::product_
private

Definition at line 89 of file mortar_assembly.hh.

◆ quadrature_

IntersectionQuadratureP0 P0_CouplingAssembler::quadrature_
private

Definition at line 88 of file mortar_assembly.hh.

◆ tensor_average_

std::vector< arma::mat > P0_CouplingAssembler::tensor_average_
private

Row matrices to compute element pressure as average of boundary pressures.

Definition at line 86 of file mortar_assembly.hh.


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