How to set boundary conditions for time-dependent 2D mechanical equations (dux/dt = 0.03 m/s) #1743
Unanswered
payton-github
asked this question in
Q&A
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
How to set boundary conditions for time-dependent 2D mechanical equations (dux/dt = 0.03 m/s)
def boundary_left(x, on_boundary):
return on_boundary and dde.utils.isclose(x[0], 0.0)
def boundary_right(x, on_boundary):
return on_boundary and dde.utils.isclose(x[0], 1.0)
def boundary_top(x, on_boundary):
return on_boundary and dde.utils.isclose(x[1], 1.0)
def boundary_bottom(x, on_boundary):
return on_boundary and dde.utils.isclose(x[1], 0.0)
v_bottom_bc = dde.icbc.DirichletBC(spatio_temporal_domain, lambda x: 0, boundary_bottom, component=1)
u_left_bc = dde.icbc.OperatorBC(spatio_temporal_domain,lambda x,y,_: dde.grad.jacobian(y,x,i=0,j=2)-0.03, boundary_left,)
u_right_bc = dde.icbc.OperatorBC(spatio_temporal_domain,lambda x,y,_: dde.grad.jacobian(y,x,i=0,j=2)+0.03, boundary_right,)
ux=0 and uy =0 at t=0
initial_condition_u = dde.icbc.IC(
spatio_temporal_domain, u_func, lambda _, on_initial: on_initial, component=0
)
initial_condition_v = dde.icbc.IC(
spatio_temporal_domain, v_func, lambda _, on_initial: on_initial, component=1
)
dux/dt=0 and duy/dt =0 at t=0
initial_condition_u2=dde.icbc.OperatorBC(spatio_temporal_domain,lambda x,y,_:dde.grad.jacobian(y,x,i=0,j=2), lambda _, on_initial: on_initial,)
initial_condition_v2=dde.icbc.OperatorBC(spatio_temporal_domain,lambda x,y,_:dde.grad.jacobian(y,x,i=1,j=2), lambda _, on_initial: on_initial,)
but the result are different from the numerical simulations。so Whether the boundary conditions and initial conditions are set incorrectly 。Any leads would be highly appreciated 。Thank you
Beta Was this translation helpful? Give feedback.
All reactions