Integral über den Rand

mit matplotlib, NumPy, pandas, SciPy, SymPy und weiteren mathematischen Programmbibliotheken.
MatheMagie
User
Beiträge: 6
Registriert: Montag 21. November 2016, 11:16

Integral über den Rand

Beitragvon MatheMagie » Donnerstag 22. Dezember 2016, 15:30

Hallo zusammen,

Zunächst weiß ich leider nicht, wie man im Forum mathematische Formeln erzeugt,
deswegen leider hier als Text.

Integral _ (Neumann-Rand) u^2 * ds

Also das Integral von u^2 auf dem Neumannrand ausgewertet.
Dies kann man als L2 Norm auffassen und somit

|| u^2 ||^2 _ Neumannrand

Ist es möglich dies in Python umzusetzen?
Wenn ja, wie ?

Ich habe bisher folgendes gefunden.
dolfin.fem.norms.norm(v, norm_type='L2', mesh=None)

Es ist also möglich beispielsweise norm(u, 'L2', mesh) zu schreiben.
Allerdings möchte ich die Norm ja nur auf dem Rand und nicht auf meinem gesamten mesh.

  1. n = 50
  2. mesh = UnitSquareMesh(n,n)
  3. V = FunctionSpace(mesh, "Lagrange, 1")
  4.  
  5. p = Expression('5.0')
  6. u = Function(V)
  7. u.interpolate(p)



Vielen Dank
MatheMagie
Zuletzt geändert von Anonymous am Donnerstag 22. Dezember 2016, 16:00, insgesamt 1-mal geändert.
Grund: Quelltext in Python-Codebox-Tags gesetzt.
Benutzeravatar
pyHoax
User
Beiträge: 84
Registriert: Donnerstag 15. Dezember 2016, 19:17

Re: Integral über den Rand

Beitragvon pyHoax » Sonntag 25. Dezember 2016, 22:54

MatheMagie hat geschrieben:|| u^2 ||^2 _ Neumannrand

Ist es möglich dies in Python umzusetzen?
Wenn ja, wie ?


Ich hab zwar keine Ahnung vom Neumannrand.... aber möglicherweise diese Webseite: http://www.scientificpython.net/pyblog/ ... erent-ways


Google-tip:
Erst Neumann-Rand im Wikipedia suchen, dann denn Begriff 'Neumann boundary condition' aus dem englischen wikipedia Artikel genommen und zusammen mit +python in Google eingegeben. (eventuell auch noch googles Spracheinstellung auf english umsetzen)
MatheMagie
User
Beiträge: 6
Registriert: Montag 21. November 2016, 11:16

Re: Integral über den Rand

Beitragvon MatheMagie » Mittwoch 4. Januar 2017, 23:05

Ich habe eine Lösung gefunden.

  1. class Right(SubDomain):
  2.     def inside(self, x, on_boundary):
  3.         return on_boundary and near(x[0], 1)
  4. rn  = Expression("0.", degree=1)
  5.  
  6. boundaries = FacetFunction("size_t", mesh)
  7. boundaries.set_all(0)
  8. rightbound = Right()
  9. rightbound.mark(boundaries, 1)
  10. ds = Measure('ds', domain=mesh, subdomain_data=boundaries)
Zuletzt geändert von Anonymous am Donnerstag 5. Januar 2017, 00:14, insgesamt 1-mal geändert.
Grund: Quelltext in Python-Codebox-Tags gesetzt.

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder