Skip to content

Thermo-electro-elastic pump #63

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Draft
wants to merge 6 commits into
base: master
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
72 changes: 72 additions & 0 deletions Thermo_electro_elasticity/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
##
# CMake script for the step-8 tutorial program:
##

# Set the name of the project and target:
SET(TARGET "thermo-electro-elastic_pump")

# Declare all source files the target consists of. Here, this is only
# the one step-X.cc file, but as you expand your project you may wish
# to add other source files as well. If your project becomes much larger,
# you may want to either replace the following statement by something like
# FILE(GLOB_RECURSE TARGET_SRC "source/*.cc")
# FILE(GLOB_RECURSE TARGET_INC "include/*.h")
# SET(TARGET_SRC ${TARGET_SRC} ${TARGET_INC})
# or switch altogether to the large project CMakeLists.txt file discussed
# in the "CMake in user projects" page accessible from the "User info"
# page of the documentation.
SET(TARGET_SRC
${TARGET}.cc
)

# Usually, you will not need to modify anything beyond this point...

CMAKE_MINIMUM_REQUIRED(VERSION 2.8.8)

FIND_PACKAGE(deal.II 9.1.0 QUIET
HINTS ${deal.II_DIR} ${DEAL_II_DIR} ../ ../../ $ENV{DEAL_II_DIR}
)
IF(NOT ${deal.II_FOUND})
MESSAGE(FATAL_ERROR "\n"
"*** Could not locate a (sufficiently recent) version of deal.II. ***\n\n"
"You may want to either pass a flag -DDEAL_II_DIR=/path/to/deal.II to cmake\n"
"or set an environment variable \"DEAL_II_DIR\" that contains this path."
)
ENDIF()

DEAL_II_INITIALIZE_CACHED_VARIABLES()
PROJECT(${TARGET})
DEAL_II_INVOKE_AUTOPILOT()

#
# Are all dependencies fulfilled?
#
IF(NOT DEAL_II_WITH_MPI OR NOT DEAL_II_WITH_P4EST OR NOT DEAL_II_WITH_TRILINOS)
MESSAGE(FATAL_ERROR "
Error! The deal.II library found at ${DEAL_II_PATH} was not configured with
DEAL_II_WITH_MPI = ON
DEAL_II_WITH_P4EST = ON
DEAL_II_WITH_TRILINOS = ON
One or all of these are OFF in your installation but are required for this tutorial step."
)
ENDIF()

ADD_CUSTOM_TARGET(clean_output
COMMAND ${CMAKE_COMMAND} -E remove *.vtu *.pvtu *.pvd *.vtk
COMMENT "clean_output invoked"
)

ADD_CUSTOM_TARGET(run_mpi_2
COMMAND mpirun -np 2 ${TARGET}
COMMENT "run_mpi_2 invoked"
)

ADD_CUSTOM_TARGET(run_mpi_4
COMMAND mpirun -np 4 ${TARGET}
COMMENT "run_mpi_4 invoked"
)

ADD_CUSTOM_TARGET(run_mpi_8
COMMAND mpirun -np 8 ${TARGET}
COMMENT "run_mpi_8 invoked"
)
1,891 changes: 1,891 additions & 0 deletions Thermo_electro_elasticity/Pump_um_coarse.inp

Large diffs are not rendered by default.

68 changes: 68 additions & 0 deletions Thermo_electro_elasticity/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
## Overview
Thermo-electro-elastic pump: implementation of a problem with thermo-electro-mechanical coupling.

The electro-mechanical and thermal problems are solved in a staggered manner.
Two implementations of the electro-mechanical problem are implemented:
- the standard two-field formulation using the electric scalar potential and a
displacement field (valid for compressible materials), and
- a four-field formulation, extending the above with an additional dilatation
and pressure field (valid for both compressible and near-incompressible
materials).

Concepts related to this implementation are presented in:

@Article{Mehnert2017a,
author = {M. Mehnert and J.-P. Pelteret and P. Steinmann},
title = {Numerical modelling of nonlinear thermo-electro-elasticity},
journal = {Mathematics and Mechanics of Solids},
year = {2017},
volume = {22},
number = {11},
pages = {2196--2213},
month = nov,
doi = {10.1177/1081286517729867},
publisher = {{SAGE} Publications},
}

@Article{Pelteret2016a,
author = {Pelteret, J.-P. V. and Davydov, D. and McBride, A. and Vu, D. K. and Steinmann, P.},
title = {Computational electro-elasticity and magneto-elasticity for quasi-incompressible media immersed in free space},
journal = {International Journal for Numerical Methods in Engineering},
year = {2016},
volume = {108},
number = {11},
pages = {1307--1342},
month = dec,
doi = {10.1002/nme.5254},
}

### Related papers

@Article{Hamkar2012a,
author = {Hamkar, A-W and Hartmann, Stefan},
title = {Theoretical and numerical aspects in weak-compressible finite strain thermo-elasticity},
journal = {Journal of Theoretical and Applied Mechanics},
year = {2012},
volume = {50},
pages = {3--22},
file = {:Articles/Hamkar2012a.pdf:PDF},
}

@article{mehnert2018numerical,
title={Numerical modeling of thermo-electro-viscoelasticity with field-dependent material parameters},
author={Mehnert, Markus and Hossain, Mokarram and Steinmann, Paul},
journal={International Journal of Non-Linear Mechanics},
volume={106},
pages={13--24},
year={2018},
publisher={Elsevier}
}

@article{mehnert2019experimental,
title={Experimental and numerical investigations of the electro-viscoelastic behavior of VHB 4905TM},
author={Mehnert, Markus and Hossain, Mokarram and Steinmann, Paul},
journal={European Journal of Mechanics-A/Solids},
pages={103797},
year={2019},
publisher={Elsevier}
}
2 changes: 2 additions & 0 deletions Thermo_electro_elasticity/doc/author
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
Markus Mehnert <[email protected]>
Jean-Paul Pelteret <[email protected]>
1 change: 1 addition & 0 deletions Thermo_electro_elasticity/doc/builds-on
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
step-44 code_gallery_Quasi_static_Finite_strain_Quasi_incompressible_ViscoElasticity
3 changes: 3 additions & 0 deletions Thermo_electro_elasticity/doc/dependencies
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
DEAL_II_WITH_MPI
DEAL_II_WITH_TRILINOS
DEAL_II_TRILINOS_WITH_SACADO
1 change: 1 addition & 0 deletions Thermo_electro_elasticity/doc/entry-name
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Nonlinear thermo-electroelasticity
1 change: 1 addition & 0 deletions Thermo_electro_elasticity/doc/tooltip
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
A parallelised nonlinear thermo-electroelastic formulation modelling an electro-active pump, using automatic differentiation and MPI from the Trilinos package.
Loading