Dear Firedrakers,
When taking a Firedrake (functional/form) derivative, say the derivative of the functional int (du/dx)^2 dx (plus some bc's) is the outcome the functional derivative (i) with or (ii) without integration by parts? I.e. is it:
(ii) 2 int du/dx dv/dx dx
or
(i) -2 int d^2u/d x^2 v dx, modulo bc's, and with v = delta u?
https://www.firedrakeproject.org/firedrake.html#firedrake.ufl_expr.derivati…
(I am trying to understand why the below would work, and it does, with CG1 for X, or in the above with CG1 for v and u, which only can work when no ibp is done. )
Kind regards,
Onno
PS:
# Kinematics # Right Cauchy-Green tensor
if self.nonlin:
d = self.X.geometric_dimension()
I = fd.Identity(d) # Identity tensor
F = I + fd.grad(self.X) # Deformation gradient
C = F.T*F
E = (C-I)/2. # Green-Lagrangian strain
# E = 1./2.*( fd.grad(self.X).T + fd.grad(self.X) + fd.grad(self.X).T * fd.grad(self.X) ) # alternative equivalent definition
else:
E = 1./2.*( fd.grad(self.X).T + fd.grad(self.X) ) # linear strain
self.W = (self.lam/2.)*(fd.tr(E))**2 + self.mu*fd.tr( E*E )
# f = fd.Constant((0, 0, -self.g)) # body force / rho
# T = self.surface_force()
# Total potential energy
Pi = self.W * fd.dx
# Compute first variation of Pi (directional derivative about X in the direction of v)
F_expr = fd.derivative(Pi, self.X, self.v)
Dear Colleagues,
I'm trying to run the example from
http://www.dolfin-adjoint.org/en/latest/documentation/mpec/mpec.html using
firedrake_adjoint (see the attached code) but I get the below error message.
I appreciate your help. Thank you.
Regards
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-8-1a7944c0c864> in <module>
40 ic.update(y_opt)
41
---> 42 alpha.assign(float(alpha) / 2)
43 print("Set alpha to %f." % float(alpha))
~/opt/Computational_venv/src/firedrake/firedrake/adjoint/constant.py in
wrapper(self, *args, **kwargs)
34 other = args[0]
35 if not isinstance(other, OverloadedType):
---> 36 other = create_overloaded_object(ndarray(other))
37
38 block = ConstantAssignBlock(self, other)
TypeError: 'float' object cannot be interpreted as an integer
We’re improving our Terms of Service and making them easier for you to
understand. The changes will take effect on 31 March 2020, and they won’t
impact the way that you use Google services. And, because the United
Kingdom (UK) is leaving the European Union (EU), Google LLC will now be the
service provider and the data controller responsible for your information
and for complying with applicable privacy laws for UK consumer users.
For more details, we’ve provided a summary of the key changes
<https://accounts.google.com/AccountChooser?Email=firedrake@imperial.ac.uk&c…>
and Frequently asked questions
<https://accounts.google.com/AccountChooser?Email=firedrake@imperial.ac.uk&c…>.
And the next time that you visit Google, you’ll have the chance to review
and accept the new Terms. At a glance, here’s what this update means for
you:
- Improved readability: While our Terms remain a legal document, we’ve done
our best to make them easier to understand, including by adding links to
useful information and providing definitions.
- Better communication: We’ve clearly explained when we’ll make changes to
our services (like adding or removing a feature) and when we’ll restrict or
end a user’s access. And we’ll do more to notify you when a change
negatively impacts your experience on our services.
- Adding Google Chrome, Google Chrome OS and Google Drive to the Terms: Our
improved Terms now cover Google Chrome, Google Chrome OS and Google Drive,
which also have service-specific terms and policies to help you understand
what’s unique to those services.
- Your service provider and data controller is now Google LLC: Because the
UK is leaving the EU, we’ve updated our Terms so that a United States-based
company, Google LLC, is now your service provider instead of Google Ireland
Limited. Google LLC will also become the data controller responsible for
your information and complying with applicable privacy laws. We’re making
similar changes to the Terms of Service for YouTube, YouTube Paid Services
and Google Play. These changes to our Terms and privacy policy don’t affect
your privacy settings or the way that we treat your information (see the
privacy policy
<https://accounts.google.com/AccountChooser?Email=firedrake@imperial.ac.uk&c…>
for details). As a reminder, you can always visit your Google Account
<https://myaccount.google.com> to review your privacy settings and manage
how your data is used.
If you’re the guardian of a child under the age required to manage their
own Google Account <https://support.google.com/accounts/answer/1350409> and
you use Family Link <https://families.google.com/familylink/> to manage
their use of Google services, please note that when you accept our new
Terms, you do so on their behalf as well, and you may want to discuss these
changes with them.
And of course, if you don’t agree to our new Terms and what we can expect
from each other as you use our services, you can find more information
about your options in our Frequently asked questions
<https://accounts.google.com/AccountChooser?Email=firedrake@imperial.ac.uk&c…>.
Thank you for using Google’s services.
Your Google team
(c) 2020 Google LLC, 1600 Amphitheatre Parkway, Mountain View, CA, 94043
You have received this email to update you about important changes to
Google’s Terms of Service.
To whom it may concern,
I am writing with regard to the fact that the domainname vectors.eu is going to be sold.
Let me know your thoughts.
If you require any further information, feel free to contact me.
Luke Wright