static char help[] =
"...\n\n";
#define HelloFunctionBegin \
MoFEMFunctionBegin; \
MOFEM_LOG_CHANNEL("SYNC"); \
MOFEM_LOG_FUNCTION(); \
MOFEM_LOG_TAG("WORLD", "HelloWorld");
MOFEM_LOG(
"SYNC", Sev::inform) <<
"**** " << getNinTheLoop() <<
" ****";
MOFEM_LOG(
"SYNC", Sev::inform) <<
"**** Operators ****";
}
<< "Hello Operator OpRow:"
<< " field name " << rowFieldName << " side " << side << " type "
<< CN::EntityTypeName(
type) <<
" nb dofs on entity "
}
};
OpRowCol(
const std::string row_field,
const std::string col_field,
const bool symm)
symm) {}
MoFEMErrorCode doWork(
int row_side,
int col_side, EntityType row_type,
EntityType col_type,
<< "Hello Operator OpRowCol:"
<< " row field name " << rowFieldName << " row side " << row_side
<< " row type " << CN::EntityTypeName(row_type)
<<
" nb dofs on row entity " << row_data.
getIndices().size() <<
" : "
<< " col field name " << colFieldName << " col side " << col_side
<< " col type " << CN::EntityTypeName(col_type)
<<
" nb dofs on col entity " << col_data.
getIndices().size();
}
};
}
MOFEM_LOG(
"SYNC", Sev::inform) <<
"Hello Operator OpVolume:"
<< " volume " << getVolume();
}
}
};
MOFEM_LOG(
"SYNC", Sev::inform) <<
"Hello Operator OpFace:"
<< " normal " << getNormal();
}
}
};
boost::shared_ptr<VolumeElementForcesAndSourcesCoreOnSide> &feSidePtr;
boost::shared_ptr<VolumeElementForcesAndSourcesCoreOnSide> &fe_side_ptr)
feSidePtr(fe_side_ptr) {}
MOFEM_LOG(
"SYNC", Sev::inform) <<
"Hello Operator OpSideFace";
CHKERR loopSideVolumes(
"dFE", *feSidePtr);
}
}
};
<< "Hello Operator OpVolumeSide:"
<< " volume " << getVolume() << " normal " << getNormal();
}
}
};
int main(
int argc,
char *argv[]) {
try {
DMType dm_name = "DMMOFEM";
pipeline_mng->getOpDomainRhsPipeline().push_back(
new OpVolume(
"U"));
pipeline_mng->getOpDomainLhsPipeline().push_back(
pipeline_mng->getOpBoundaryRhsPipeline().push_back(
new OpRow(
"L"));
pipeline_mng->getOpBoundaryRhsPipeline().push_back(
new OpFace(
"L"));
pipeline_mng->getOpBoundaryLhsPipeline().push_back(
boost::shared_ptr<VolumeElementForcesAndSourcesCoreOnSide> side_fe(
pipeline_mng->getOpSkeletonRhsPipeline().push_back(
new OpRow(
"S"));
pipeline_mng->getOpSkeletonRhsPipeline().push_back(
CHKERR pipeline_mng->loopFiniteElements();
}
return 0;
}