44 int main(
int argc,
char* argv[])
58 appParamsManager.
load(argc, argv);
60 Param bulkModulusNum(bulkModulus.
v()/rho.
v()/
dx.v()/
dx.v());
61 Param shearModulusNum(shearModulus.
v()/rho.
v()/
dx.v()/
dx.v());
65 std::cout <<
"Data initialization... ";
68 auto displacement(asl::generateDataContainerACL_SP<FlT>(block, 3, 1u));
72 writer.
addScalars(
"displacement", *displacement);
73 writer.addVector(
"displacement", *displacement);
76 std::cout <<
"Finished" << endl;
78 std::cout <<
"Numerics initialization... ";
101 std::cout <<
"Finished" << endl;
102 std::cout <<
"Computing...";
106 bcRigidWall->execute();
109 for (
unsigned int i(0); i < tsim.
v(); ++i)
111 elasticity->execute();
113 bcRigidWall->execute();
119 cout <<
"Finished" << endl;
121 cout <<
"Computation statistic:" << endl;
122 cout <<
"Real Time = " << timer.
realTime() <<
"; Processor Time = "
const double realTime() const
Numerical method which computes homogenious isotropic elasticity equation.
const double processorTime() const
virtual void execute()
Executes the numerical procedure.
int main(int argc, char *argv[])
const VectorTemplate & d3q15()
Vector template.
acl::VectorOfElements dx(const TemplateVE &a)
differential operator
Bondary condition corresponding to a free surface ( )
SPBCond generateBCRigidWall(SPFDElasticityIncompressibleStatic nm, const std::vector< SlicesNames > &sl)
Bondary condition corresponding to a rigid wall ( and )
std::shared_ptr< FDElasticity2 > SPFDElasticity2
void addScalars(std::string name, AbstractData &data)
VectorOfElements generateVEConstant(T a)
Generates VectorOfElements with 1 Element acl::Constant with value a.
VectorOfElements generateVEConstantN(unsigned int n, T a)
Generates VectorOfElements with n Elements acl::Constant with values a.
void load(int argc, char *argv[])
const double processorLoad() const
void initData(Element a, Element initializationValue, const KernelConfiguration &kernelConfig=KERNEL_BASIC)
virtual void init()
Builds the necesery internal data and kernels.