v0.9.0
Public Member Functions | Public Attributes | List of all members
AnalyticalDirichletHelmholtzBC::DirichletBC_LhsOnly Struct Reference

#include <users_modules/helmholtz/src/AnalyticalDirichletHelmholtz.hpp>

Inheritance diagram for AnalyticalDirichletHelmholtzBC::DirichletBC_LhsOnly:
[legend]
Collaboration diagram for AnalyticalDirichletHelmholtzBC::DirichletBC_LhsOnly:
[legend]

Public Member Functions

 DirichletBC_LhsOnly (MoFEM::Interface &m_field, const string &field, Mat A, Vec X, Vec F)
 
 DirichletBC_LhsOnly (MoFEM::Interface &m_field, const string &field)
 
virtual PetscErrorCode postProcess ()
 
- Public Member Functions inherited from AnalyticalDirichletHelmholtzBC::DirichletBC
 DirichletBC (MoFEM::Interface &m_field, const string &field, Mat A, Vec X, Vec F)
 
 DirichletBC (MoFEM::Interface &m_field, const string &field)
 
PetscErrorCode iNitalize ()
 
PetscErrorCode iNitalize (Range &tris)
 

Public Attributes

Range * tRis_ptr
 
- Public Attributes inherited from AnalyticalDirichletHelmholtzBC::DirichletBC
Range * tRis_ptr
 

Detailed Description

Definition at line 222 of file AnalyticalDirichletHelmholtz.hpp.

Constructor & Destructor Documentation

◆ DirichletBC_LhsOnly() [1/2]

AnalyticalDirichletHelmholtzBC::DirichletBC_LhsOnly::DirichletBC_LhsOnly ( MoFEM::Interface m_field,
const string &  field,
Mat  A,
Vec  X,
Vec  F 
)

◆ DirichletBC_LhsOnly() [2/2]

AnalyticalDirichletHelmholtzBC::DirichletBC_LhsOnly::DirichletBC_LhsOnly ( MoFEM::Interface m_field,
const string &  field 
)

Member Function Documentation

◆ postProcess()

PetscErrorCode AnalyticalDirichletHelmholtzBC::DirichletBC_LhsOnly::postProcess ( )
virtual

Definition at line 360 of file AnalyticalDirichletHelmholtz.cpp.

360  {
361  PetscFunctionBegin;
362 
363  switch (ts_ctx) {
364  case CTX_TSSETIFUNCTION: {
365  snes_ctx = CTX_SNESSETFUNCTION;
366  snes_x = ts_u;
367  snes_f = ts_F;
368  break;
369  }
370  case CTX_TSSETIJACOBIAN: {
371  snes_ctx = CTX_SNESSETJACOBIAN;
372  snes_B = ts_B;
373  break;
374  }
375  default:
376  break;
377  }
378 
379  ierr = iNitalize(); CHKERRQ(ierr);
380 
381  if(snes_ctx == CTX_SNESNONE && ts_ctx == CTX_TSNONE) {
382  ierr = MatAssemblyBegin(snes_B,MAT_FINAL_ASSEMBLY); CHKERRQ(ierr);
383  ierr = MatAssemblyEnd(snes_B,MAT_FINAL_ASSEMBLY); CHKERRQ(ierr);
384  ierr = MatZeroRowsColumns(snes_B,dofsIndices.size(),&dofsIndices[0],1.0,PETSC_NULL,PETSC_NULL); CHKERRQ(ierr);
385  }
386 
387  PetscFunctionReturn(0);
388 
389  }
CHKERRQ(ierr)

Member Data Documentation

◆ tRis_ptr

Range* AnalyticalDirichletHelmholtzBC::DirichletBC_LhsOnly::tRis_ptr

Definition at line 232 of file AnalyticalDirichletHelmholtz.hpp.


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