From b3ac8bd1a89ad7c4d23395fa8bbd582c28ec2da3 Mon Sep 17 00:00:00 2001 From: Simon Praetorius <simon.praetorius@tu-dresden.de> Date: Wed, 15 Aug 2012 10:19:24 +0000 Subject: [PATCH] baseproblem demos --- extensions/demo/init/drivenCavity2.dat.2d | 34 +++-- .../demo/init/drivenCavity_twophase.dat.2d | 133 ++++++++++++++++++ extensions/demo/init/fsi.dat.2d | 58 +++++--- extensions/demo/init/movingMesh.dat.2d | 130 +++++++++++++++++ .../demo/init/navierStokes_TaylorHood.inc.2d | 2 +- 5 files changed, 327 insertions(+), 30 deletions(-) create mode 100644 extensions/demo/init/drivenCavity_twophase.dat.2d create mode 100644 extensions/demo/init/movingMesh.dat.2d diff --git a/extensions/demo/init/drivenCavity2.dat.2d b/extensions/demo/init/drivenCavity2.dat.2d index daf37efa..95183159 100644 --- a/extensions/demo/init/drivenCavity2.dat.2d +++ b/extensions/demo/init/drivenCavity2.dat.2d @@ -2,7 +2,7 @@ dimension of world: 2 % ====================== VARIABLES ======================== output_folder: output -output_postfix: _drivenCavity +output_postfix: _drivenCavity_rb mesh_name: mesh polynomial-degree: 1 @@ -11,9 +11,9 @@ mesh->refinement->epsilon: 0.01 % local refinement at cahn-hilliard interface mesh->refinement->initial level: 10 -mesh->refinement->level in inner domain: 8 -mesh->refinement->level in outer domain: 8 -mesh->refinement->level on interface: 16 +mesh->refinement->level in inner domain: 10 +mesh->refinement->level in outer domain: 10 +mesh->refinement->level on interface: 14 mesh->min outer interface value: 0.05 mesh->max outer interface value: 0.95 @@ -28,8 +28,8 @@ ${mesh_name}->check: 0 % ============= PROBLEM-SPACES ================================== chns->space->components: 5 -chns->space->polynomial degree[0]: ${polynomial-degree} -chns->space->polynomial degree[1]: ${polynomial-degree} +chns->space->polynomial degree[0]: ${polynomial-degree}+1 +chns->space->polynomial degree[1]: ${polynomial-degree}+1 chns->space->polynomial degree[2]: ${polynomial-degree}+1 chns->space->polynomial degree[3]: ${polynomial-degree}+1 chns->space->polynomial degree[4]: ${polynomial-degree} @@ -53,15 +53,16 @@ chns->initial interface: 0 chns->line->pos: 0.5 chns->initial epsilon: ${mesh->refinement->epsilon} chns->epsilon: ${mesh->refinement->epsilon} -chns->gamma: 1 %0.001 +chns->gamma: 0.001 chns->use mobility: 0 chns->double-well type: 1 % c in [-1,1] chns->viscosity: 0.002 +chns->density: 1.0 %chns->force: [0.0, 9.81] % gravitational force [m/s^2] chns->laplace operator: 0 % 0... div(nu*grad(u)), 1... div(0.5*nu*(grad(u)+grad(u)^T)) [sehr langsam] -chns->non-linear term: 2 % 0... u^old*grad(u_i^old), 1... u'*grad(u_i^old), 2... u^old*grad(u'_i) +chns->non-linear term: 3 % 0... u^old*grad(u_i^old), 1... u'*grad(u_i^old), 2... u^old*grad(u'_i) % ====================== USER_PARAMETER - COUPLING ============== @@ -69,11 +70,20 @@ chns->sigma: 0.0 % surface tension chns->use conservation form: 0 % ====================== TIMESTEPS ======================== -adapt->max iteration: 1 -adapt->max timestep iteration: 1 -adapt->max time iteration: 1 -adapt->timestep: 2e-3 +adapt->rosenbrock method: rodasp +adapt->fix first timesteps: 0 +adapt->rosenbrock->timestep study: 0 +adapt->rosenbrock->timestep study steps: 0 +adapt->rosenbrock->error weights: [1,0,1,1,0] + +adapt[0]->time tolerance: 1.e-1 + +adapt->max iteration: 2 +adapt->max timestep iteration: 2 +adapt->max time iteration: 2 + +adapt->timestep: 1.e-2 adapt->max timestep: 1e+10 adapt->min timestep: 1e-6 adapt->start time: 0.0 diff --git a/extensions/demo/init/drivenCavity_twophase.dat.2d b/extensions/demo/init/drivenCavity_twophase.dat.2d new file mode 100644 index 00000000..d68215db --- /dev/null +++ b/extensions/demo/init/drivenCavity_twophase.dat.2d @@ -0,0 +1,133 @@ +dimension of world: 2 + +% ====================== VARIABLES ======================== +output_folder: output +output_postfix: _drivenCavity_twophase +mesh_name: mesh +polynomial-degree: 1 + +% ====================== MESH ============================= +mesh->refinement->epsilon: 0.01 + +% local refinement at cahn-hilliard interface +mesh->refinement->initial level: 10 +mesh->refinement->level in inner domain: 10 +mesh->refinement->level in outer domain: 10 +mesh->refinement->level on interface: 14 +mesh->min outer interface value: 0.05 +mesh->max outer interface value: 0.95 + +% ====================== MESH ============================= +${mesh_name}->macro file name: macro/macro.drivenCavity.2d +${mesh_name}->global refinements: 0 +${mesh_name}->check: 0 + +% ====================== INCLUDES ========================= +#include "init/reinit.inc.2d" + +% ============= PROBLEM-SPACES ================================== +chns->space->components: 7 + +chns->space->polynomial degree[0]: ${polynomial-degree}+1 +chns->space->polynomial degree[1]: ${polynomial-degree}+1 +chns->space->polynomial degree[2]: ${polynomial-degree}+1 +chns->space->polynomial degree[3]: ${polynomial-degree}+1 +chns->space->polynomial degree[4]: ${polynomial-degree} +chns->space->polynomial degree[5]: ${polynomial-degree}+1 +chns->space->polynomial degree[6]: ${polynomial-degree}+1 + +chns->space->dim: 2 +chns->space->mesh: ${mesh_name} + +% ================== SOLVER ====================================== +chns->space->solver: umfpack +chns->space->solver->symmetric strategy: 0 +chns->space->solver->ell: 3 +chns->space->solver->max iteration: 500 +chns->space->solver->restart: 10 % only used for GMRES +chns->space->solver->tolerance: 1.e-8 +chns->space->solver->info: 1 +chns->space->solver->left precon: ilu + +% ====================== USER-PARAMETER - CH ============== + +chns->initial interface: 0 + chns->line->pos: 0.5 +chns->initial epsilon: ${mesh->refinement->epsilon} +chns->epsilon: ${mesh->refinement->epsilon} +chns->gamma: 0.001 +chns->use mobility: 0 +chns->double-well type: 1 % c in [-1,1] + + +chns->viscosity1: 0.0002 +chns->viscosity2: 0.002 +chns->density1: 0.1 +chns->density2: 1.0 +%chns->force: [0.0, 9.81] % gravitational force [m/s^2] +chns->laplace operator: 0 % 0... div(nu*grad(u)), 1... div(0.5*nu*(grad(u)+grad(u)^T)) [sehr langsam] +chns->non-linear term: 3 % 0... u^old*grad(u_i^old), 1... u'*grad(u_i^old), 2... u^old*grad(u'_i) + +% ====================== USER_PARAMETER - COUPLING ============== + +chns->sigma: 0.0 % surface tension +chns->use conservation form: 0 + +% ====================== TIMESTEPS ======================== + +adapt->rosenbrock method: rodasp +adapt->fix first timesteps: 0 +adapt->rosenbrock->timestep study: 0 +adapt->rosenbrock->timestep study steps: 0 +adapt->rosenbrock->error weights: [1,0,1,1,0] + +adapt[0]->time tolerance: 1.e-1 + +adapt->max iteration: 2 +adapt->max timestep iteration: 2 +adapt->max time iteration: 2 + +adapt->timestep: 1.e-2 +adapt->max timestep: 1e+10 +adapt->min timestep: 1e-6 +adapt->start time: 0.0 +adapt->end time: 10 + + +% =========== OUTPUT ============================================== + +chns->velocity->output->filename: ${output_folder}/velocity${output_postfix}_ +chns->space->output[0]->filename: ${output_folder}/concentration${output_postfix}_ +chns->space->output[4]->filename: ${output_folder}/pressure${output_postfix}_ + +chns->velocity->output->ParaView animation: 1 +chns->velocity->output->ParaView vector format: 1 +chns->velocity->output->write vector as 3d vector: 1 +chns->velocity->output->write every i-th timestep: 1 +%chns->velocity->output->compression: gzip +chns->velocity->output->append index: 1 +chns->velocity->output->index length: 9 +chns->velocity->output->index decimals: 7 + + +chns->space->output[0]->ParaView animation: 1 +chns->space->output[0]->ParaView format: 1 +chns->space->output[0]->write every i-th timestep: 1 +%chns->space->output[0]->compression: gzip +chns->space->output[0]->append index: 1 +chns->space->output[0]->index length: 9 +chns->space->output[0]->index decimals: 7 + +chns->space->output[4]->ParaView animation: 0 +chns->space->output[4]->ParaView format: 0 +chns->space->output[4]->write every i-th timestep: 1 +%chns->space->output[4]->compression: gzip +chns->space->output[4]->append index: 1 +chns->space->output[4]->index length: 9 +chns->space->output[4]->index decimals: 7 + +% ====================== ESTIMATORS ======================= +adapt->strategy: 0 % 0=explicit, 1=implicit + +WAIT: 1 + diff --git a/extensions/demo/init/fsi.dat.2d b/extensions/demo/init/fsi.dat.2d index 6e882951..6870e96a 100644 --- a/extensions/demo/init/fsi.dat.2d +++ b/extensions/demo/init/fsi.dat.2d @@ -4,6 +4,8 @@ dimension of world: 2 output_folder: output output_postfix: _fsi +KD-Tree->enabled: 1 + % ====================== MESH ============================= mesh->H: 0.4 %0.41 mesh->L: 2.4 %2.5 @@ -29,12 +31,12 @@ connection->vertex[3]: [0.26, 0.16] obstacle->P: 0.2 -mesh->refinement->initial level: 4 +mesh->refinement->initial level: 2 mesh->refinement->level on interface: 6 -mesh->refinement->level in inner domain: 4 +mesh->refinement->level in inner domain: 2 mesh->refinement->level in outer domain: 0 mesh->refinement->interface width: 0.01 -mesh->refinement->fade out width: 0.1 +mesh->refinement->fade out width: 0.05 % ====================== MESH ============================= mesh1->macro file name: macro/obstacle_in_channel.2d @@ -49,18 +51,29 @@ mesh2->check: 1 polynomial-degree: 1 mesh_name: mesh2 #include "init/navierStokes_TaylorHood.inc.2d" +ns->space->mesh: mesh2 + +ns->stress->output->filename: ${output_folder}/stress${output_postfix}_ +ns->stress->output->ParaView animation: 1 +ns->stress->output->ParaView vector format: 1 +ns->stress->output->write vector as 3d vector: 1 +ns->stress->output->write every i-th timestep: 1 +%ns->stress->output->compression: gzip +ns->stress->output->append index: 1 +ns->stress->output->index length: 9 +ns->stress->output->index decimals: 7 % =========== ELASTICITY_PROBLEM 1 ================================ % --------------- PROBLEM-SPACES ---------------------------------- elasticity->obstacle->space->components: 2*${dimension of world} -elasticity->obstacle->space->polynomial degree[0]: ${polynomial-degree} -elasticity->obstacle->space->polynomial degree[1]: ${polynomial-degree} -elasticity->obstacle->space->polynomial degree[2]: ${polynomial-degree} -elasticity->obstacle->space->polynomial degree[3]: ${polynomial-degree} -elasticity->obstacle->space->polynomial degree[4]: ${polynomial-degree} -elasticity->obstacle->space->polynomial degree[5]: ${polynomial-degree} +elasticity->obstacle->space->polynomial degree[0]: ${polynomial-degree}+1 +elasticity->obstacle->space->polynomial degree[1]: ${polynomial-degree}+1 +elasticity->obstacle->space->polynomial degree[2]: ${polynomial-degree}+1 +elasticity->obstacle->space->polynomial degree[3]: ${polynomial-degree}+1 +elasticity->obstacle->space->polynomial degree[4]: ${polynomial-degree}+1 +elasticity->obstacle->space->polynomial degree[5]: ${polynomial-degree}+1 elasticity->obstacle->space->dim: ${dimension of world} elasticity->obstacle->space->mesh: mesh1 @@ -89,6 +102,15 @@ elasticity->obstacle->space->output->append index: 1 elasticity->obstacle->space->output->index length: 9 elasticity->obstacle->space->output->index decimals: 7 +elasticity->obstacle->stress->output->filename: ${output_folder}/boundaryStress${output_postfix}_ +elasticity->obstacle->stress->output->ParaView animation: 1 +elasticity->obstacle->stress->output->ParaView vector format: 1 +elasticity->obstacle->stress->output->write vector as 3d vector: 1 +elasticity->obstacle->stress->output->write every i-th timestep: 1 +elasticity->obstacle->stress->output->append index: 1 +elasticity->obstacle->stress->output->index length: 9 +elasticity->obstacle->stress->output->index decimals: 7 + % =========== ELASTICITY_PROBLEM 2 ================================ % --------------- PROBLEM-SPACES ---------------------------------- @@ -115,15 +137,15 @@ main->solver: umfpack % ====================== USER_PARAMETER - NS ============== % glycerine -ns->viscosity: 1.13*1.e-3 -ns->density: 1.26*1.e3 +ns->viscosity: 1.e-3 +ns->density: 1.e3 -ns->theta: 0.5 +ns->theta: 1.0 %ns->force: [0.0, 9.81] % gravitational force [m/s^2] ns->force dirichlet bc: 0 -ns->Um: 1.5 +ns->Um: 0.2 ns->beta: 1 ns->alpha: 2.7 @@ -135,13 +157,15 @@ ns->non-linear term: 2 % 0... u^old*grad(u_i^old), 1... u'*grad(u_i^old), 2... % ====================== USER_PARAMETER - NS ============== % polypropylene -elasticity->obstacle->mu: 317*1.e6 -elasticity->obstacle->lambda: 1.6637*1.e9 -elasticity->obstacle->rho: 1.1*1.e3 +elasticity->obstacle->mu: 0.5*1.e6 +elasticity->obstacle->lambda: 2*1.e6 +elasticity->obstacle->rho: 1.e3 elasticity->obstacle->beta: 1 elasticity->obstacle->alpha: 2.7 +elasticity->obstacle->non-linear term: 2 + % polypropylene elasticity->fluid->mu: 700 elasticity->fluid->lambda: 1200 @@ -155,7 +179,7 @@ adapt->max iteration: 1 adapt->max timestep iteration: 1 adapt->max time iteration: 1 -adapt->timestep: 1.e-5 +adapt->timestep: 1.e-4 adapt->max timestep: 1e+10 adapt->min timestep: 1e-6 adapt->start time: 0.0 diff --git a/extensions/demo/init/movingMesh.dat.2d b/extensions/demo/init/movingMesh.dat.2d new file mode 100644 index 00000000..765daf17 --- /dev/null +++ b/extensions/demo/init/movingMesh.dat.2d @@ -0,0 +1,130 @@ +dimension of world: 2 + +% ====================== VARIABLES ======================== +output_folder: output +output_postfix: _movingMesh + +% ====================== MESH ============================= +mesh->H: 0.4 %0.41 +mesh->L: 2.4 %2.5 + + +obstacle->num vertices: 4 +obstacle->vertex[0]: [0.16, 0.12] +obstacle->vertex[1]: [0.16, 0.24] +obstacle->vertex[2]: [0.28, 0.24] +obstacle->vertex[3]: [0.28, 0.12] + +flag->num vertices: 4 +flag->vertex[0]: [0.28, 0.20] +flag->vertex[1]: [0.64, 0.20] +flag->vertex[2]: [0.64, 0.16] +flag->vertex[3]: [0.28, 0.16] + +connection->num vertices: 4 +connection->vertex[0]: [0.26, 0.20] +connection->vertex[1]: [0.30, 0.20] +connection->vertex[2]: [0.30, 0.16] +connection->vertex[3]: [0.26, 0.16] + +beam->P: 3.0 +beam->L: 0.46 +beam->EI: 1.0 +beam->fixedPoint: [0.28, 0.18] + +mesh->refinement->initial level: 4 +mesh->refinement->level on interface: 6 +mesh->refinement->level in inner domain: 4 +mesh->refinement->level in outer domain: 0 +mesh->refinement->interface width: 0.01 +mesh->refinement->fade out width: 0.1 + +% ====================== MESH ============================= +mesh1->macro file name: macro/obstacle_in_channel.2d +mesh1->global refinements: 2 +mesh1->check: 1 + +mesh2->macro file name: macro/channel.2d +mesh2->global refinements: 2 +mesh2->check: 1 + +% ====================== INCLUDES ========================= +polynomial-degree: 1 + +% =========== ELASTICITY_PROBLEM 1 ================================ + +% --------------- PROBLEM-SPACES ---------------------------------- +elasticity->solid->space->components: ${dimension of world} + +elasticity->solid->space->polynomial degree[0]: ${polynomial-degree} +elasticity->solid->space->polynomial degree[1]: ${polynomial-degree} +elasticity->solid->space->polynomial degree[2]: ${polynomial-degree} + +elasticity->solid->space->dim: ${dimension of world} +elasticity->solid->space->mesh: mesh1 + +% --------------- SOLVER ---------------------------------- +elasticity->solid->space->solver: umfpack +elasticity->solid->space->solver->symmetric strategy: 0 +elasticity->solid->space->solver->tolerance: 1.e-8 +elasticity->solid->space->solver->info: 1 + +% --------------- OUTPUT ---------------------------------- +elasticity->solid->space->output->filename: ${output_folder}/elasticity_solid${output_postfix}_ +elasticity->solid->space->output->ParaView animation: 1 +elasticity->solid->space->output->ParaView vector format: 1 +elasticity->solid->space->output->write vector as 3d vector: 1 +elasticity->solid->space->output->write every i-th timestep: 1 +elasticity->solid->space->output->append index: 1 +elasticity->solid->space->output->index length: 9 +elasticity->solid->space->output->index decimals: 7 + +% =========== ELASTICITY_PROBLEM 2 ================================ + +% --------------- PROBLEM-SPACES ---------------------------------- +elasticity->fluid->space->components: ${dimension of world} + +elasticity->fluid->space->polynomial degree[0]: ${polynomial-degree} +elasticity->fluid->space->polynomial degree[1]: ${polynomial-degree} +elasticity->fluid->space->polynomial degree[2]: ${polynomial-degree} + +elasticity->fluid->space->dim: ${dimension of world} +elasticity->fluid->space->mesh: mesh2 + +% --------------- SOLVER ---------------------------------- +elasticity->fluid->space->solver: umfpack +elasticity->fluid->space->solver->symmetric strategy: 0 +elasticity->fluid->space->solver->tolerance: 1.e-8 +elasticity->fluid->space->solver->info: 1 + +% --------------- OUTPUT ---------------------------------- +elasticity->fluid->space->output->filename: ${output_folder}/elasticity_fluid${output_postfix}_ +elasticity->fluid->space->output->ParaView animation: 1 +elasticity->fluid->space->output->ParaView vector format: 1 +elasticity->fluid->space->output->write vector as 3d vector: 1 +elasticity->fluid->space->output->write every i-th timestep: 1 +elasticity->fluid->space->output->append index: 1 +elasticity->fluid->space->output->index length: 9 +elasticity->fluid->space->output->index decimals: 7 + +% ====================== MAIN_PROBLEM ============== + +main->dim: ${dimension of world} +main->solver: umfpack + +% ====================== TIMESTEPS ======================== +adapt->max iteration: 1 +adapt->max timestep iteration: 1 +adapt->max time iteration: 1 + +adapt->timestep: 1.e-1 +adapt->max timestep: 1e+10 +adapt->min timestep: 1e-6 +adapt->start time: 0.0 +adapt->end time: 25 + +% ====================== ESTIMATORS ======================= +adapt->strategy: 0 % 0=explicit, 1=implicit + +WAIT: 1 + diff --git a/extensions/demo/init/navierStokes_TaylorHood.inc.2d b/extensions/demo/init/navierStokes_TaylorHood.inc.2d index 868aff11..75a8e948 100644 --- a/extensions/demo/init/navierStokes_TaylorHood.inc.2d +++ b/extensions/demo/init/navierStokes_TaylorHood.inc.2d @@ -19,7 +19,7 @@ ns->simple algorithm: 1 ns->calculate pressure: 0 ns->initial velocity: 3 ns->initial velocity value: 0.1 -ns->laplace operator: 1 % 0... div(nu*grad(u)), 1... div(0.5*nu*(grad(u)+grad(u)^T)) [sehr langsam] +ns->laplace operator: 0 % 0... div(nu*grad(u)), 1... div(0.5*nu*(grad(u)+grad(u)^T)) [sehr langsam] ns->non-linear term: 2 % 0... u^old*grad(u_i^old), 1... u'*grad(u_i^old), 2... u^old*grad(u'_i) % =========== OUTPUT ============================================== -- GitLab