From ce9ecc9fe25e47fd5dd94ffb16b3cb56abec3c8b Mon Sep 17 00:00:00 2001 From: Lukas Korous Date: Tue, 27 May 2014 10:57:02 +0200 Subject: [PATCH] Refactor the example to the new master + add it to CMake + fix the reference space creation so that it does not increase the order. --- 2d-advanced/elasticity-linear/CMakeLists.txt | 3 ++- .../distortion/definitions.cpp | 10 +++++----- .../distortion/definitions.h | 10 +++++----- .../elasticity-linear/distortion/main.cpp | 19 +++++++++---------- 4 files changed, 21 insertions(+), 21 deletions(-) diff --git a/2d-advanced/elasticity-linear/CMakeLists.txt b/2d-advanced/elasticity-linear/CMakeLists.txt index 4bbf1e7..a597b89 100644 --- a/2d-advanced/elasticity-linear/CMakeLists.txt +++ b/2d-advanced/elasticity-linear/CMakeLists.txt @@ -1,2 +1,3 @@ add_subdirectory(bracket) -add_subdirectory(crack) \ No newline at end of file +add_subdirectory(crack) +add_subdirectory(distortion) \ No newline at end of file diff --git a/2d-advanced/elasticity-linear/distortion/definitions.cpp b/2d-advanced/elasticity-linear/distortion/definitions.cpp index cb3a4cf..8e2f9b0 100644 --- a/2d-advanced/elasticity-linear/distortion/definitions.cpp +++ b/2d-advanced/elasticity-linear/distortion/definitions.cpp @@ -674,7 +674,7 @@ MeshFunction* ExactSolutionTrEo::clone() const } // Custom filter S11 -void CustomFilterS11::filter_fn(int n, double* x, double* y, Hermes::vector values, Hermes::vector dx, Hermes::vector dy, +void CustomFilterS11::filter_fn(int n, double* x, double* y, Hermes::vector values, Hermes::vector dx, Hermes::vector dy, double* out, double* outdx, double* outdy) { for (int i = 0; i < n; i++) @@ -686,7 +686,7 @@ void CustomFilterS11::filter_fn(int n, double* x, double* y, Hermes::vector values, Hermes::vector dx, Hermes::vector dy, +void CustomFilterS12::filter_fn(int n, double* x, double* y, Hermes::vector values, Hermes::vector dx, Hermes::vector dy, double* out, double* outdx, double* outdy) { for (int i = 0; i < n; i++) @@ -698,7 +698,7 @@ void CustomFilterS12::filter_fn(int n, double* x, double* y, Hermes::vector values, Hermes::vector dx, Hermes::vector dy, +void CustomFilterS22::filter_fn(int n, double* x, double* y, Hermes::vector values, Hermes::vector dx, Hermes::vector dy, double* out, double* outdx, double* outdy) { for (int i = 0; i < n; i++) @@ -710,7 +710,7 @@ void CustomFilterS22::filter_fn(int n, double* x, double* y, Hermes::vector values, Hermes::vector dx, Hermes::vector dy, +void CustomFilterS33::filter_fn(int n, double* x, double* y, Hermes::vector values, Hermes::vector dx, Hermes::vector dy, double* out, double* outdx, double* outdy) { for (int i = 0; i < n; i++) @@ -722,7 +722,7 @@ void CustomFilterS33::filter_fn(int n, double* x, double* y, Hermes::vector values, Hermes::vector dx, Hermes::vector dy, +void CustomFilter_vM::filter_fn(int n, double* x, double* y, Hermes::vector values, Hermes::vector dx, Hermes::vector dy, double* out, double* outdx, double* outdy) { for (int i = 0; i < n; i++) diff --git a/2d-advanced/elasticity-linear/distortion/definitions.h b/2d-advanced/elasticity-linear/distortion/definitions.h index 6059271..6cf5436 100644 --- a/2d-advanced/elasticity-linear/distortion/definitions.h +++ b/2d-advanced/elasticity-linear/distortion/definitions.h @@ -459,7 +459,7 @@ virtual MeshFunction* clone() const return filter; } private: -virtual void filter_fn(int n, double* x, double* y, Hermes::vector values, Hermes::vector dx, Hermes::vector dy, double* rslt, double* rslt_dx, double* rslt_dy); + virtual void filter_fn(int n, double* x, double* y, Hermes::vector values, Hermes::vector dx, Hermes::vector dy, double* rslt, double* rslt_dx, double* rslt_dy); double mu, lambda; CustomEo11* Eo11d; CustomEo12* Eo12d; @@ -485,7 +485,7 @@ virtual MeshFunction* clone() const return filter; } private: -virtual void filter_fn(int n, double* x, double* y, Hermes::vector values, Hermes::vector dx, Hermes::vector dy, double* rslt, double* rslt_dx, double* rslt_dy); + virtual void filter_fn(int n, double* x, double* y, Hermes::vector values, Hermes::vector dx, Hermes::vector dy, double* rslt, double* rslt_dx, double* rslt_dy); double mu, lambda; CustomEo11* Eo11d; CustomEo12* Eo12d; @@ -511,7 +511,7 @@ virtual MeshFunction* clone() const return filter; } private: -virtual void filter_fn(int n, double* x, double* y, Hermes::vector values, Hermes::vector dx, Hermes::vector dy, double* rslt, double* rslt_dx, double* rslt_dy); + virtual void filter_fn(int n, double* x, double* y, Hermes::vector values, Hermes::vector dx, Hermes::vector dy, double* rslt, double* rslt_dx, double* rslt_dy); double mu, lambda; CustomEo11* Eo11d; CustomEo12* Eo12d; @@ -537,7 +537,7 @@ virtual MeshFunction* clone() const return filter; } private: -virtual void filter_fn(int n, double* x, double* y, Hermes::vector values, Hermes::vector dx, Hermes::vector dy, double* rslt, double* rslt_dx, double* rslt_dy); + virtual void filter_fn(int n, double* x, double* y, Hermes::vector values, Hermes::vector dx, Hermes::vector dy, double* rslt, double* rslt_dx, double* rslt_dy); double mu, lambda; CustomEo11* Eo11d; CustomEo12* Eo12d; @@ -563,7 +563,7 @@ virtual MeshFunction* clone() const return filter; } private: -virtual void filter_fn(int n, double* x, double* y, Hermes::vector values, Hermes::vector dx, Hermes::vector dy, double* rslt, double* rslt_dx, double* rslt_dy); + virtual void filter_fn(int n, double* x, double* y, Hermes::vector values, Hermes::vector dx, Hermes::vector dy, double* rslt, double* rslt_dx, double* rslt_dy); double mu, lambda; CustomEo11* Eo11d; CustomEo12* Eo12d; diff --git a/2d-advanced/elasticity-linear/distortion/main.cpp b/2d-advanced/elasticity-linear/distortion/main.cpp index 4a837ab..9cb96ca 100644 --- a/2d-advanced/elasticity-linear/distortion/main.cpp +++ b/2d-advanced/elasticity-linear/distortion/main.cpp @@ -172,11 +172,11 @@ int main(int argc, char* argv[]) // Construct globally refined reference mesh and setup reference space. Mesh::ReferenceMeshCreator ref_mesh_creator(mesh); MeshSharedPtr ref_mesh = ref_mesh_creator.create_ref_mesh(); - Space::ReferenceSpaceCreator u_ref_space_creator(u_space, ref_mesh); + Space::ReferenceSpaceCreator u_ref_space_creator(u_space, ref_mesh, 0); SpaceSharedPtr u_ref_space = u_ref_space_creator.create_ref_space(); - Space::ReferenceSpaceCreator v_ref_space_creator(v_space, ref_mesh); + Space::ReferenceSpaceCreator v_ref_space_creator(v_space, ref_mesh, 0); SpaceSharedPtr v_ref_space = v_ref_space_creator.create_ref_space(); - Space::ReferenceSpaceCreator p_ref_space_creator(p_space, ref_mesh); + Space::ReferenceSpaceCreator p_ref_space_creator(p_space, ref_mesh, 0); SpaceSharedPtr p_ref_space = p_ref_space_creator.create_ref_space(); /* MeshView mvu("Mesh u", new WinGeom(0, 0, 580, 400)); @@ -275,8 +275,7 @@ int main(int argc, char* argv[]) // Increase counter. as++; } - while (as<2); // ! ! ! attention this is to control the number of iterations to be replaced by the line bottom -// while (done == false); + while (done == false); Hermes::Mixins::Loggable::Static::info("Total running time: %g s", cpu_time.accumulated()); @@ -308,11 +307,11 @@ int main(int argc, char* argv[]) viewU.show(u_sln); viewV.show(v_sln); viewP.show(p_sln); - viewS11.show(S11, HERMES_EPS_HIGH, H2D_FN_VAL_0, u_sln, v_sln, 1.0); - viewS12.show(S12, HERMES_EPS_HIGH, H2D_FN_VAL_0, u_sln, v_sln, 1.0); - viewS22.show(S22, HERMES_EPS_HIGH, H2D_FN_VAL_0, u_sln, v_sln, 1.0); - viewS33.show(S33, HERMES_EPS_HIGH, H2D_FN_VAL_0, u_sln, v_sln, 1.0); - view_vM.show(vM, HERMES_EPS_HIGH, H2D_FN_VAL_0, u_sln, v_sln, 1.0); + viewS11.show(S11, H2D_FN_VAL_0, u_sln, v_sln, 1.0); + viewS12.show(S12, H2D_FN_VAL_0, u_sln, v_sln, 1.0); + viewS22.show(S22, H2D_FN_VAL_0, u_sln, v_sln, 1.0); + viewS33.show(S33, H2D_FN_VAL_0, u_sln, v_sln, 1.0); + view_vM.show(vM, H2D_FN_VAL_0, u_sln, v_sln, 1.0); } // Wait for the view to be closed.