40 CHKERR DMAppendOptionsPrefix(dm_plastic,
"ep_");
41 CHKERR DMSetFromOptions(dm_plastic);
56 CHKERR DMSetUp(dm_plastic);
61 ->createMPIAIJWithArrays<PetscGlobalIdx_mi_tag>(
"PLASTIC_EP_PROBLEM",
69 ->checkMPIAIJWithArraysMatrixFillIn<PetscGlobalIdx_mi_tag>(
70 "PLASTIC_EP_PROBLEM", 1, 1, 1);
84 CHKERR DMAppendOptionsPrefix(dm_plastic_tau,
"tau_");
85 CHKERR DMSetFromOptions(dm_plastic_tau);
97 CHKERR DMSetUp(dm_plastic_tau);
109 CHKERR DMAppendOptionsPrefix(dm_contact,
"contact_");
110 CHKERR DMSetFromOptions(dm_contact);
124 CHKERR DMSetUp(dm_contact);
void simple(double P1[], double P2[], double P3[], double c[], const int N)
#define MoFEMFunctionBegin
First executable line of each MoFEM function, used for error handling. Final line of MoFEM functions ...
#define MoFEMFunctionReturn(a)
Last executable line of each PETSc function used for error handling. Replaces return()
#define CHKERR
Inline error check.
FTensor::Index< 'm', SPACE_DIM > m
PetscErrorCode DMMoFEMSetIsPartitioned(DM dm, PetscBool is_partitioned)
PetscErrorCode DMMoFEMCreateSubDM(DM subdm, DM dm, const char problem_name[])
Must be called by user to set Sub DM MoFEM data structures.
PetscErrorCode DMMoFEMAddElement(DM dm, std::string fe_name)
add element to dm
PetscErrorCode DMMoFEMSetSquareProblem(DM dm, PetscBool square_problem)
set squared problem
PetscErrorCode DMMoFEMAddSubFieldRow(DM dm, const char field_name[])
virtual bool check_field(const std::string &name) const =0
check if field is in database
Tensors class implemented by Walter Landry.
PetscErrorCode MoFEMErrorCode
MoFEM/PETSc error code.
implementation of Data Operators for Forces and Sources
PetscErrorCode DMMoFEMSetDestroyProblem(DM dm, PetscBool destroy_problem)
DEPRECATED auto createSmartDM(MPI_Comm comm, const std::string dm_type_name)
MoFEMErrorCode set_contact_dm(MoFEM::Interface &m_field, SmartPetscObj< DM > &dm, SmartPetscObj< DM > &dm_contact)
MoFEMErrorCode set_plastic_tau_dm(MoFEM::Interface &m_field, SmartPetscObj< DM > &dm, SmartPetscObj< DM > &dm_plastic_tau)
MoFEMErrorCode set_plastic_ep_dm(MoFEM::Interface &m_field, SmartPetscObj< DM > &dm, SmartPetscObj< DM > &dm_plastic)
virtual MPI_Comm & get_comm() const =0
Deprecated interface functions.
Matrix manager is used to build and partition problems.
Simple interface for fast problem set-up.
intrusive_ptr for managing petsc objects
MoFEMErrorCode getInterface(IFACE *&iface) const
Get interface refernce to pointer of interface.