Skip to content
Snippets Groups Projects
Commit e271ba0c authored by Klaus Böhnlein's avatar Klaus Böhnlein
Browse files

Update

parent c81e9a36
No related branches found
No related tags found
No related merge requests found
......@@ -159,6 +159,7 @@ public:
shared_ptr<FuncScalar> getMu(){return make_shared<FuncScalar>(mu_);}
shared_ptr<FuncScalar> getLambda(){return make_shared<FuncScalar>(lambda_);}
shared_ptr<Material> getMaterial(){return make_shared<Material>(material_);}
// --- Get Correctors
// shared_ptr<VectorCT> getMcontainer(){return make_shared<VectorCT>(mContainer);}
......@@ -265,6 +266,11 @@ public:
auto elasticityTensor = material_.getElasticityTensor();
auto indicatorFunction = material_.getIndicatorFunction();
// auto indicatorFunctionGVF = material_.getIndicatorFunctionGVF();
// auto indicatorFunction = localFunction(indicatorFunctionGVF);
// indicatorFunction.bind(element);
// LocalBasis-Offset
const int localPhiOffset = localView.size();
......@@ -342,11 +348,16 @@ public:
// auto etmp = material_.applyElasticityTensorLocal(defGradientU,quadPos);
// printmatrix(std::cout, etmp, "etmp", "--");
// double energyDensity= scalarProduct(etmp,defGradientV);
double energyDensity= scalarProduct(material_.applyElasticityTensor(defGradientU,element.geometry().global(quadPos)),defGradientV);
// double energyDensity= scalarProduct(material_.applyElasticityTensor(defGradientU,element.geometry().global(quadPos)),defGradientV);
// double energyDensity= scalarProduct(elasticityTensor(defGradientU,indicatorFunction(element.geometry().global(quadPos))),sym(defGradientV));
// double energyDensity= scalarProduct(elasticityTensor(defGradientU,indicatorFunction(quadPos)),sym(defGradientV));
// double energyDensity= scalarProduct(material_.applyElasticityTensor(defGradientU,element.geometry().global(quadPos)),sym(defGradientV));
// double energyDensity= scalarProduct(material_.applyElasticityTensor(defGradientU,quadPos),sym(defGradientV));
// double energyDensity= scalarProduct(material_.applyElasticityTensorLocal(defGradientU,quadPos),defGradientV);
// double energyDensity = linearizedStVenantKirchhoffDensity(mu(quadPos), lambda(quadPos), defGradientU, defGradientV);
double energyDensity = linearizedStVenantKirchhoffDensity(mu(quadPos), lambda(quadPos), defGradientU, defGradientV);
// double energyDensity = linearizedStVenantKirchhoffDensity(mu(element.geometry().global(quadPos)), lambda(element.geometry().global(quadPos)), defGradientU, defGradientV); //TEST
// double energyDensity = generalizedDensity(mu(quadPos), lambda(quadPos), defGradientU, defGradientV); // also works..
......@@ -358,10 +369,15 @@ public:
// "m*phi" & "phi*m" - part
for( size_t m=0; m<3; m++)
{
double energyDensityGphi= scalarProduct(material_.applyElasticityTensor(basisContainer[m],element.geometry().global(quadPos)),defGradientV);
// double energyDensityGphi= scalarProduct(material_.applyElasticityTensor(basisContainer[m],element.geometry().global(quadPos)),defGradientV);
// double energyDensityGphi= scalarProduct(elasticityTensor(basisContainer[m],indicatorFunction(element.geometry().global(quadPos))),sym(defGradientV));
// double energyDensityGphi= scalarProduct(elasticityTensor(basisContainer[m],indicatorFunction(quadPos)),sym(defGradientV));
// double energyDensityGphi= scalarProduct(material_.applyElasticityTensor(basisContainer[m],element.geometry().global(quadPos)),sym(defGradientV));
// double energyDensityGphi= scalarProduct(material_.applyElasticityTensor(basisContainer[m],quadPos),sym(defGradientV));
// double energyDensityGphi= scalarProduct(elasticityTensor(basisContainer[m],element.geometry().global(quadPos)),defGradientV);
// double energyDensityGphi= scalarProduct(material_.applyElasticityTensorLocal(basisContainer[m],quadPos),defGradientV);
// double energyDensityGphi = linearizedStVenantKirchhoffDensity(mu(quadPos), lambda(quadPos), basisContainer[m], defGradientV);
double energyDensityGphi = linearizedStVenantKirchhoffDensity(mu(quadPos), lambda(quadPos), basisContainer[m], defGradientV);
// double energyDensityGphi = linearizedStVenantKirchhoffDensity(mu(element.geometry().global(quadPos)), lambda(element.geometry().global(quadPos)), basisContainer[m], defGradientV); //TEST
auto value = energyDensityGphi * quadPoint.weight() * integrationElement;
elementMatrix[row][localPhiOffset+m] += value;
......@@ -383,11 +399,15 @@ public:
// std::cout << "mu(quadPos): " << mu(quadPos) << std::endl;
// std::cout << "lambda(quadPos): " << lambda(quadPos) << std::endl;
// double energyDensityGG= scalarProduct(elasticityTensor(basisContainer[m],indicatorFunction(element.geometry().global(quadPos))),sym(basisContainer[n]));
// double energyDensityGG= scalarProduct(elasticityTensor(basisContainer[m],element.geometry().global(quadPos)),basisContainer[n]);
double energyDensityGG= scalarProduct(material_.applyElasticityTensor(basisContainer[m],element.geometry().global(quadPos)),basisContainer[n]);
// double energyDensityGG= scalarProduct(material_.applyElasticityTensor(basisContainer[m],element.geometry().global(quadPos)),basisContainer[n]);
// double energyDensityGG= scalarProduct(elasticityTensor(basisContainer[m],indicatorFunction(quadPos)),sym(basisContainer[n]));
// double energyDensityGG= scalarProduct(material_.applyElasticityTensor(basisContainer[m],element.geometry().global(quadPos)),sym(basisContainer[n]));
// double energyDensityGG= scalarProduct(material_.applyElasticityTensor(basisContainer[m],quadPos),sym(basisContainer[n]));
// double energyDensityGG= scalarProduct(material_.applyElasticityTensorLocal(basisContainer[m],quadPos),basisContainer[n]);
// double energyDensityGG = linearizedStVenantKirchhoffDensity(mu(quadPos), lambda(quadPos), basisContainer[m], basisContainer[n]);
double energyDensityGG = linearizedStVenantKirchhoffDensity(mu(quadPos), lambda(quadPos), basisContainer[m], basisContainer[n]);
// double energyDensityGG = linearizedStVenantKirchhoffDensity(mu(element.geometry().global(quadPos)), lambda(element.geometry().global(quadPos)), basisContainer[m], basisContainer[n]); //TEST
elementMatrix[localPhiOffset+m][localPhiOffset+n] += energyDensityGG * quadPoint.weight() * integrationElement; // += !!!!! (Fixed-Bug)
......@@ -423,6 +443,13 @@ public:
// using MatrixRT = FieldMatrix< double, dimworld, dimworld>;
auto elasticityTensor = material_.getElasticityTensor();
auto indicatorFunction = material_.getIndicatorFunction();
// // auto indicatorFunction = material_.getLocalIndicatorFunction();
// auto indicatorFunctionGVF = material_.getIndicatorFunctionGVF();
// auto indicatorFunction = localFunction(indicatorFunctionGVF);
// indicatorFunction.bind(element);
// Set of shape functions for a single element
const auto& localFiniteElement= localView.tree().child(0).finiteElement();
const auto nSf = localFiniteElement.localBasis().size();
......@@ -493,10 +520,14 @@ public:
defGradientV = crossSectionDirectionScaling((1.0/gamma_),defGradientV);
double energyDensity= scalarProduct(material_.applyElasticityTensor((-1.0)*forceTerm(quadPos),element.geometry().global(quadPos)),defGradientV);
// double energyDensity= scalarProduct(elasticityTensor((-1.0)*forceTerm(quadPos),indicatorFunction(element.geometry().global(quadPos))),sym(defGradientV));
// double energyDensity= scalarProduct(elasticityTensor((-1.0)*forceTerm(quadPos),indicatorFunction(quadPos)),sym(defGradientV));
// double energyDensity= scalarProduct(material_.applyElasticityTensor((-1.0)*forceTerm(quadPos),element.geometry().global(quadPos)),sym(defGradientV));
// double energyDensity= scalarProduct(material_.applyElasticityTensor((-1.0)*forceTerm(quadPos),quadPos),sym(defGradientV));
// double energyDensity= scalarProduct(material_.applyElasticityTensor((-1.0)*forceTerm(quadPos),element.geometry().global(quadPos)),defGradientV);
// double energyDensity= scalarProduct(material_.applyElasticityTensorLocal((-1.0)*forceTerm(quadPos),quadPos),defGradientV);
// double energyDensity = linearizedStVenantKirchhoffDensity(mu(quadPos), lambda(quadPos),(-1.0)*forceTerm(quadPos), defGradientV );
double energyDensity = linearizedStVenantKirchhoffDensity(mu(quadPos), lambda(quadPos),(-1.0)*forceTerm(quadPos), defGradientV );
// double energyDensity = linearizedStVenantKirchhoffDensity(mu(element.geometry().global(quadPos)), lambda(element.geometry().global(quadPos)),forceTerm(quadPos), defGradientV ); //TEST
// double energyDensity = linearizedStVenantKirchhoffDensity(mu(quadPos), lambda(quadPos),(-1.0)*forceTerm(quadPos), defGradientV ); //TEST
// double energyDensity = linearizedStVenantKirchhoffDensity(mu(quadPos), lambda(quadPos),forceTerm(element.geometry().global(quadPos)), defGradientV ); //TEST
......@@ -508,9 +539,13 @@ public:
// "f*m"-part
for (size_t m=0; m<3; m++)
{
double energyDensityfG = scalarProduct(material_.applyElasticityTensor((-1.0)*forceTerm(quadPos),element.geometry().global(quadPos)),basisContainer[m]);
// double energyDensityfG= scalarProduct(elasticityTensor((-1.0)*forceTerm(quadPos),indicatorFunction(element.geometry().global(quadPos))),sym(basisContainer[m]));
// double energyDensityfG= scalarProduct(elasticityTensor((-1.0)*forceTerm(quadPos),indicatorFunction(quadPos)),sym(basisContainer[m]));
// double energyDensityfG = scalarProduct(material_.applyElasticityTensor((-1.0)*forceTerm(quadPos),element.geometry().global(quadPos)),sym(basisContainer[m]));
// double energyDensityfG = scalarProduct(material_.applyElasticityTensor((-1.0)*forceTerm(quadPos),quadPos),sym(basisContainer[m]));
// double energyDensityfG = scalarProduct(material_.applyElasticityTensor((-1.0)*forceTerm(quadPos),element.geometry().global(quadPos)),basisContainer[m]);
// double energyDensityfG = scalarProduct(material_.applyElasticityTensor((-1.0)*forceTerm(quadPos),quadPos),basisContainer[m]);
// double energyDensityfG = linearizedStVenantKirchhoffDensity(mu(quadPos), lambda(quadPos), (-1.0)*forceTerm(quadPos),basisContainer[m] );
double energyDensityfG = linearizedStVenantKirchhoffDensity(mu(quadPos), lambda(quadPos), (-1.0)*forceTerm(quadPos),basisContainer[m] );
// double energyDensityfG = linearizedStVenantKirchhoffDensity(mu(element.geometry().global(quadPos)), lambda(element.geometry().global(quadPos)), forceTerm(quadPos),basisContainer[m] ); //TEST
// double energyDensityfG = linearizedStVenantKirchhoffDensity(mu(quadPos), lambda(quadPos), (-1.0)*forceTerm(quadPos),basisContainer[m] ); //TEST
// double energyDensityfG = linearizedStVenantKirchhoffDensity(mu(quadPos), lambda(quadPos), forceTerm(element.geometry().global(quadPos)),basisContainer[m] );//TEST
......@@ -1277,7 +1312,7 @@ public:
std::cout << "check_Orthogonality:" << "("<< a <<"," << b << "): " << energy << std::endl;
if(energy > 1e-1)
std::cout << "WARNING: check Orthogonality! apparently (75) not satisfied on discrete level" << std::endl;
std::cout << "WARNING: check_Orthogonality failed! apparently orthogonality (75) not satisfied on discrete level" << std::endl;
}
return 0;
......
......@@ -29,22 +29,33 @@ using std::make_shared;
// return !str[h] ? 5381 : (str2int(str, h+1) * 33) ^ str[h];
// }
template<class Domain>
int indicatorFunction_material_1(const Domain& x)
{
double theta=0.25;
if (x[0] < (-1/2+theta) && x[2]<(-1/2+theta))
return 1; //#Phase1
else if (x[1]< (-1/2+theta) && x[2]>(1/2-theta))
return 2; //#Phase2
else
return 0; //#Phase3
}
MatrixRT material_1(const MatrixRT& G, const int& phase)
{
FieldVector<double,3> mu = {1.0, 2.0, 3.0};
FieldVector<double,3> lambda = {1.0 ,2.0 , 5.0};
if (phase == 0)
return 2.0 * mu[0] * sym(G) + lambda[0] * trace(sym(G)) * Id();
else
return 2.0 * mu[1] * sym(G) + lambda[2] * trace(sym(G)) * Id();
const FieldVector<double,3> mu = {80.0, 80.0, 60.0};
const FieldVector<double,3> lambda = {80.0, 80.0, 25.0};
if (phase == 1)
return 2.0 * mu[0] * sym(G) + lambda[0] * trace(sym(G)) * Id();
if (phase == 2)
return 2.0 * mu[1] * sym(G) + lambda[1] * trace(sym(G)) * Id();
else
return 2.0 * mu[2] * sym(G) + lambda[2] * trace(sym(G)) * Id();
}
template <class GridView> // needed for GridViewFunctions
class prestrainedMaterial
{
......@@ -102,7 +113,8 @@ protected:
// FuncScalar indicatorFunction_;
// GridViewFunction<double(const Domain&), GridView> indicatorFunction_;
GridViewFunction<int(const Domain&), GridView> indicatorFunction_;
GridViewFunction<int(const Domain&), GridView> indicatorFunctionGVF_;
Func2int indicatorFunction_;
// static const auto indicatorFunction_;
// VectorCT x_1_, x_2_, x_3_; // (all) Corrector coefficient vectors
......@@ -148,7 +160,7 @@ public:
std::cout << "materialFunctionName_ : " << materialFunctionName_ << std::endl;
Python::Module module = Python::import(materialFunctionName_);
// Python::Module module = Python::import(materialFunctionName_);
// elasticityTensor_ = Python::make_function<MatrixRT>(module.get("L"));
......@@ -159,40 +171,45 @@ public:
// module.get("Phases").toC<int>(Phases_);
auto indicatorFunction = Python::make_function<int>(module.get("indicatorFunction"));
indicatorFunction_ = Dune::Functions::makeGridViewFunction(indicatorFunction , gridView_);
// auto indicatorFunction = Python::make_function<int>(module.get("indicatorFunction"));
// indicatorFunction_ = Python::make_function<int>(module.get("indicatorFunction"));
// indicatorFunction_ = Dune::Functions::makeGridViewFunction(indicatorFunction , gridView_);
L1_ = Python::make_function<MatrixRT>(module.get("L1"));
L2_ = Python::make_function<MatrixRT>(module.get("L2"));
L3_ = Python::make_function<MatrixRT>(module.get("L3"));
// indicatorFunction_ = localFunction(indicatorFunctionGVF);
// L1_ = Python::make_function<MatrixRT>(module.get("L1"));
// L2_ = Python::make_function<MatrixRT>(module.get("L2"));
// L3_ = Python::make_function<MatrixRT>(module.get("L3"));
// Func2TensorParam elasticityTensor_ = Python::make_function<double>(module.get("L"));
// Func2Tensor materialFunction_ = Python::make_function<double>(module.get("f"));
// bool isotropic_ = true; // read from module File TODO
// Func2Tensor elasticityTensor_ = Python::make_function<double>(module.get("L"));
// Func2Tensor elasticityTensor_ = Python::make_function<MatrixRT>(module.get("L"));
}
// static MatrixRT material_1(const MatrixRT& G, const int& phase)
// {
// FieldVector<double,3> mu = {1.0, 2.0, 3.0};
// FieldVector<double,3> lambda = {1.0 ,2.0 , 5.0};
// if (phase == 0)
// return 2.0 * mu[0] * sym(G) + lambda[0] * trace(sym(G)) * Id();
// else
// return 2.0 * mu[1] * sym(G) + lambda[2] * trace(sym(G)) * Id();
// }
/////////////////////////////////////////////////////////////////////////////////////////////////////////
// static int indicatorFunction_material_1(const Domain& x)
// {
// double theta=0.25;
// if (x[0] < (-1/2+theta) && x[2]<(-1/2+theta))
// return 1; //#Phase1
// else if (x[1]< (-1/2+theta) && x[2]>(1/2-theta))
// return 2; //#Phase2
// else
// return 0; //#Phase3
// }
// static MatrixRT material_1(const MatrixRT& G, const int& phase)
// {
// FieldVector<double,3> mu = {80.0, 80.0, 60.0};
// FieldVector<double,3> lambda = {80.0, 80.0, 25.0};
// if (phase == 1)
// return 2.0 * mu[0] * sym(G) + lambda[0] * trace(sym(G)) * Id();
// if (phase == 2)
// return 2.0 * mu[1] * sym(G) + lambda[1] * trace(sym(G)) * Id();
// else
// return 2.0 * mu[2] * sym(G) + lambda[2] * trace(sym(G)) * Id();
// }
//---function that determines elasticity Tensor
......@@ -213,43 +230,37 @@ public:
{
if(name == "material")
{
// indicatorFunctionGVF_ = Dune::Functions::makeGridViewFunction(indicatorFunction_material_1, gridView_);
// indicatorFunction_ = indicatorFunction_material_1;
indicatorFunctionGVF_ = Dune::Functions::makeGridViewFunction(indicatorFunction_material_1<Domain>, gridView_);
indicatorFunction_ = indicatorFunction_material_1<Domain>;
elasticityTensor_ = material_1;
}
else
DUNE_THROW(Exception, "There exists no material in materialDefinitions.hh with this name ");
}
// }
// void setupElasticityTensor()
// {
// if (materialFunctionName_=="material")
// {
// elasticityTensor_ = &material_1;
// std::cout << "typeid(elasticityTensor_).name() :" << typeid(elasticityTensor_).name() << '\n';
// // std::cout << " type_name<decltype(elasticityTensor_)>() " << type_name<decltype(elasticityTensor_)>() << '\n';
// }
// return;
// }
//--- apply elasticityTensor_ to input Matrix G at position x
MatrixRT applyElasticityTensor(const MatrixRT& G, const Domain& x) const
{
// Python::Module module = Python::import("material");
// auto indicatorFunctionTest = Python::make_function<double>(module.get("indicatorFunction"));
//
// return elasticityTensor_(G,indicatorFunctionTest(x));
int phase = indicatorFunction_(x);
// auto IFunction = localFunction(indicatorFunction_);
// auto IFunction = this->getIndicatorFunction();
// auto tmp = Dune::Functions::makeGridViewFunction(indicatorFunction_material_1, gridView_);
// auto tmpLocal = LocalF
// return elasticityTensor_(G,IFunction(x));
// return elasticityTensor_(G,indicatorFunction_(x));
return elasticityTensor_(G,indicatorFunctionGVF_(x));
// int phase = indicatorFunction_(x);
// auto tmp = elasticityTensor_(G,phase);
auto tmp = material_1(G,indicatorFunction_(x));
// auto tmp = material_1(G,indicatorFunction_(x));
// printmatrix(std::cout, material_1(G,indicatorFunction_(x)), "material_1(G,indicatorFunction_(x))", "--");
// printmatrix(std::cout, elasticityTensor_(G,phase), "elasticityTensor_(G,phase)", "--");
return tmp;
// return tmp;
// return material_1(G,indicatorFunction_(x));
}
......@@ -267,19 +278,19 @@ public:
// }
MatrixRT applyElasticityTensorLocal(const MatrixRT& G, const Domain& x) const
{
//--- apply elasticityTensor_ to input Matrix G at position x (local coordinates)
// MatrixRT G1_ {{1.0, 0.0, 0.0}, {0.0, 0.0, 0.0}, {0.0, 0, 0.0}};
// MatrixRT applyElasticityTensorLocal(const MatrixRT& G, const Domain& x) const
// {
// //--- apply elasticityTensor_ to input Matrix G at position x (local coordinates)
// // MatrixRT G1_ {{1.0, 0.0, 0.0}, {0.0, 0.0, 0.0}, {0.0, 0, 0.0}};
if (indicatorFunction_(x) == 1)
return L1_(G);
else if (indicatorFunction_(x) == 2)
return L2_(G);
else
return L3_(G);
// if (indicatorFunction_(x) == 1)
// return L1_(G);
// else if (indicatorFunction_(x) == 2)
// return L2_(G);
// else
// return L3_(G);
}
// }
......@@ -308,7 +319,9 @@ public:
// auto getIndicatorFunction() const {return indicatorFunction_;}
auto getIndicatorFunction() const {return localFunction(indicatorFunction_);}
auto getLocalIndicatorFunction() const {return localFunction(indicatorFunctionGVF_);} //get as localFunction
auto getIndicatorFunctionGVF() const {return indicatorFunctionGVF_;} //get as GridViewFunction
auto getIndicatorFunction() const {return indicatorFunction_;}
// shared_ptr<Func2TensorParam> getElasticityTensor(){return make_shared<Func2TensorParam>(elasticityTensor_);}
......
......@@ -25,7 +25,7 @@ print_debug = true #(default=false)
## {start,finish} computes on all grid from 2^(start) to 2^finish refinement
#----------------------------------------------------
numLevels= 2 2
numLevels= 2 3
#numLevels = 0 0 # computes all levels from first to second entry
#numLevels = 2 2 # computes all levels from first to second entry
#numLevels = 1 3 # computes all levels from first to second entry
......
......@@ -346,11 +346,11 @@ int main(int argc, char *argv[])
// std::cout << "decltype(elasticityTensor_) " << decltype(elasticityTensor_) << std::endl;
std::cout <<"typeid(elasticityTensor).name() :" << typeid(elasticityTensor_).name() << '\n';
std::cout << "typeid(elasticityTensor).name() :" << typeid(elasticityTensor_).name() << '\n';
std::cout << "typeid(TestTensor).name() :" << typeid(TestTensor).name() << '\n';
using MatrixFunc = std::function< MatrixRT(const MatrixRT&) >;
std::cout << "Import NOW:" << std::endl;
// std::cout << "Import NOW:" << std::endl;
// MatrixFunc symTest = Python::make_function<MatrixRT>(module.get("sym"));
// auto indicatorFunction = Python::make_function<double>(module.get("indicatorFunction"));
......@@ -368,7 +368,7 @@ int main(int argc, char *argv[])
// GridView::Element
// auto localindicatorFunction = localFunction(indicatorFunction);
std::cout << "typeid(localindicatorFunction).name() :" << typeid(localindicatorFunction).name() << '\n';
// std::cout << "typeid(localindicatorFunction).name() :" << typeid(localindicatorFunction).name() << '\n';
// using MatrixDomainFunc = std::function< MatrixRT(const MatrixRT&,const Domain&)>;
// // MatrixFunc elasticityTensor = Python::make_function<MatrixRT>(module.get("L"));
......@@ -397,28 +397,28 @@ int main(int argc, char *argv[])
for (const auto& element : elements(Basis_CE.gridView()))
{
localindicatorFunction.bind(element);
int orderQR = 2;
const auto& quad = QuadratureRules<double,dim>::rule(element.type(), orderQR);
for (const auto& quadPoint : quad)
{
const auto& quadPos = quadPoint.position();
// for (const auto& element : elements(Basis_CE.gridView()))
// {
// localindicatorFunction.bind(element);
// int orderQR = 2;
// const auto& quad = QuadratureRules<double,dim>::rule(element.type(), orderQR);
// for (const auto& quadPoint : quad)
// {
// const auto& quadPos = quadPoint.position();
// std::cout << "localindicatorFunction(quadPos): " << localindicatorFunction(quadPos) << std::endl;
// // std::cout << "localindicatorFunction(quadPos): " << localindicatorFunction(quadPos) << std::endl;
// std::cout << "quadPos : " << quadPos << std::endl;
// auto temp = TestTensor(G1_, element.geometry().global(quadPos));
// auto temp2 = elasticityTensor_(G1_, element.geometry().global(quadPos));
// std::cout << "material_.applyElasticityTensor:" << std::endl;
auto tmp3 = material_.applyElasticityTensor(G1_, element.geometry().global(quadPos));
// auto tmp3 = material_.applyElasticityTensor(G1_, quadPos);
printmatrix(std::cout, tmp3, "tmp3", "--");
}
}
// // std::cout << "quadPos : " << quadPos << std::endl;
// // auto temp = TestTensor(G1_, element.geometry().global(quadPos));
// // auto temp2 = elasticityTensor_(G1_, element.geometry().global(quadPos));
// // std::cout << "material_.applyElasticityTensor:" << std::endl;
// // auto tmp3 = material_.applyElasticityTensor(G1_, element.geometry().global(quadPos));
// // auto tmp3 = material_.applyElasticityTensor(G1_, quadPos);
// // printmatrix(std::cout, tmp3, "tmp3", "--");
// }
// }
......@@ -557,8 +557,7 @@ int main(int argc, char *argv[])
// };
}
/*
//------------------------------------------------------------------------------------------------
//--- compute Correctors
......@@ -787,6 +786,6 @@ int main(int argc, char *argv[])
std::cout << "Total time elapsed: " << globalTimer.elapsed() << std::endl;
*/
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment