পইসন সমীকরণ: ল্যাঞ্জরেঞ্জ গুণকগুলির মাধ্যমে সীমানা শর্ত হিসাবে সম্পূর্ণ গ্রেডিয়েন্ট চাপিয়ে দিন


11

আমার পোয়েসন সমীকরণ দ্বারা দুটি মাত্রায় নিয়ন্ত্রিত একটি শারীরিক সমস্যা রয়েছে আমি দুই গ্রেডিয়েন্ট উপাদান পরিমাপ আছেতোমার দর্শন লগ করা /এক্স এবংতোমার দর্শন লগ করা /Y সীমানা কিছু অংশ সহ, Γ মি , তাই চাপিয়ে চাই তোমার দর্শন লগ করা

2u=f(x,y),inΩ
u/xu/yΓm এবং সুদূর মাঠে প্রচার করুন।
uxi0=gm,onΓm

স্পর্শিনী গ্রেডিয়েন্ট উপাদান, , আমি শুধু সংহত করতে পারেন এবং তারপর একটি Dirichlet শর্ত মাধ্যমে জোরদার করা, যেমন যে Γমিতোমার দর্শন লগ করাux(t,0) একই সাথে সাধারণ উপাদান চাপিয়ে দেওয়ার জন্য,u

Γmux(t,0)ds=u0
, আমি একত্রিত হয়েছি আমাকে ল্যাঞ্জরেঞ্জ গুণকগুলির মধ্য দিয়ে যেতে হবে।ux(n,0)

সুতরাং আমি মনে করি পরিবর্তিত রূপটি তখন Ωuv is সম্পর্কিত সমস্যা সম্পর্কিতhttps://answers.launchpad.net/fenics/+question/212434https://answers.launchpad.net/fenics/+Qtionসম্পর্কিত তথ্য থেকে একত্রিত করার চেষ্টা করে আমি দীর্ঘ সময় ব্যয় করেছি / 216323

ΩuvdxλΓm(ux(n,0)gm)vds=Ωfvdx

তবে আমি কোথায় ভুল করছি তা এখনও দেখতে পাচ্ছেন না। আমার সমাধানের প্রচেষ্টা এখনও অবধি:

from dolfin import *

# Create mesh and define function space
mesh = UnitSquareMesh(64, 64)
V = FunctionSpace(mesh, "Lagrange", 1)
R = FunctionSpace(mesh, "R", 0)
W = V * R

# Create mesh function over cell facets
boundary_parts = MeshFunction("uint", mesh, mesh.topology().dim()-1)

# Mark left boundary facets as subdomain 0
class LeftBoundary(SubDomain):
    def inside(self, x, on_boundary):
        return on_boundary and x[0] < DOLFIN_EPS

Gamma_Left = LeftBoundary()
Gamma_Left.mark(boundary_parts, 0)

class FarField(SubDomain):
    def inside(self, x, on_boundary):
        return on_boundary and ( (x[0] > 1.0-DOLFIN_EPS) \
               or (x[1]<DOLFIN_EPS) or (x[1]> 1.0-DOLFIN_EPS) )

Gamma_FF = FarField()
Gamma_FF.mark(boundary_parts, 1)

# Define boundary condition
u0 = Expression("sin(x[1]*pi)")
bcs = [DirichletBC(V, u0, Gamma_Left)]

# Define variational problem
(u, lmbd) = TrialFunctions(W)
(v, d) = TestFunctions(W)

f = Expression("10*exp(-(pow(x[0] - 0.5, 2) + pow(x[1] - 0.5, 2)) / 0.02)")
g = Constant(0.0)
h = Constant(-4.0)
n = FacetNormal(mesh)

F = inner(grad(u), grad(v))*dx + d*dot(grad(u),n)*ds(0) + lmbd*dot(grad(v),n)*ds(0)-\
   (f*v*dx + g*v*ds(1) + h*d*ds(0) + lmbd*h*ds(0))

a = lhs(F)
L = rhs(F)

# Compute solution
A = assemble(a, exterior_facet_domains=boundary_parts)
b = assemble(L, exterior_facet_domains=boundary_parts)
for bc in bcs: bc.apply(A, b)

w = Function(W)
solve(A, w.vector(), b, 'lu')
(u,lmbd) = w.split()

# Plot solution
plot(u, interactive=True)

যা চলে তবে একটি শোরগোলের ফলাফল দেয় যা মোটেই কোনও পইসন সমীকরণের সমাধানের মতো নয়। এটি সম্মিলিত ফাংশন স্পেসগুলির সাথে কিছু করার আছে বলে মনে হচ্ছে তবে আমি ভুলটি খুঁজে পাচ্ছি না।
আমি সঠিক সাহায্যে কোনও সহায়তা বা পয়েন্টারকে প্রশংসা করব - ইতিমধ্যে অনেক ধন্যবাদ!
চিয়ার্স
মার্কাস


আমাকে এই অধিকারটি পেতে দাও: আপনার কাছে ডিরিচলেট এবং নিউমান উভয় তথ্য রয়েছে তবে কেবল সীমানার অংশে?
খ্রিস্টান ক্লাসন

1
আমি যেমন ওপি বুঝতে পেরেছি, এটি সীমানায় দেওয়া গ্রেডিয়েন্ট is স্পর্শকাতর ডেরিভেটিভ চাপিয়ে দেওয়ার জন্য ডিরিচলেট ডেটা ব্যবহার করা হয়। আমি ভেবেছিলাম সীমান্তের এক অংশে ডিরিচলেট এবং নিউমান উভয়কে চাপিয়ে দেওয়া অদ্ভুত তবে সম্ভবত এই বিশেষ পরিস্থিতিতে এটি সামঞ্জস্যপূর্ণ। সুতরাং, সমস্যাটি হ'ল সীমানায় গ্রেডিয়েন্ট ডেটা কীভাবে প্রয়োগ করা যায় (গুণকগুলির মাধ্যমে)।
জানুয়ারী

সত্য, এটি সামঞ্জস্যপূর্ণ ডেটা দেবে, তবে আপনার এখনও স্থায়িত্বের অভাব এবং সীমাবদ্ধতার একমাত্র অংশে আপনার সীমানা শর্ত রয়েছে।
খ্রিস্টান ক্লাসন

ঠিক আছে, আমি যে নির্দিষ্ট শারীরিক সমস্যার সমাধানের চেষ্টা করছি সে সম্পর্কে আমাকে আরও কিছু তথ্য দিন। আমার কাছে একটি স্থির চৌম্বকীয় ক্ষেত্র রয়েছে যা আমি যুক্তিযুক্তভাবে ঘূর্ণনগতভাবে প্রতিসাম্য হিসাবে ধরে নিতে পারি, এভাবে 2D। আমি একটি রেখার সাথে চৌম্বকীয় ক্ষেত্রের ঘনত্ব ভেক্টরের রেডিয়াল এবং অক্ষীয় উপাদানগুলি পরিমাপ করি যা মোটামুটি ঘোরার অক্ষের খুব কাছাকাছি এবং ঘূর্ণনের এই অক্ষ থেকে যথেষ্ট দূরত্বে এই চৌম্বকীয় ক্ষেত্রটি দেখতে চাই। ডিরিচলেট এবং নিউমান বিসি-এর সংমিশ্রণটি আমার কাছে সমস্যা সম্পর্কিত কেবলমাত্র ধারণা হিসাবে জান যেমন স্পষ্টভাবে বর্ণিত হয়েছিল - সীমানায় গ্রেডিয়েন্ট ডেটা চাপিয়ে দেওয়া হয়েছিল।
মার্কাস

1
ঠিক আছে, এটি জিনিসগুলিকে উল্লেখযোগ্যভাবে পরিবর্তন করে। সুতরাং আপনার সীমানার পুরো "সসীম" অংশের উপর সীমাহীন ডোমেন এবং ডেরাইভেটিভ তথ্য রয়েছে ?
ক্রিশ্চান ক্ল্যাসন

উত্তর:


8

প্রথম, একটি সাধারণ বিষয়: আপনি আংশিক ডিফারেন্সিয়াল অপারেটরের জন্য স্বেচ্ছাসেবী সীমানা শর্তাবলী নির্ধারণ করতে পারবেন না এবং আশা করতে পারেন যে আংশিক ডিফারেন্সিয়াল সমীকরণ (যা সর্বদা অপারেটর এবং সীমানা উভয় শর্ত উভয়ই অন্তর্ভুক্ত) ভালভাবে পোজযুক্ত, অর্থাত্ একটি অনন্য সমাধানকে স্বীকার করে যা নিয়মিতভাবে নির্ভর করে ডেটা - এগুলি সবই আসলে কোনও কিছু গণনা করার চেষ্টা করার জন্য প্রয়োজনীয় শর্ত।

অপারেটরের উপর নির্ভর করে, প্রায়শই বেশিরভাগ বৈধ শর্ত আপনি চাপিয়ে দিতে পারেন (স্বাদ পেতে, সিংহ এবং ম্যাগনেস দ্বারা ত্রি-ভলিউম মনোগ্রাফ দেখুন)। তবে, আপনি যা করার চেষ্টা করছেন (সম্পূর্ণ গ্রেডিয়েন্টটি নির্দিষ্ট করুন, যা দ্বিতীয়-আদেশের উপবৃত্তাকার PDE এর জন্য একই (অংশের) সীমানায় ডিরিচলেট এবং নিউমন উভয়ের শর্তের সমান) তাদের মধ্যে নেই - এটি একটি হিসাবে পরিচিত পার্শ্বীয় কচির সমস্যা, এবং অসঙ্গতভাবে প্রকাশিত: কোনও গ্যারান্টি নেই যে প্রদত্ত জোড়া সীমানা তথ্য একটি সমাধানকে স্বীকার করে, এবং এমনকি যদি এটি উপস্থিত থাকে তবে ডেটাতে ক্ষুদ্র বিশৃঙ্খলার ক্ষেত্রে কোনও স্থিতিশীলতা নেই। (প্রকৃতপক্ষে, এটি হাদামারডের অর্থেই মূল অসুস্থ সমস্যা এবং ধ্রুপদী উদাহরণ কেন আপনি ভালভাবে উদ্বিগ্নতার বিষয়ে আলোচনা করার সময় কেন সীমানা পরিস্থিতি উপেক্ষা করতে পারবেন না। আপনি লৈখিক আংশিক পার্থক্যের ক্ষেত্রে কাচির সমস্যার বিষয়ে তাঁর বক্তৃতায় একটি স্পষ্ট উদাহরণ খুঁজে পেতে পারেন। 1920 এর সমীকরণ ।)

(r,R)×(a,b)x=rRxy=ay=b

  1. যদি আপনি সীমানা শর্ত আরোপ করতে পারেন (নিউম্যান, রবিন, ডিরিচলেট - যা আপনাকে স্পর্শকাতৃত ডেরাইভেটিভের সংহতকরণের ধ্রুবকটি ঠিকঠাক করে ফেলতে হবে, তবে) তবে আপনার গ্রেডিয়েন্টের স্বাভাবিক উপাদানগুলিকে নিউমানের অবস্থা হিসাবে ব্যবহার করা যথেষ্ট is (যদি আপনি ধ্রুবক মোড ঠিক করতে পারেন) বা স্পর্শকাতর উপাদানগুলি ডেরিচলেট শর্ত হিসাবে সংহত করতে পারেন। যেহেতু উভয় শর্তই সম্ভবত একই ফাংশনের সাথে সামঞ্জস্যপূর্ণ, আপনি উভয় উপায়ে একই সমাধান পাবেন।

  2. y=ay=bΔu=fΔu+εΔ2u=fε>0H2uuεuε0

    H2


ফিনিসিএসে মিশ্র উপাদান দ্বারা বাস্তবায়নের জন্য biharmonicডেমো দেখুন। এটি সম্ভবত ল্যাপ্লেস শব্দ ছাড়া হয় তবে আমার ধারণা এটি সহজেই যুক্ত করা যায়।
জান ব্লেচটা

হাই ক্রিশ্চান, আপনার পরামর্শের জন্য ধন্যবাদ! আমি এই ছাপে ছিলাম যে সাংখ্যিক স্থিতিশীলতার দিক থেকে পইসন সমীকরণটি সৌম্য ছিল - এটি উল্লেখ করার জন্য ধন্যবাদ। আপনার পরামর্শ অনুসারে আমি এটি পড়ব। এটি নিশ্চিতভাবে নিশ্চিত নয় যে এটিগুলি যথেষ্ট পরিমাণে পরিবর্তন করে, তবে পরবর্তী মন্তব্যে যেমন উল্লিখিত হয়েছে, ডেরিচলেট-নিউম্যান সংমিশ্রণ সম্ভবত বিভ্রান্তিকর। 'সমস্ত' আমি সন্ধান করছি, এটি সীমানায় গ্রেডিয়েন্ট ডেটা চাপিয়ে দেওয়ার এক উপায়।
মার্কাস

2
পোইসন সমীকরণটি সৌম্য, তবে আপনি যে সমীকরণটি সমাধান করার চেষ্টা করছেন তা নয় :) (সীমানা শর্তগুলি সমীকরণের একটি অবিচ্ছেদ্য অঙ্গ; স্থিতিশীলতা নির্ধারণে অপারেটর একাই অপর্যাপ্ত))
ক্রিশ্চান ক্লাসন

ঠিক আছে, যা আমাকে চিবিয়ে দেওয়ার জন্য কিছু দেয়। আপনার সময়, পরামর্শ এবং ধৈর্য জন্য সবাইকে ধন্যবাদ - এবং এক্সওয়াই ফাঁদে পড়ার জন্য আমার ক্ষমা ...
মার্কাস

4

আপনি আশা করতে পারবেন না যে আপনার পরিবর্তিত সমস্যার সমাধান পোইসন সমস্যার সমাধান হতে পারে কারণ সমস্যাটি ভালভাবে তৈরি করার জন্য আপনার কোনওভাবে পরিবর্তন করা দরকার।

কেউ অনুমান করতে পারে যে সম্ভাব্য সমস্যা তৈরির পদ্ধতি হ'ল হ্রাস করা

F(u,λ)=Ω12|u|2dxΩfudxΓNgudS+ΓNλ(uuD)dS
(u,λ)V×L2(ΓN)V={vH1;v|ΓD=0}ΓDuDΓNF(u)
0=DF(u)[v]=ΩuvdxΩfvdxΓNgvdSvV,
ΓNΓD
0=DF(u,λ)[v,μ]=ΩuvdxΩfvdxΓNgvdS+ΓNλvdS+ΓNμ(uuD)dS(v,μ)V×L2(ΓN),
Δu=fun=gλΓNΓN

λ|g|

ΓDvVΓD

উপসংহার আপনি যে আপনি আশা করতে পারবেন না যে দ্বিতীয় আদেশ পিডিই দুটি স্বতন্ত্র সীমানা শর্ত স্বীকার করবে।


F(u,λ)DF(u,λ)[v,μ]derivative()

F(u,λ)λL2(ΓN)λL2(Ω)λR


2ufuH1

আমার গণিত দুর্ভাগ্যক্রমে স্ক্র্যাচ করার পক্ষে নেই এবং আমি বনচ স্পেসগুলির গাণিতিক প্রভাব সম্পর্কে নিশ্চিত নই, তবে ল্যাঞ্জরেঞ্জ গুণক শব্দটি বিলুপ্ত হওয়ার পরে কেন সমীকরণটি পয়সন সমীকরণের সমাধান হয় না তা দেখার জন্য আমি লড়াই করছি। শারীরিক দৃষ্টিকোণ থেকে একটি সমাধান (আমি বর্ণিত ব্যবহারিক সমস্যার কাছে, আমি গণিতগত দিক থেকে সমাধানটি বোঝাতে চাইনি) যতদূর আমি দেখতে পাচ্ছি অবশ্যই উপস্থিত থাকতে হবে
মার্কাস

সুতরাং এটি বরং একটি বিপরীত সমস্যা, দূরবর্তী ক্ষেত্রের সীমানা শর্তটি সন্ধান করা যা আপনি একসাথে ডাইরিচলেট শর্তটি চাপিয়ে দিতে পারেন যা আপনি পরিমাপ করেন সেই সীমানায় পরিলক্ষিত স্বাভাবিক গ্রেডিয়েন্টটি দেয়?
মার্কাস

3

আপনার পদ্ধতি কার্যকরভাবে প্রয়োগের কারণে এবং সম্ভবত আপনার গঠনের কারণে কার্যকর হতে পারে না।

ডলফিনে ডিরিচলেট শর্তাবলী চাপিয়ে দেওয়া অবশেষে আপনার পরীক্ষার জায়গার সাথে সম্পর্কিত ডিওএফ সেট করে শূন্যে।

এটি ফেনিক্স-ম্যানুয়াল থেকে একটি সংক্ষিপ্তসার :

অধ্যায় 3.৩.৯ (শেষ): একটি লিনিয়ার সিস্টেমে একটি ডিরিচলেট সীমানা শর্ত প্রয়োগের ফলে প্রদত্ত মানকে নির্ধারিত হওয়া সমস্ত ডিগ্রি চিহ্নিত করতে হবে এবং লিনিয়ার সিস্টেমটি এমনভাবে পরিবর্তন করতে হবে যে এর সমাধানটি সীমানা অবস্থাকে সম্মান করে। এটি ডেরিচলেট মানগুলির সাথে ম্যাট্রিক্সের সারিগুলির তির্যকটি 1 টি শূন্য করে এবং সন্নিবেশ করে এবং ডানদিকের ভেক্টরের অনুরূপ এন্ট্রিতে ডেরিচলেট মান সন্নিবেশিত করে [...]

vΓm

সংক্ষেপে, ডলফিনে ডিফল্ট রুটিন ব্যবহার করে আপনি একই সীমানায় ডিরিচলেট এবং অন্যান্য শর্ত উভয়ই প্রয়োগ করতে পারবেন না।

তবে, আপনার প্রয়োগে এটি ঠিক করার চেষ্টা করার আগে, আপনার গাণিতিক গঠনের জন্য সঠিক পরীক্ষার জায়গাগুলি সন্ধান করুন (যেমন জন ব্লেচটা সবেমাত্র উল্লেখ করেছেন।)


আমি আপনার বক্তব্যটি দেখছি - আমি মনে করি আমার সূত্রটি সম্ভবত আমি যা প্রয়োগ করেছি তা প্রতিফলিত হতে পারে না - আমার ক্ষমা চাই। পরিবর্তনের নীতিটি হ'ল আবছা স্মৃতি এবং আমি আবার মাথা ঘুরিয়ে নেওয়ার চেষ্টা করছি। আমি ল্যাঞ্জ্রেঞ্জ গুণকগুলি প্রয়োগকারী FEniCS কোডের কয়েকটি উদাহরণ সহ ম্যানুয়ালটি এগিয়ে এবং পিছনে এক সাথে পড়েছি। আমি ভেবেছিলাম আপনি উত্থাপিত বিষয়টি হ'ল কারণ আপনি দ্বিতীয় পরীক্ষা ফাংশন 'ডি' ব্যবহার করবেন।
মার্কাস

আমি @ জ্যানব্লেচটার সাথে একমত প্রথমে আপনাকে গুণকটির জন্য সঠিক স্থানটি সন্ধান করতে হবে, এটি অনাকাঙ্ক্ষিত। হতে পারে PDE সীমাবদ্ধতা অপ্টিমাইজেশনের পাঠ্যগুলি, যেখানে কেউ পাশের শর্তগুলি অন্তর্ভুক্ত করতে একাধিক সংখ্যক ব্যবহার করে, কিছু সহায়ক ধারণা দেয় ideas এই কাগজে , একটি গুণক সময় নির্ভর ডিরিচলেট অবস্থার জন্য অ্যাকাউন্টে ব্যবহৃত হয়।
জানুয়ারী
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.