int main(
int argc,
char* argv[])
{
appParamsManager.
load(argc, argv);
std::cout << "Data initialization... " << flush;
Param bulkModulusNum(bulkModulus.
v()/rho.
v()/dx.v()/dx.v());
Param shearModulusNum(shearModulus.
v()/rho.
v()/dx.v()/dx.v());
Param hydraulicConductivityNum(hydraulicConductivity.
v()/dx.v()/dx.v()/dx.v());
cout << gNum <<
"; " << bulkModulusNum.
v() <<
"; " << hydraulicConductivityNum.
v() << endl;
writer.
addVector(
"displacement", *displacement);
std::cout << "Finished" << endl;
std::cout << "Numerics initialization... " << flush;
auto elasticity(make_shared<asl::FDPoroElasticity>(displacement,
pressure,
displacement->getBlock().dx +
displacement->getBlock().position);
elasticity->setForce(forceField->getSubContainer());
elasticity->init();
vector<asl::SPNumMethod> bcl;
initAll(bcl);
std::cout << "Finished" << endl;
std::cout << "Computing..." << flush;
executeAll(bcl);
for (
unsigned int i(0); i < tsim.
v(); ++i)
{
elasticity->execute();
executeAll(bcl);
}
cout << "Finished" << endl;
cout << "Computation statistic:" << endl;
cout <<
"Real Time = " << timer.
realTime() <<
"; Processor Time = "
return 0;
}
void load(int argc, char *argv[])
acl::VectorOfElements positionWithInit
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)
SPNumMethod generateBCZeroStress(SPElasticityCommonA nm, SPAbstractDataWithGhostNodes map)
Bondary condition set given values to displacement/velocity.
SPDistanceFunction generateDFPlane(const AVec< double > &n, const AVec< double > &p0)
SPDataWithGhostNodesACLData read(const string &fileName, unsigned int arrayNum, acl::CommandQueue queue=acl::hardware.defaultQueue)
const KernelConfiguration KERNEL_BASIC
std::shared_ptr< DistanceFunction > SPDistanceFunction
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.
std::shared_ptr< DataWithGhostNodesACLData > SPDataWithGhostNodesACLData
void addBCRigidWall(std::vector< SPNumMethod > &bcList, SPFDPoroElasticity nm, const std::vector< SlicesNames > &sl)