Total Derivatives
| Dt[f] | total differential  |
| Dt[f,x] | total derivative  |
| Dt[f,x,y,...] | multiple total derivative  |
| Dt[f,x,Constants->{c1,c2,...}] | total derivative with constant (i.e., ) |
| y/:Dt[y,x]=0 | set  |
| SetAttributes[c,Constant] | define c to be a constant in all cases |
Total differentiation operations.
When you find the derivative of some expression

with respect to

, you are effectively finding out how fast

changes as you vary

. Often

will depend not only on

, but also on other variables, say

and

. The results that you get then depend on how you assume that

and

vary as you change

.
There are two common cases. Either

and

are assumed to stay fixed when

changes, or they are allowed to vary with

. In a standard
partial derivative 
, all variables other than

are assumed fixed. On the other hand, in the
total derivative 
, all variables are allowed to change with

.
In
Mathematica,
D
gives a partial derivative, with all other variables assumed independent of
x.
Dt
gives a total derivative, in which all variables are assumed to depend on
x. In both cases, you can add an argument to give more information on dependencies.
This gives the
partial derivative 
.

is assumed to be independent of

.
| Out[1]= |  |
This gives the
total derivative 
. Now

is assumed to depend on

.
| Out[2]= |  |
You can make a replacement for

.
| Out[3]= |  |
You can also make an explicit definition for

. You need to use

to make sure that the definition is associated with

.
| Out[4]= |  |
With this definition made,
Dt treats

as independent of

.
| Out[5]= |  |
This removes your definition for the derivative of

.
This takes the total derivative, with

held fixed.
| Out[7]= |  |
This specifies that

is a constant under differentiation.
The variable

is taken as a constant.
| Out[9]= |  |
The
function 
is also assumed to be a constant.
| Out[10]= |  |
This gives the total differential

.
| Out[11]= |  |
You can make replacements and assignments for total differentials.
| Out[12]= |  |