int main(
int argc,
char* argv[])
{
appParamsManager.
load(argc, argv);
Param bulkModulusNum(bulkModulus.
v()/rho.
v()/dx.v()/dx.v());
Param shearModulusNum(shearModulus.
v()/rho.
v()/dx.v()/dx.v());
std::cout << "Data initialization... " << flush;
initData(mapX->getEContainer(), map->getEContainer());
writer.
addVector(
"displacement", *displacement);
std::cout << "Finished" << endl;
std::cout << "Numerics initialization... " << flush;
elasticity->init();
bcRigidWall->init();
auto bcFreeSurface(generateBCZeroStress(elasticity, mapX));
bcFreeSurface->init();
std::cout << "Finished" << endl;
std::cout << "Computing..." << endl;
bcFreeSurface->execute();
bcRigidWall->execute();
for (
unsigned int i(0); i < tsim.
v(); ++i)
{
elasticity->execute();
bcFreeSurface->execute();
bcRigidWall->execute();
{
cout << i << endl;
}
}
cout << "Finished" << endl;
cout << "Computation statistic:" << endl;
cout <<
"Real Time = " << timer.
realTime() <<
"; Processor Time = "
return 0;
}
void load(int argc, char *argv[])
Numerical method which computes homogenious isotropic elasticity equation.
const double realTime() const
const double processorTime() const
const double processorLoad() const
Updatable value. This class stores value and its TimeStamp.
void addVector(std::string name, AbstractData &data)
void addScalars(std::string name, AbstractData &data)
SPDataWrapperACLData generateDataContainerACL_SP(const Block &b, unsigned int n=1)
generates pointer to ACL Data field with n components
SPDataWrapperACL generateDataContainer_SP(const Block &b, const acl::VectorOfElements &a)
SPDistanceFunction generateDFInBlock(const Block &b, unsigned int nG)
generates map corresponding to external (ghost) part of the block
SPDistanceFunction normalize(SPDistanceFunction a, double dx)
void initData(Element a, Element initializationValue, const KernelConfiguration &kernelConfig=KERNEL_BASIC)
const VectorTemplate & d3q15()
Vector template.
VectorOfElements generateVEConstantN(unsigned int n, T a)
Generates VectorOfElements with n Elements acl::Constant with values a.
VectorOfElements generateVEConstant(T a)
Generates VectorOfElements with 1 Element acl::Constant with value a.
SPBCond generateBCRigidWall(SPFDElasticityIncompressibleStatic nm, const std::vector< SlicesNames > &sl)
Bondary condition corresponding to a rigid wall ( and )
std::shared_ptr< FDElasticity2 > SPFDElasticity2