|
| v0.14.0
|
Go to the documentation of this file.
8 namespace bio = boost::iostreams;
10 using bio::tee_device;
12 static char help[] =
"...\n\n";
29 const double z,
double &flux) {
37 const double y,
const double z,
double &value) {
44 const double y,
const double z,
double &flux) {
51 int main(
int argc,
char *argv[]) {
60 MPI_Comm_rank(PETSC_COMM_WORLD, &rank);
62 PetscBool flg = PETSC_TRUE;
66 if (flg != PETSC_TRUE) {
67 SETERRQ(PETSC_COMM_SELF, 1,
"*** ERROR -my_file (MESH FILE NEEDED)");
70 ParallelComm *pcomm = ParallelComm::get_pcomm(&moab,
MYPCOMM_INDEX);
72 pcomm =
new ParallelComm(&moab, PETSC_COMM_WORLD);
96 if (flg != PETSC_TRUE) {
113 CHKERR skin.find_skin(0, tets,
false, skin_faces);
124 CHKERR VecNorm(ufe.
F, NORM_2, &nrm2_F);
126 const double eps = 1e-8;
129 "problem with residual");
#define MoFEMFunctionReturnHot(a)
Last executable line of each PETSc function used for error handling. Replaces return()
MoFEMErrorCode getInterface(IFACE *&iface) const
Get interface reference to pointer of interface.
#define BARRIER_PCOMM_RANK_START(PCMB)
set barrier start Run code in sequence, starting from process 0, and ends on last process.
MoFEMErrorCode addFiniteElements(const std::string &fluxes_name, const std::string &values_name)
add finite elements
#define MYPCOMM_INDEX
default communicator number PCOMM
MoFEMErrorCode calculateResidual()
calculate residual
PetscErrorCode MoFEMErrorCode
MoFEM/PETSc error code.
MoFEMErrorCode getBcOnFluxes(const EntityHandle ent, const double x, const double y, const double z, double &flux)
essential (Neumann) boundary condition (set fluxes)
static MoFEMErrorCode Finalize()
Checks for options to be called at the conclusion of the program.
MoFEMErrorCode getBcOnValues(const EntityHandle ent, const double x, const double y, const double z, double &value)
Deprecated interface functions.
DeprecatedCoreInterface Interface
MoFEMErrorCode createMatrices()
create matrices
virtual MoFEMErrorCode add_ents_to_finite_element_by_type(const EntityHandle entities, const EntityType type, const std::string &name, const bool recursive=true)=0
add entities to finite element
#define CHKERR
Inline error check.
implementation of Data Operators for Forces and Sources
MoFEMErrorCode solveLinearProblem()
solve problem
Application of mix transport data structure.
#define BARRIER_PCOMM_RANK_END(PCMB)
set barrier start Run code in sequence, starting from process 0, and ends on last process.
int main(int argc, char *argv[])
static MoFEMErrorCode Initialize(int *argc, char ***args, const char file[], const char help[])
Initializes the MoFEM database PETSc, MOAB and MPI.
MoFEMErrorCode buildProblem(BitRefLevel &ref_level)
Build problem.
#define CATCH_ERRORS
Catch errors.
Mix implementation of transport element.
MoFEMErrorCode addFields(const std::string &values, const std::string &fluxes, const int order)
Add fields to database.
static MoFEMErrorCodeGeneric< PetscErrorCode > ierr
MyTransport(MoFEM::Interface &m_field)
PetscErrorCode PetscOptionsGetString(PetscOptions *, const char pre[], const char name[], char str[], size_t size, PetscBool *set)
std::bitset< BITREFLEVEL_SIZE > BitRefLevel
Bit structure attached to each entity identifying to what mesh entity is attached.
@ MOFEM_ATOM_TEST_INVALID
MoFEMErrorCode destroyMatrices()
destroy matrices
#define MoFEMFunctionBeginHot
First executable line of each MoFEM function, used for error handling. Final line of MoFEM functions ...
MoFEMErrorCode evaluateError()
Calculate error on elements.
MoFEMErrorCode getSource(EntityHandle ent, const double x, const double y, const double z, double &flux)
set source term
PetscErrorCode PetscOptionsGetInt(PetscOptions *, const char pre[], const char name[], PetscInt *ivalue, PetscBool *set)
#define CHKERRG(n)
Check error code of MoFEM/MOAB/PETSc function.