 |
| v0.10.0
|
Definition at line 10 of file poisson_prob.cpp.
◆ Poisson()
Poisson::Poisson |
( |
moab::Core & |
mb_instance, |
|
|
MoFEM::Core & |
core, |
|
|
int |
order |
|
) |
| |
◆ applyBc()
Definition at line 168 of file poisson_prob.cpp.
172 string name = it->getName();
173 if (name.compare(0, 14,
"ESSENTIAL") == 0) {
175 bdry_entities,
true);
179 cerr << bdry_entities;
182 bdry_entities.merge(bdr_verts);
◆ assembleSystem()
◆ readMesh()
◆ runAnalysis()
◆ setIntegrationRule()
Definition at line 75 of file poisson_prob.cpp.
77 auto vol_ruleLhs = [](
int,
int,
int p) ->
int {
return 2 * (
p - 1); };
78 auto vol_ruleRhs = [](
int,
int,
int p) ->
int {
return 2 * (
p - 1); };
◆ setOutput()
◆ setupSystem()
◆ solveSystem()
Definition at line 105 of file poisson_prob.cpp.
108 Vec global_rhs, global_solution;
109 CHKERR DMCreateGlobalVector(
dm, &global_rhs);
110 CHKERR VecDuplicate(global_rhs, &global_solution);
115 CHKERR KSPCreate(PETSC_COMM_WORLD, &
ksp);
126 CHKERR KSPSolve(
ksp, global_rhs, global_solution);
134 CHKERR VecDestroy(&global_solution);
135 CHKERR VecDestroy(&global_rhs);
141 boost::static_pointer_cast<PostProcFaceOnRefinedMesh>(
postFaceVolume)
142 ->writeFile(
"out_vol.h5m");
◆ dm
◆ domainField
std::string Poisson::domainField |
|
private |
◆ invJac
◆ ksp
◆ mField
◆ moab
moab::Interface& Poisson::moab |
|
private |
◆ mpiComm
MPI_Comm Poisson::mpiComm |
|
private |
◆ mpiRank
const int Poisson::mpiRank |
|
private |
◆ order
◆ postFaceVolume
boost::shared_ptr<VolEle> Poisson::postFaceVolume |
|
private |
◆ simpleInterface
Simple* Poisson::simpleInterface |
|
private |
◆ volPipelineLhs
boost::shared_ptr<VolEle> Poisson::volPipelineLhs |
|
private |
◆ volPipelineRhs
boost::shared_ptr<VolEle> Poisson::volPipelineRhs |
|
private |
The documentation for this struct was generated from the following file:
MoFEMErrorCode setFieldOrder(const std::string field_name, const int order, const Range *ents=NULL)
Set field order.
PetscErrorCode DMMoFEMKSPSetComputeRHS(DM dm, const char fe_name[], MoFEM::FEMethod *method, MoFEM::BasicMethod *pre_only, MoFEM::BasicMethod *post_only)
set KSP right hand side evaluation function
MoFEMErrorCode loadFile(const std::string options, const std::string mesh_file_name)
Load mesh file.
Calculate inverse of jacobian for face element.
MoFEMErrorCode assembleSystem()
VolumeElementForcesAndSourcesCore VolEle
boost::shared_ptr< VolEle > volPipelineLhs
const FTensor::Tensor2< T, Dim, Dim > Vec
PetscErrorCode DMMoFEMKSPSetComputeOperators(DM dm, const char fe_name[], MoFEM::FEMethod *method, MoFEM::BasicMethod *pre_only, MoFEM::BasicMethod *post_only)
Set KSP operators and push mofem finite element methods.
virtual moab::Interface & get_moab()=0
boost::shared_ptr< VolEle > volPipelineRhs
MoFEMErrorCode getDM(DM *dm)
Get DM.
#define CHKERR
Inline error check.
PetscErrorCode DMoFEMLoopFiniteElements(DM dm, const char fe_name[], MoFEM::FEMethod *method)
Executes FEMethod for finite elements in DM.
MoFEMErrorCode getOptions()
get options
MoFEMErrorCode addDomainField(const std::string &name, const FieldSpace space, const FieldApproximationBase base, const FieldCoefficientsNumber nb_of_coefficients, const TagType tag_type=MB_TAG_SPARSE, const enum MoFEMTypes bh=MF_ZERO, int verb=-1)
Add field on domain.
MoFEMErrorCode setOutput()
PetscErrorCode DMoFEMMeshToGlobalVector(DM dm, Vec g, InsertMode mode, ScatterMode scatter_mode)
set ghosted vector values on all existing mesh entities
MoFEMErrorCode setIntegrationRule()
Problem manager is used to build and partition problems.
MoFEMErrorCode readMesh()
MoFEMErrorCode setUp(const PetscBool is_partitioned=PETSC_TRUE)
Setup problem.
const std::string getProblemName() const
Get the Problem Name.
const std::string getDomainFEName() const
Get the Domain FE Name.
virtual int get_comm_rank() const =0
MoFEMErrorCode solveSystem()
MoFEMErrorCode setupSystem()
#define _IT_CUBITMESHSETS_BY_SET_TYPE_FOR_LOOP_(MESHSET_MANAGER, CUBITBCTYPE, IT)
Iterator that loops over a specific Cubit MeshSet having a particular BC meshset in a moFEM field.
MoFEM::Interface & mField
@ AINSWORTH_LEGENDRE_BASE
Ainsworth Cole (Legendre) approx. base .
virtual MPI_Comm & get_comm() const =0
#define MoFEMFunctionReturn(a)
Last executable line of each PETSc function used for error handling. Replaces return()
MoFEMErrorCode getInterface(const MOFEMuuid &uuid, IFACE *&iface) const
Get interface by uuid and return reference to pointer of interface.
#define MoFEMFunctionBegin
First executable line of each MoFEM function, used for error handling. Final line of MoFEM functions ...
boost::shared_ptr< VolEle > postFaceVolume