|
2 | 2 | :maxdepth: 2
|
3 | 3 | :caption: Contents:
|
4 | 4 |
|
5 |
| -Two-scale numerical simulation of a large deforming fluid-saturated porous structure |
6 |
| -==================================================================================== |
| 5 | +Homogenization of peristaltic flows in piezoelectric porous media |
| 6 | +================================================================= |
7 | 7 |
|
8 |
| -Mathematical model |
9 |
| ------------------- |
| 8 | +Model |
| 9 | +----- |
| 10 | + |
| 11 | +This example shows the numerical implementation of the homogenized problem of |
| 12 | +peristaltic flow in porous piezoelectric materials saturated by electrically |
| 13 | +inert fluid. The solid part of a representative volume element consists of the |
| 14 | +piezoelectric skeleton with embedded conductors. The pore fluid in the periodic |
| 15 | +structure constitutes a single connected domain. The electrodes control the |
| 16 | +electric field at the pore level, so that the peristaltic wave of the |
| 17 | +deformation influences the pore volume and can control the direction of fluid |
| 18 | +flow. For details, see [RohanLukes2023]_. |
10 | 19 |
|
11 |
| -We consider a fluid-saturated porous medium undergoing large deformations. A |
12 |
| -double porous medium is constituted by a hyperelastic skeleton and an |
13 |
| -incompressible viscous fluid. Within the Eulerian framework related to the |
14 |
| -current deformed configuration, the two-scale homogenization approach is |
15 |
| -applied to a linearized model discretized in time, being associated with an |
16 |
| -incremental formulation. The homogenization procedure of the linearized |
17 |
| -equations provides effective (homogenized) material properties which are |
18 |
| -computed to constitute the incremental macroscopic problem. The multiscale |
19 |
| -model is derived and discussed in [LukesRohan2020]_. |
20 | 20 |
|
21 | 21 |
|
22 | 22 | Implementation
|
23 | 23 | --------------
|
24 | 24 |
|
25 |
| -The local subproblems defined within the reference cell and the global |
26 |
| -macroscopic equations are discretized and solved by means of the finite element |
27 |
| -method. The macroscopic equations and the incremental ULF algorithm are defined |
28 |
| -in :code:`largedef_porous_mac.py`. The finite element mesh representing the |
29 |
| -macroscopic domain and the applied boundary conditions are depicted in |
30 |
| -:numref:`fig_macro`. |
31 |
| - |
32 |
| -.. :code:`macro_mesh_3x2.vtk` |
| 25 | +The homogenized coefficients, their sensitivities, and the microscopic |
| 26 | +subproblems are defined in :code:`poropiezo_micro.py` and |
| 27 | +:code:`poropiezo_micro_sa.py`. The periodic reference cell, on which the |
| 28 | +microscopic subproblems are solved, is depicted in :numref:`fig_micro`. |
| 29 | +The FE mesh of the reference cell is stored in :code:`mesh_micro_1D.vtk`. |
33 | 30 |
|
34 |
| -.. _fig_macro: |
| 31 | +.. _fig_micro: |
35 | 32 |
|
36 |
| -.. figure:: _static/displ_boundary_conditions.png |
37 |
| - :width: 400px |
| 33 | +.. figure:: _static/micro_geom.png |
| 34 | + :width: 500px |
38 | 35 | :align: center
|
39 | 36 | :figclass: align-center
|
40 | 37 |
|
41 |
| - Boundary conditions applied to the macroscopic 2D sample. |
| 38 | + Decomposition of the microscopic reference cell. |
42 | 39 |
|
43 |
| -The local microscopic problems and the homogenized coefficients are specified |
44 |
| -in :code:`largedef_porous_mic.py`. The domain, on which the microscopic |
45 |
| -calculations are performed, is shown in :numref:`fig_micro`. It consists of the |
46 |
| -porous matrix :math:`Y_3` and two fluid channels :math:`Y_1`, :math:`Y_2`. |
| 40 | +The problem description file coding the homogenized macroscopic equations |
| 41 | +invokes :code:`poropiezo_macro_nl.py`. The FE mesh related to the macroproblem |
| 42 | +is defined in :code:`mesh_macro_20x1x1.vtk`. The applied boundary conditions are shown |
| 43 | +in :numref:`fig_macro_bc`, and the prescribed electric potential, inducing |
| 44 | +the deformation and thus the fluid flow through the structure, is depicted in |
| 45 | +:numref:`fig_macro_phi`. |
47 | 46 |
|
48 |
| -The macro-micro coupling is governed by the SfePy homogenization engine, see |
49 |
| -[CimrmanLukesRohan2019]_, which ensures efficient evaluation of the homogenized |
50 |
| -coefficients demanded by the macroscopic simulation. |
| 47 | +.. _fig_macro_bc: |
51 | 48 |
|
52 |
| -.. :code:`micro_mesh.vtk` |
| 49 | +.. figure:: _static/macro_geom_bc.png |
| 50 | + :width: 500px |
| 51 | + :align: center |
| 52 | + :figclass: align-center |
53 | 53 |
|
54 |
| -.. _fig_micro: |
| 54 | + Boundary conditions applied to the macroscopic sample. |
55 | 55 |
|
56 |
| -.. figure:: _static/micro_geom.png |
57 |
| - :width: 200px |
| 56 | +.. _fig_macro_phi: |
| 57 | + |
| 58 | +.. figure:: _static/fig_bolus_1Dtube_l_20.png |
| 59 | + :width: 400px |
58 | 60 | :align: center
|
59 | 61 | :figclass: align-center
|
60 | 62 |
|
61 |
| - Decomposition of the microscopic domain :math:`Y`. |
| 63 | + Electric potential at selected times. |
62 | 64 |
|
63 | 65 |
|
64 | 66 | Running simulation
|
65 | 67 | ------------------
|
66 | 68 |
|
67 | 69 | To run the multiscale numerical simulation, download the
|
68 |
| -`archive <https://github.com/sfepy/example_largedef_porous/archive/v1.zip>`_, |
69 |
| -unpack it in the main SfePy directory and type: |
| 70 | +`archive <https://github.com/sfepy/example_piezo_flow/archive/v1.zip>`_, |
| 71 | +unpack it and type: |
70 | 72 |
|
71 | 73 | .. code::
|
72 | 74 |
|
73 |
| - ./simple.py example_largedef_porous-1/largedef_porous_mac.py |
| 75 | + sfepy-run example_piezo_flow-1/piezo_macro_nl.py |
| 76 | +
|
| 77 | +In the first step, SfePy invokes the homogenization engine, see |
| 78 | +[CimrmanLukesRohan2019]_, which solves the microscopic subproblems and |
| 79 | +evaluates the homogenized coefficients required at the macroscopic level. In |
| 80 | +the second step, the time-stepping solver resolves the macroscopic problem for |
| 81 | +given boundary conditions, and the reconstruction of the displacement, |
| 82 | +pressure, and velocity fields at the microscopic level is performed. |
| 83 | + |
| 84 | +The reconstructed pressure and velocity fields are shown in |
| 85 | +:numref:`fig_results_rec`. |
| 86 | + |
| 87 | +.. _fig_results_rec: |
| 88 | + |
| 89 | +.. figure:: _static/pressure_velocity_reconstructed.png |
| 90 | + :width: 600px |
| 91 | + :align: center |
| 92 | + :figclass: align-center |
74 | 93 |
|
75 |
| -This invokes the time-stepping solver for the problem at the macroscopic level |
76 |
| -which calls the homogenization engine evaluating the homogenized coefficients |
77 |
| -defined in :code:`largedef_porous_mic.py`. The coefficients are evaluated in |
78 |
| -several embedded loops associated with the time steps and the macroscopic |
79 |
| -integration points, see [LukesRohan2020]_ for details. |
| 94 | + Reconstructed pressure and velocity fields at a given time step. |
80 | 95 |
|
81 |
| -The computed macroscopic results can be visualized using the :code:`resview.py` |
82 |
| -post-processing script as follows: |
| 96 | +The above figure was generated by the post-processing script as follows: |
83 | 97 |
|
84 | 98 | .. code::
|
85 | 99 |
|
86 |
| - ./resview.py example_largedef_porous-1/results/macro_mesh_3x2_*.vtk -w u0 -f cauchy_stress:p0 -v "0,0" -s 18 |
| 100 | + sfepy-view output/mesh_micro_1D.recovered_0.001.040_Yf.vtk -f p:o.4:p0 w:g:f5e-4:p1 0:o.4:p1 --camera-position="0.101136,-0.0016623,0.00179498,0.0917673,0.00652579,-0.000337183,-0.1227,0.116262,0.98561" |
| 101 | +
|
| 102 | +This simulation demonstrates the ability of the porose piezoelectric structure |
| 103 | +to transport fluid against the pressure drop given by the prescribed boundary |
| 104 | +pressures. The dependence of the transported fluid on the magnitude of the |
| 105 | +electrical potential is depicted in :numref:`fig_results_flux`. |
87 | 106 |
|
88 |
| -.. figure:: _static/results1.png |
89 |
| - :width: 700px |
| 107 | +.. _fig_results_flux: |
| 108 | + |
| 109 | +.. figure:: _static/cflux_varying_phi.png |
| 110 | + :width: 400px |
90 | 111 | :align: center
|
91 | 112 | :figclass: align-center
|
92 | 113 |
|
93 |
| - Distribution of the Cauchy stress magnitude (average values per element) in |
94 |
| - the macroscopic deformed domain at time step 18. |
| 114 | + Dependence of cumulative flux on the amplitude of the prescribed electric potential. |
95 | 115 |
|
96 | 116 |
|
97 | 117 | References
|
98 | 118 | ----------
|
99 | 119 |
|
100 |
| -.. [LukesRohan2020] Lukeš V. Rohan E. |
101 |
| - Homogenization of large deforming fluid-saturated porous structures |
102 |
| - `arXiv:2012.03730 <https://arxiv.org/abs/2012.03730>`_ |
| 120 | +.. [RohanLukes2023] Rohan E., Lukeš V. |
| 121 | + xxx, |
| 122 | + `xxx <https://arxiv.org/abs/xxx>`_ |
103 | 123 |
|
104 | 124 | .. [CimrmanLukesRohan2019] Cimrman R., Lukeš V., Rohan E.
|
105 | 125 | Multiscale finite element calculations in Python using SfePy.
|
|
0 commit comments