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();
110 for (
unsigned int i(0); i < tsim.
v(); ++i)
112 elasticity->execute();
114 bcRigidWall->execute();
120 std::cout <<
"Finished" << endl;
122 cout <<
"time=" << timer.
getTime() <<
"; clockTime=" 126 std::cout <<
"Output...";
127 std::cout <<
"Finished" << endl;
128 std::cout <<
"Ok" << endl;
const double getTime() const
const double getProcessorLoad() const
Numerical method which computes homogenious isotropic elasticity equation.
virtual void execute()
Executes the numerical procedure.
const double getClockTime() const
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 )
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[])
void initData(Element a, Element initializationValue, const KernelConfiguration &kernelConfig=KERNEL_BASIC)
virtual void init()
Builds the necesery internal data and kernels.