Skip to content
Snippets Groups Projects
Commit 4180a34f authored by Boman Romain's avatar Boman Romain
Browse files

add tangential projection

parent c4ba6d2c
No related branches found
No related tags found
No related merge requests found
......@@ -188,8 +188,19 @@ def scale_loads(loads, total_force):
def create_uniform_loads(nodes, tris, total_force, target=None):
"""create uniform tensile loads, normal to the facets
""" Ad Hoc Uniform Traction Model (Grosse et al. 2007)
"In this model, we applied uniform traction to the surfaces
of finite elements that represent the muscle attachment
areas. The direction of the traction load is not normal
to the surface of the element. Rather, the direction
of traction varied from element to element such that the
traction load is always directed toward the force focal
node of each muscle attachment group."
note: if target==None: the traction is normal to the facet
"""
project=True
loads = [Pt([0,0,0]) for n in nodes ]
if target:
......@@ -215,6 +226,12 @@ def create_uniform_loads(nodes, tris, total_force, target=None):
force = (area/3)*direct # compute nodal force
if project:
ps = force*nunit
print(f'ps={ps}')
if ps<0.0: # no line of sight => projection onto the element plane
force = force - ps*nunit
for i in range(3): # 3 nodes per triangle
loads[tri[i]]+=force # assembly
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment