#include <boost/program_options.hpp>
namespace po = boost::program_options;
static char help[] =
"\n";
int main(
int argc,
char *argv[]) {
try {
PetscBool flg_file = PETSC_FALSE;
PetscBool flg_elastic_only = PETSC_FALSE;
CHKERR PetscOptionsBegin(PETSC_COMM_WORLD,
"",
"Main set up",
"none");
CHKERR PetscOptionsString(
"-my_file",
"mesh file name",
"",
"mesh.h5m",
"-elastic_only", "is used for testing, calculates only elastic problem",
"", PETSC_FALSE, &flg_elastic_only, PETSC_NULL);
ierr = PetscOptionsEnd();
if (flg_file != PETSC_TRUE) {
SETERRQ(PETSC_COMM_SELF, 1, "*** ERROR -my_file (MESH FILE NEEDED)");
}
const char *option;
option = "PARALLEL=READ_PART;"
"PARALLEL_RESOLVE_SHARED_ENTS;"
"PARTITION=PARALLEL_PARTITION;";
ParallelComm *pcomm = ParallelComm::get_pcomm(&moab,
MYPCOMM_INDEX);
if (pcomm == NULL)
pcomm = new ParallelComm(&moab, PETSC_COMM_WORLD);
MeshsetsManager *meshsets_manager_ptr;
CHKERR meshsets_manager_ptr->setMeshsetFromFile();
PetscPrintf(PETSC_COMM_WORLD, "Read meshset. Added meshsets for bc.cfg\n");
PetscPrintf(PETSC_COMM_WORLD, "%s",
static_cast<std::ostringstream &>(
std::ostringstream().seekp(0) << *it << endl)
.str()
.c_str());
cerr << *it << endl;
}
common_data.
preProcRhs = boost::shared_ptr<Remodeling::FePrePostProcessRhs>(
common_data.
preProcLhs = boost::shared_ptr<Remodeling::FePrePostProcessLhs>(
if (!flg_elastic_only) {
bool flag_cubit_disp = false;
flag_cubit_disp = true;
}
boost::shared_ptr<FEMethod> dirihlet_bc_ptr;
if (!flag_cubit_disp) {
dirihlet_bc_ptr =
m_field, "DISPLACEMENTS", "DISPLACEMENT"));
} else {
dirihlet_bc_ptr = boost::shared_ptr<FEMethod>(
}
dirihlet_bc_ptr.get(), NULL);
common_data.
feRhs.get(), NULL, NULL);
NULL, NULL);
}
for (boost::ptr_map<string, NeummanForcesSurface>::iterator fit =
&fit->second->getLoopFe(), NULL, NULL);
}
for (boost::ptr_map<std::string, EdgeForce>::iterator fit =
&fit->second->getLoopFe(), NULL, NULL);
}
for (boost::ptr_map<std::string, NodalForce>::iterator fit =
&fit->second->getLoopFe(), NULL, NULL);
}
dirihlet_bc_ptr.get());
dirihlet_bc_ptr.get(), NULL);
common_data.
feLhs.get(), NULL, NULL);
NULL, NULL);
}
dirihlet_bc_ptr.get());
CHKERR DMCreateMatrix(common_data.
dm, &common_data.
A);
CHKERR DMCreateGlobalVector(common_data.
dm, &common_data.
D);
CHKERR DMCreateGlobalVector(common_data.
dm, &common_data.
F);
INSERT_VALUES, SCATTER_FORWARD);
CHKERR TSCreate(PETSC_COMM_WORLD, &common_data.
ts);
CHKERR TSSetType(common_data.
ts, TSBEULER);
}
}
return 0;
}