v0.13.1
Public Member Functions | Public Attributes | List of all members
ConvectiveMassElement::ShellResidualElement Struct Reference

#include <users_modules/basic_finite_elements/src/ConvectiveMassElement.hpp>

Inheritance diagram for ConvectiveMassElement::ShellResidualElement:
[legend]
Collaboration diagram for ConvectiveMassElement::ShellResidualElement:
[legend]

Public Member Functions

 ShellResidualElement (MoFEM::Interface &m_field)
 
MoFEMErrorCode preProcess ()
 Calculate inconsistency between approximation of velocities and velocities calculated from displacements. More...
 

Public Attributes

MoFEM::InterfacemField
 
MatShellCtxshellMatCtx
 pointer to shell matrix More...
 

Detailed Description

Examples
nonlinear_dynamics.cpp.

Definition at line 715 of file ConvectiveMassElement.hpp.

Constructor & Destructor Documentation

◆ ShellResidualElement()

ConvectiveMassElement::ShellResidualElement::ShellResidualElement ( MoFEM::Interface m_field)

Definition at line 2410 of file ConvectiveMassElement.cpp.

2412 : mField(m_field) {}

Member Function Documentation

◆ preProcess()

MoFEMErrorCode ConvectiveMassElement::ShellResidualElement::preProcess ( )

Calculate inconsistency between approximation of velocities and velocities calculated from displacements.

Returns
MoFEMErrorCode

Definition at line 2414 of file ConvectiveMassElement.cpp.

2414 {
2416
2417 if (ts_ctx != CTX_TSSETIFUNCTION) {
2418 SETERRQ(PETSC_COMM_SELF, MOFEM_NOT_IMPLEMENTED,
2419 "It is used to residual of velocities");
2420 }
2421 if (!shellMatCtx->iNitialized) {
2423 }
2424 // Note velocities calculate from displacements are stroed in shellMatCtx->u
2425 CHKERR VecScatterBegin(shellMatCtx->scatterU, ts_u_t, shellMatCtx->u,
2426 INSERT_VALUES, SCATTER_FORWARD);
2427 CHKERR VecScatterEnd(shellMatCtx->scatterU, ts_u_t, shellMatCtx->u,
2428 INSERT_VALUES, SCATTER_FORWARD);
2429 CHKERR VecScatterBegin(shellMatCtx->scatterV, ts_u, shellMatCtx->v,
2430 INSERT_VALUES, SCATTER_FORWARD);
2431 CHKERR VecScatterEnd(shellMatCtx->scatterV, ts_u, shellMatCtx->v,
2432 INSERT_VALUES, SCATTER_FORWARD);
2433 CHKERR VecAXPY(shellMatCtx->v, -1, shellMatCtx->u);
2434 CHKERR VecScatterBegin(shellMatCtx->scatterV, shellMatCtx->v, ts_F,
2435 ADD_VALUES, SCATTER_REVERSE);
2436 CHKERR VecScatterEnd(shellMatCtx->scatterV, shellMatCtx->v, ts_F, ADD_VALUES,
2437 SCATTER_REVERSE);
2438 // VecView(shellMatCtx->v,PETSC_VIEWER_STDOUT_WORLD);
2439
2441}
#define MoFEMFunctionReturnHot(a)
Last executable line of each PETSc function used for error handling. Replaces return()
Definition: definitions.h:447
@ MOFEM_NOT_IMPLEMENTED
Definition: definitions.h:32
#define CHKERR
Inline error check.
Definition: definitions.h:535
#define MoFEMFunctionBeginHot
First executable line of each MoFEM function, used for error handling. Final line of MoFEM functions ...
Definition: definitions.h:440
MatShellCtx * shellMatCtx
pointer to shell matrix

Member Data Documentation

◆ mField

MoFEM::Interface& ConvectiveMassElement::ShellResidualElement::mField

Definition at line 716 of file ConvectiveMassElement.hpp.

◆ shellMatCtx

MatShellCtx* ConvectiveMassElement::ShellResidualElement::shellMatCtx

pointer to shell matrix

Definition at line 720 of file ConvectiveMassElement.hpp.


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