Skip to content
Snippets Groups Projects
Commit d83d84c5 authored by Martin Bauer's avatar Martin Bauer
Browse files

Simpler pressure tensor computation

- simplified pressure tensor formulas
- added test that checks if force is mathematically equal if computed from pressure tensor or directly
parent 7fd2dca7
No related branches found
No related tags found
No related merge requests found
......@@ -301,6 +301,21 @@ def pressure_tensor_interface_component(free_energy, order_parameters, dim, a, b
return result
def pressure_tensor_interface_component_new(free_energy, order_parameters, dim, a, b):
gamma = extract_gamma(free_energy, order_parameters)
d = Diff
result = 0
for i, c_i in enumerate(order_parameters):
for j, c_j in enumerate(order_parameters):
t = 2 * d(c_i, a) * d(c_j, b)
if a == b:
t -= sum(d(c_i, g) * d(c_j, g) for g in range(dim))
t -= 2 * sum(c_i * d(d(c_j, g), g) for g in range(dim))
gamma_ij = gamma[(i, j)] if i < j else gamma[(j, i)]
result += t * gamma_ij / 2
return result
def pressure_tensor_from_free_energy(free_energy, order_parameters, dim, transformation_matrix=None,
include_bulk=True, include_interface=True):
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please to comment