← Back to team overview

dolfin team mailing list archive

Minor fix in the Navier-Stokes demo

 

The noslip boundary condition in the Navier-Stokes demo did not catch the
corners of the inlets and outlets (e.g. the corner point at (0, 1) is not
inside "on_boundary && x[1] < 1.0 - DOLFIN_EPS", but there should definitely
be a no slip condition there). This minor fix of the inside string for the
boundary condition removes the creeping flow behavior of the solution.

I hope I did this correctly:-) (My first patch)

Best regards

Mikael
# Bazaar merge directive format 2 (Bazaar 0.90)
# revision_id: mikael.mortensen@xxxxxxxxx-20110616193721-\
#   y2tdkyw8x6zdyaeq
# target_branch: bzr+ssh://bazaar.launchpad.net/%2Bbranch/dolfin/
# testament_sha1: 77ad20cd64d0660b7bcd293b5b8bce41d134f21d
# timestamp: 2011-06-16 21:38:22 +0200
# base_revision_id: meg@xxxxxxxxx-20110616184700-vnzj37txkgixrw2e
# 
# Begin patch
=== modified file 'demo/pde/navier-stokes/python/demo_navier-stokes.py'
--- demo/pde/navier-stokes/python/demo_navier-stokes.py	2011-06-02 19:26:59 +0000
+++ demo/pde/navier-stokes/python/demo_navier-stokes.py	2011-06-16 19:37:21 +0000
@@ -18,8 +18,10 @@
 # You should have received a copy of the GNU Lesser General Public License
 # along with DOLFIN. If not, see <http://www.gnu.org/licenses/>.
 #
+# Modified by Mikael Mortensen 2011
+#
 # First added:  2010-08-30
-# Last changed: 2010-08-31
+# Last changed: 2011-06-16
 
 # Begin demo
 
@@ -50,7 +52,8 @@
 p_in = Expression("sin(3.0*t)")
 
 # Define boundary conditions
-noslip  = DirichletBC(V, (0, 0), "on_boundary && x[1] < 1.0 - DOLFIN_EPS && x[0] < 1.0 - DOLFIN_EPS")
+noslip  = DirichletBC(V, (0, 0), "on_boundary && (x[0] < DOLFIN_EPS | x[1] < DOLFIN_EPS | \
+                                  (x[0] > 0.5 - DOLFIN_EPS && x[1] > 0.5-DOLFIN_EPS))")
 inflow  = DirichletBC(Q, p_in, "x[1] > 1.0 - DOLFIN_EPS")
 outflow = DirichletBC(Q, 0, "x[0] > 1.0 - DOLFIN_EPS")
 bcu = [noslip]

# Begin bundle
IyBCYXphYXIgcmV2aXNpb24gYnVuZGxlIHY0CiMKQlpoOTFBWSZTWePvurUAAbh/gAAQAAFZZ//3
XyfNDr////RQBFoTehuKDc6mdCSRNTNNQTNNMQFT8CaTSZ6mk9QNGyekPUGSNU2mmIyqe9Camyo0
APUDQMI0AAJJNBCGjRpqZT9KY1NA9TajRpoyDQ0AOaYmTJowmCYmmATAIYIwIwCSiAnoCZJ6jxCe
oADQDIGgANe2d8LPp3mqk+N5FlTZkEM+D4FTvR84P339n8OL+Hhm2a8V38uZmCj1uP+VV+eU/CU5
AjwcR3xnmLLPNRtcbsA3Lba3oce2nRZ9PxshnmgSIQWNvb0Ot6iFDcb+36zXpj8ye15r7i94sOJs
nWPVYI99bczZwq37v362UbFMwbxvFX09Hmy6WfPBKWC5/q8niT5fBlkNIfcXjNdper2v54FIWLg5
6bmlLTBLyhv0GndS2rl5vJRDssrdhaoL3qKkANCi2MHGIiBRN1J1+SqTla5mCpnkKFPHRe6YjA4d
cgVZavIL52Vjd1jiYn13PnjiQM8Aw89e40GAjkVGCitZVEI1pO1NGCKHhQBYQEgxuQwplCl1kR1K
nFeKXN4HXoUYgiOZLeLmzBoP2VZNmrY5CSPN8ntNdTaasUTGQdBmsAjTvlphwK66o0CwZCYjhZwO
bQ/ffMkKQIY9GMD0Au0ocbcVBoN+TRCACtN+KCLgrDFTC3pSiwUqIbAvschOg0jjCSQEX67W7hbc
zO6Re6WHAWNR5q+Uip01GoVhOpr11DHC2u2HRAu7qHTJLfwWSKZml9NEQ4te+6PRH1R1RA0svVHq
iSPZEIfDmh1pqG9kZjuapwfLy/iYj3g8InM4O6ePM7P8sPRB5C8F3cA/PJL5Zq4V5TLhR7g3wpOj
U0d/T4ksduvA74ZyeiE5hOAx0MdIo1TLpQ5LMNPJNrm60s0RblvYlTPjoI6ISUF0wvrIlY0VMFc+
0pgP+PQqx6zjJZhV0zcBXZNYWstrTO5zV1kOj57DPLdDkY3SiEeSx7c5BjT+zt9LW14lmfoQec9L
ZerixU70FaBx2TKFIpVUW0Zim9rlZHIWrCFKfqWEusc2j3V6S+uvLdiYqZbhxszrCh91a/CWRXA2
WjMLs1N9w/+1O+juQ4yRuWLV/XvUR1mqm8uPY2JVEuNgeBpmAtOee56DPzbaWxMUQ02Px8MFAYam
U6l+LOo5ry9BOqu1XBOLKQpMSJQlaHSh9Y3ZpI1fZHXJCBWlaoqgmNBoGPXW2urW8kx0Q5DxAsaY
iCTKrChMLgkoNaQUeeEKZAfU6vyIIpkMyZXLYfRSsJY15YW35MwEyysC4Y8s8hO/Q4GKEnKEs0lQ
MMvELqcuVQ1RxZk5Vrjl8U/Otq10FiqzF4MF0A0OX5poyYuS3addiGe6UUDNzqwIKZQ2zHxhnIEp
oIyUeQC4BXjZIh24pdJIQAVPSdwjbJM2q9kxYvIFtCBfEcUIHvdGy8TN9SkiLyiYBzDZkeR9leoM
G1gloqfJNjMIWhrzKGNVi2Kr3i8C5UKZSVAwQ8CgkDQ1BXkDT5A3Bm8wkP+LuSKcKEhx991agA==

Follow ups