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... ";
auto displacement(asl::generateDataContainerACL_SP<FlT>(block, 3, 1u));
writer.
addVector(
"displacement", *displacement);
std::cout << "Finished" << endl;
std::cout << "Numerics initialization... ";
elasticity->init();
bcRigidWall->init();
std::cout << "Finished" << endl;
std::cout << "Computing...";
bcRigidWall->execute();
for (
unsigned int i(0); i < tsim.
v(); ++i)
{
elasticity->execute();
bcRigidWall->execute();
}
cout << "Finished" << endl;
cout << "Computation statistic:" << endl;
cout <<
"Real Time = " << timer.
realTime() <<
"; Processor Time = "
return 0;
}
void load(int argc, char *argv[])
Bondary condition corresponding to a free surface ( )
virtual void execute()
Executes the numerical procedure.
virtual void init()
Builds the necesery internal data and kernels.
Numerical method which computes homogenious isotropic elasticity equation.
const double realTime() const
const double processorTime() const
const double processorLoad() const
void addVector(std::string name, AbstractData &data)
void addScalars(std::string name, AbstractData &data)
acl::VectorOfElements dx(const TemplateVE &a)
differential operator
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.
int main(int argc, char *argv[])
SPBCond generateBCRigidWall(SPFDElasticityIncompressibleStatic nm, const std::vector< SlicesNames > &sl)
Bondary condition corresponding to a rigid wall ( and )
std::shared_ptr< FDElasticity2 > SPFDElasticity2