Liebe Gitlab-Nutzerin, lieber Gitlab-Nutzer,
es ist nun möglich sich mittels des ZIH-Logins/LDAP an unserem Dienst anzumelden. Die Konten der externen Nutzer:innen sind über den Reiter "Standard" erreichbar.
Die Administratoren


Dear Gitlab user,
it is now possible to log in to our service using the ZIH login/LDAP. The accounts of external users can be accessed via the "Standard" tab.
The administrators

Commit 7d472011 authored by Naumann, Andreas's avatar Naumann, Andreas
Browse files

first tests data production, need to change data for speedup

parent 613caf74
project(tests)
add_subdirectory(datacreation)
add_subdirectory(datacreation EXCLUDE_FROM_ALL)
project(testdatacreation)
message("source-dir: ${AMDiS_SOURCE_DIR}")
include_directories(${AMDiS_SOURCE_DIR})
file(GLOB PROJECTFILES src/*Project.cpp)
set(CREATELINE "")
foreach(projectfile ${PROJECTFILES})
#create creatorname
get_filename_component(CppName ${projectfile}, NAME_WE)
get_filename_component(CppName ${projectfile} NAME_WE)
string(REPLACE "Project" "" creatorsuffix ${CppName})
set(PROJECTINCLUDE "${CppName}.h")
set(CURRENTPROJECTTYPE "${creatorsuffix}demo")
string(TOLOWER "${creatorsuffix}" creatorsuffix_lower)
set(BASENAME "${creatorsuffix_lower}")
configure_file(src/creator_base.cpp src/creator${creatorsuffix}.cpp @ONLY)
add_executable(creator${creatorsuffix} src/creator${creatorsuffix}.cpp src/ProjectList.cpp ${projectfile})
target_link_libraries(creator${creatorsuffix} ${AMDiS_LIBS})
target_link_libraries(creator${creatorsuffix} ${AMDiS_LIBS} boost_filesystem)
file(GLOB initfiles RELATIVE ${CMAKE_CURRENT_BINARY_DIR} init/${creatorsuffix_lower}*.dat*)
foreach(initfile ${initfiles})
get_filename_component(initfile_ext ${initfile} EXT)
string(REPLACE ".dat." "" initfile_ext "${initfile_ext}")
set(curoutputdatafile "../testdata/${creatorsuffix_lower}_${initfile_ext}.arh")
set(CREATELINE "${CREATELINE}./creator${creatorsuffix} ${initfile} ${curoutputdatafile}\n")
endforeach(initfile)
endforeach(projectfile)
configure_file(create_base.sh create.sh)
../testdata/init
\ No newline at end of file
../testdata/macro
\ No newline at end of file
......@@ -28,7 +28,7 @@ public:
}
};
BallDemo::BallDemo():
Balldemo::Balldemo():
ball("ball"),
ballCenter(NULL),
adaptInfo(NULL),
......@@ -38,7 +38,7 @@ BallDemo::BallDemo():
{
}
BallDemo::~BallDemo() {
Balldemo::~Balldemo() {
if(matrixOperator != NULL)
delete matrixOperator;
if(rhsOperator != NULL)
......@@ -51,7 +51,7 @@ BallDemo::~BallDemo() {
delete adaptInfo;
}
void BallDemo::create(std::string& filename) {
void Balldemo::create(std::string& filename) {
// ===== init parameters =====
Parameters::init(false, filename);
ballCenter = new WorldVector< double >();
......@@ -89,7 +89,7 @@ void BallDemo::create(std::string& filename) {
}
int BallDemo::solve(SolutionInformation& solinfo) {
int Balldemo::solve(SolutionInformation& solinfo) {
assert(adaptInfo!=NULL);
assert(adapt!=NULL);
assert(matrixOperator!=NULL);
......@@ -99,13 +99,14 @@ int BallDemo::solve(SolutionInformation& solinfo) {
solinfo.dofVec = ball.getSolution();
return retCode;
}
/*
void createProjectList(ProjectList& list) {
list.clear();
Project* demo = new BallDemo();
Project* demo = new Balldemo();
ProjectInfo ballInfo(demo, "init/ball.dat.2d", "../testdata/balldata_2d");
list.push_back(ballInfo);
ballInfo = ProjectInfo(demo, "init/ball.dat.3d", "../testdata/balldata_3d");
list.push_back(ballInfo);
}
*/
......@@ -7,7 +7,7 @@
using namespace AMDiS;
class BallDemo : public Project {
class Balldemo : public Project {
ProblemScal ball;
WorldVector< double >* ballCenter;
AdaptInfo* adaptInfo;
......@@ -15,8 +15,8 @@ class BallDemo : public Project {
Operator* matrixOperator;
Operator* rhsOperator;
public:
BallDemo() ;
~BallDemo() ;
Balldemo() ;
~Balldemo() ;
void create(std::string& ) ;
int solve(SolutionInformation&);
......
......@@ -48,7 +48,7 @@ Bunnydemo::~Bunnydemo() {
delete rhsOperator;
}
void Bunnydemo::create(string filename) {
void Bunnydemo::create(string& filename) {
// ===== init parameters =====
Parameters::init(false, filename);
......@@ -87,5 +87,3 @@ int Bunnydemo::solve(SolutionInformation& info) {
return retCode;
}
void createProjectList(ProjectList& list) {
}
......@@ -17,7 +17,7 @@ class Bunnydemo : public Project {
Bunnydemo();
~Bunnydemo();
void create(string filename);
void create(string& filename);
int solve(SolutionInformation&);
};
#endif
......@@ -48,7 +48,7 @@ Elliptdemo::~Elliptdemo() {
delete adaptInfo;
}
void Elliptdemo::create(std::string filename) {
void Elliptdemo::create(std::string& filename) {
// ===== init parameters =====
Parameters::init(true, filename);
......@@ -90,5 +90,3 @@ int Elliptdemo::solve(SolutionInformation& info) {
return retCode;
}
void createProjectList(ProjectList& list) {
}
......@@ -15,7 +15,7 @@ class Elliptdemo : public Project {
Elliptdemo();
~Elliptdemo();
void create(std::string filename);
void create(std::string& filename);
int solve(SolutionInformation& info);
};
#endif
......@@ -56,7 +56,7 @@ Heatdemo::~Heatdemo() {
delete Fop;
}
void Heatdemo::create(string filename) {
void Heatdemo::create(string& filename) {
// ===== init parameters =====
Parameters::init(false, filename);
// Parameters::readArgv(argc, argv);
......@@ -127,6 +127,3 @@ int Heatdemo::solve(SolutionInformation& info) {
info.dofVec = heatSpace.getSolution();
return retCode;
}
void createProjectList(ProjectList& list) {
}
......@@ -21,7 +21,7 @@ class Heatdemo : public Project {
Heatdemo();
~Heatdemo();
void create(string filename);
void create(string& filename);
int solve(SolutionInformation& info);
};
......
......@@ -57,7 +57,7 @@ Neumanndemo::~Neumanndemo() {
delete adaptInfo;
}
void Neumanndemo::create(string filename) {
void Neumanndemo::create(string& filename) {
// ===== init parameters =====
Parameters::init(true, filename);
......@@ -94,6 +94,3 @@ int Neumanndemo::solve(SolutionInformation& info) {
info.dofVec = neumann.getSolution();
return retCode;
}
void createProjectList(ProjectList& list) {
}
......@@ -14,7 +14,7 @@ class Neumanndemo : public Project {
Neumanndemo();
~Neumanndemo();
void create(string filename);
void create(string& filename);
int solve(SolutionInformation&);
};
#endif
......@@ -32,7 +32,7 @@ Parametricdemo::~Parametricdemo() {
delete adaptInfo;
}
void Parametricdemo::create(string filename) {
void Parametricdemo::create(string& filename) {
// ===== init parameters =====
Parameters::init(false, filename);
......@@ -67,6 +67,3 @@ int Parametricdemo::solve(SolutionInformation& info) {
info.dofVec = parametric.getSolution();
return retCode;
}
void createProjectList(ProjectList& list) {
}
......@@ -16,7 +16,7 @@ class Parametricdemo : public Project {
Parametricdemo();
~Parametricdemo();
void create(string filename);
void create(string& filename);
int solve(SolutionInformation&);
};
......
......@@ -46,7 +46,7 @@ Periodicdemo::~Periodicdemo() {
delete adaptInfo;
}
void Periodicdemo::create(string filename) {
void Periodicdemo::create(string& filename) {
// ===== init parameters =====
Parameters::init(false, filename);
......@@ -85,6 +85,3 @@ int Periodicdemo::solve(SolutionInformation& info) {
info.dofVec = periodic.getSolution();
return retCode;
}
void createProjectList(ProjectList& list) {
}
......@@ -14,7 +14,7 @@ class Periodicdemo : public Project {
Periodicdemo();
~Periodicdemo();
void create(string filename);
void create(string& filename);
int solve(SolutionInformation&);
};
#endif
......@@ -58,6 +58,4 @@ class ProjectInfo {
}
};
typedef list< ProjectInfo > ProjectList;
void createProjectList(ProjectList& );
#endif
#include "Project.h"
#include "BallProject.h"
#include "io/ArhWriter.h"
#include "io/ArhReader.h"
#include <vector>
......
......@@ -36,7 +36,7 @@ Spheredemo::~Spheredemo() {
delete adaptInfo;
}
void Spheredemo::create(string filename) {
void Spheredemo::create(string& filename) {
// ===== init parameters =====
Parameters::init(false, filename);
......@@ -76,6 +76,3 @@ int Spheredemo::solve(SolutionInformation& info) {
info.dofVec = sphere.getSolution();
return retCode;
}
void createProjectList(ProjectList& list) {
}
......@@ -17,7 +17,7 @@ class Spheredemo : public Project {
Spheredemo();
~Spheredemo();
void create(string filename);
void create(string& filename);
int solve(SolutionInformation& );
};
#endif
......@@ -53,10 +53,9 @@ Vecelliptdemo::~Vecelliptdemo() {
delete adaptInfo;
}
void Vecelliptdemo::create(string filename) {
void Vecelliptdemo::create(string& filename) {
// ===== init parameters =====
Parameters::init(false, filename);
Parameters::init(true, filename);
// ===== create and init the scalar problem =====
vecellipt.initialize(INIT_ALL);
......@@ -100,6 +99,3 @@ int Vecelliptdemo::solve(SolutionInformation& info) {
info.sysVec = vecellipt.getSolution();
return retCode;
}
void createProjectList(ProjectList& list) {
}
......@@ -17,7 +17,7 @@ class Vecelliptdemo : public Project {
Vecelliptdemo();
~Vecelliptdemo();
void create(string filename);
void create(string& filename);
int solve(SolutionInformation& );
};
......
#include "Parameters.h"
#include "Project.h"
#include "@PROJECTINCLUDE@"
typedef @CURRENTPROJECTTYPE@ ProjectType;
std::string basename="@BASENAME@";
int main(int argc, char** argv) {
ProjectList list;
createProjectList(list);
for(ProjectList::iterator it=list.begin() ; it != list.end(); ++it) {
it->create();
SolutionInformation info;
it->solve(info);
write(info, it->getFilename());
if(argc < 2) {
std::cout<<" need initfile "<<basename<<"*\n";
return 1;
}
if(argc < 3) {
std::cout<<" also need a destination file "<<basename<<"*\n";
return 2;
}
std::string initfile(argv[1]);
std::string destinationfile(argv[2]);
AMDiS::Parameters::init(false, initfile);
ProjectType project;
ProjectInfo info(&project, initfile, destinationfile);
info.create();
SolutionInformation solinfo;
info.solve(solinfo);
write(solinfo, info.getFilename());
return 0;
}
dimension of world: 1
periodicMesh->macro file name: ./macro/periodic.macro.1d
periodicMesh->global refinements: 0
periodicMesh->periodic file: ./init/periodic.per.1d
periodicMesh->preserve coarse dofs: 0
periodic->mesh: periodicMesh
periodic->dim: 1
periodic->polynomial degree: 1
periodic->solver: cg
periodic->solver->max iteration: 1000
periodic->solver->tolerance: 1.e-8
periodic->solver->info: 2
periodic->solver->left precon: diag
periodic->solver->right precon: no
periodic->estimator: residual
periodic->estimator->error norm: 1 % 1: H1_NORM, 2: L2_NORM
periodic->estimator->C0: 0.1 % constant of element residual
periodic->estimator->C1: 0.0 % constant of jump residual
periodic->marker->strategy: 2 % 0: no adaption 1: GR 2: MS 3: ES 4:GERS
periodic->marker->MSGamma: 0.5
periodic->adapt->tolerance: 1e-6
periodic->adapt->max iteration: 14
periodic->adapt->refine bisections: 2
periodic->adapt->coarsen allowed: 0
periodic->output->filename: periodic
periodic->output->ParaView format: 1
periodic->output->TecPlot format: 0
periodic->output->TecPlot ext: .tec
periodic->output->AMDiS format: 0
periodic->output->AMDiS mesh ext: .mesh
periodic->output->AMDiS data ext: .dat
periodic->output->append index: 0
periodic->output->index length: 6
periodic->output->index decimals: 3
WAIT: 1
dimension of world: 2
ballMesh->macro file name: ./macro/macro.ball.2d
ballMesh->global refinements: 3
ball->mesh: ballMesh
ball->dim: 2
ball->polynomial degree: 1
ball->solver: cg
ball->solver->max iteration: 1000
ball->solver->tolerance: 1.e-8
ball->solver->info: 2
ball->solver->left precon: diag
ball->solver->right precon: no
ball->estimator: residual % residual, recovery
ball->estimator->error norm: 1 % 1: H1_NORM, 2: L2_NORM
ball->estimator->C1: 0.1 % constant of jump residual
ball->marker->strategy: 0 % 0: no adaption 1: GR 2: MS 3: ES 4:GERS
ball->marker->MSGamma: 0.5
ball->adapt->tolerance: 1e-8
ball->adapt->max iteration: 4
ball->adapt->info: 8
ball->output->filename: ball
ball->output->ParaView format: 1
ball->output->TecPlot format: 0
ball->output->TecPlot ext: .tec
ball->output->AMDiS format: 0
ball->output->AMDiS mesh ext: .mesh
ball->output->AMDiS data ext: .dat
ball->output->append index: 0
ball->output->index length: 6
ball->output->index decimals: 3
WAIT: 1
dimension of world: 3
ballMesh->macro file name: ./macro/macro.ball.3d
ballMesh->global refinements: 15
ball->mesh: ballMesh
ball->dim: 3
ball->polynomial degree: 1
ball->solver: cg
ball->solver->max iteration: 1000
ball->solver->tolerance: 1.e-8
ball->solver->left precon: diag
ball->estimator: 0
ball->marker->strategy: 0 % 0: no adaption 1: GR 2: MS 3: ES 4:GERS
ball->output->filename: output/ball
ball->output->ParaView format: 1
ball->output->AMDiS format: 0
ball->output->AMDiS mesh ext: .mesh
ball->output->AMDiS data ext: .dat
dimension of world: 3
bunnyMesh->macro file name: ./macro/bunny_fixed.macro
bunnyMesh->check: 0
bunnyMesh->global refinements: 0
bunny->mesh: bunnyMesh
bunny->dim: 2
bunny->polynomial degree: 1
bunny->solver: cg
bunny->solver->max iteration: 100
bunny->solver->tolerance: 1.e-8
bunny->solver->info: 5
bunny->solver->left precon: diag
bunny->solver->right precon: no
bunny->estimator: residual % residual, recovery
bunny->estimator->error norm: 1 % 1: H1_NORM, 2: L2_NORM
bunny->estimator->C1: 0.1 % constant of jump residual
bunny->marker->strategy: 0 % 0: no adaption 1: GR 2: MS 3: ES 4:GERS
bunny->marker->MSGamma: 0.5
bunny->adapt->tolerance: 1e-8
bunny->adapt->refine bisections: 1
bunny->adapt->max iteration: 0
bunny->adapt->info: 8
bunny->output->filename: bunny_fixed
bunny->output->ParaView format: 1
bunny->output->TecPlot format: 0
bunny->output->TecPlot ext: .tec
bunny->output->AMDiS format: 0
bunny->output->AMDiS mesh ext: .mesh
bunny->output->AMDiS data ext: .dat
bunny->output->append index: 0
bunny->output->index length: 6
bunny->output->index decimals: 3
WAIT: 1
dimension of world: 2
couple->adapt->tolerance: 1e-8
couple->adapt->max iteration: 10
couple->adapt->refine bisections: 2
coupleMesh->macro file name: ./macro/macro.stand.2d
coupleMesh->global refinements: 0
problem1->mesh: coupleMesh
problem1->dim: 2
problem1->polynomial degree: 1
problem1->solver: cg
problem1->solver->max iteration: 1000
problem1->solver->tolerance: 1.e-8
problem1->solver->left precon: diag
problem1->estimator: residual
problem1->estimator->C0: 0.1 % constant of element residual
problem1->estimator->C1: 0.1 % constant of jump residual
problem1->marker->strategy: 2 % 0: no adaption 1: GR 2: MS 3: ES 4:GERS
problem1->marker->MSGamma: 0.5
problem1->output->filename: output/problem1
problem1->output->ParaView format: 1
problem1->output->AMDiS format: 0
problem1->output->AMDiS mesh ext: .mesh
problem1->output->AMDiS data ext: .dat
problem2->dim: 2
problem2->polynomial degree: 1
problem2->solver: cg
problem2->solver->max iteration: 1000
problem2->solver->tolerance: 1.e-8
problem2->solver->left precon: diag
problem2->estimator: 0
problem2->marker->strategy: 0
problem2->output->filename: output/problem2
problem2->output->ParaView format: 1
problem2->output->AMDiS format: 0
problem2->output->AMDiS mesh ext: .mesh
problem2->output->AMDiS data ext: .dat