optimism.contact package

Subpackages

Submodules

optimism.contact.Contact module

optimism.contact.Contact.compute_closest_distance_to_each_side(mesh, disp, quadRule, interactionList, surfaceI, smoothingTol=None)[source]
optimism.contact.Contact.compute_closest_distance_to_each_side_smooth(mesh, disp, quadRule, interactionList, surfaceI, smoothingTol=1e-05)[source]
optimism.contact.Contact.compute_closest_edges_and_field_weights(mesh, disp, quadRule, interactionList, surfaceI)[source]
optimism.contact.Contact.compute_friction_potential(mesh, disp, lam, frictionParams, quadRule, surfI, closestSides, sideWeights)[source]
optimism.contact.Contact.compute_projection_dists(mesh, dispField, quadRule, edgesM, edgeI)[source]
optimism.contact.Contact.compute_projection_dists_smooth(mesh, dispField, quadRule, edgesM, edgeI, smoothingTol)[source]
optimism.contact.Contact.compute_q_coordinates(mesh, disp, quadRule, surfaceI)[source]
optimism.contact.Contact.compute_q_coordinates_from_field_weights(mesh, disp, closestEdges, edgeWeights)[source]
optimism.contact.Contact.get_closest_distance(coordsM, point)[source]
optimism.contact.Contact.get_closest_distance_smooth(coordsM, point, smoothingTol)[source]
optimism.contact.Contact.get_closest_two_edges(coordsM, point)[source]
optimism.contact.Contact.get_potential_interaction_list(surfaceM, surfaceI, mesh, disp, maxNeighbors)[source]
optimism.contact.Contact.get_side_coordinates(mesh, dispField, edge)[source]
optimism.contact.Contact.min_dist_squared(edge1, edge2, mesh, coords, disp)[source]

optimism.contact.EdgeCpp module

optimism.contact.EdgeCpp.area(p0, p1, p2)[source]
optimism.contact.EdgeCpp.cpp(edge, p)[source]
optimism.contact.EdgeCpp.cpp_distance(edge, p)[source]
optimism.contact.EdgeCpp.cpp_line(edge, p)[source]
optimism.contact.EdgeCpp.cross(vec1, vec2)[source]
optimism.contact.EdgeCpp.dot(vec1, vec2)[source]
optimism.contact.EdgeCpp.norm_squared(vec)[source]
optimism.contact.EdgeCpp.smooth_distance(twoEdges, p, smoothingTol)[source]
optimism.contact.EdgeCpp.smoothstep(x)[source]

optimism.contact.EdgeIntersection module

optimism.contact.EdgeIntersection.compute_ray_trace_distance_and_location(edge, ray)[source]
optimism.contact.EdgeIntersection.compute_smoothing_function(u, t, eps)[source]
optimism.contact.EdgeIntersection.compute_valid_ray_trace_distance(edge, ray)[source]
optimism.contact.EdgeIntersection.compute_valid_ray_trace_distance_smoothed(edge, ray, eps)[source]
optimism.contact.EdgeIntersection.cross2(vec1, vec2)[source]
optimism.contact.EdgeIntersection.dot2(vec1, vec2)[source]

optimism.contact.Friction module

optimism.contact.Friction.Params

alias of FrictionParams

optimism.contact.Friction.compute_friction_energy_from_perp_slip(sPerp, frictionParams)[source]

optimism.contact.Levelset module

optimism.contact.Levelset.combined(x, ls1, ls2)[source]
optimism.contact.Levelset.corner(x, xLoc, yLoc)[source]
optimism.contact.Levelset.plane(x, yLoc)[source]
optimism.contact.Levelset.sphere(x, xLoc, yLoc, R)[source]

optimism.contact.LevelsetConstraint module

optimism.contact.LevelsetConstraint.compute_contact_point_coordinates(disp, mesh, quadRule, edges)[source]
optimism.contact.LevelsetConstraint.compute_contact_point_coords_on_edge(mesh, dispField, quadRule, edge)[source]
optimism.contact.LevelsetConstraint.compute_edge_levelset_constraints(levelset, mesh, dispField, quadRule, edge)[source]
optimism.contact.LevelsetConstraint.compute_friction_potential(disp, contactCoordsOld, levelsetMotion, lam, mesh, quadRule, edges, frictionParams)[source]
optimism.contact.LevelsetConstraint.compute_friction_potential_on_edge(mesh, dispField, relativeMotionOld, lams, quadRule, edge, frictionParams)[source]
optimism.contact.LevelsetConstraint.compute_levelset_constraints(levelset, disp, mesh, quadRule, edges)[source]

optimism.contact.MortarContact module

optimism.contact.MortarContact.assemble_area_weighted_gaps(coords, disp, segmentConnsA, segmentConnsB, neighborList, f_average_normal: Callable)[source]
optimism.contact.MortarContact.assemble_nodal_areas(coords, disp, segmentConnsA, segmentConnsB, neighborList, f_average_normal: Callable)[source]
optimism.contact.MortarContact.assembly_mortar_integral(coords, disp, segmentConnsA, segmentConnsB, neighborList, f_average_normal: Callable, f_integrand: Callable)[source]
optimism.contact.MortarContact.compute_average_normal(edgeA: array, edgeB: array) array[source]
optimism.contact.MortarContact.compute_intersection(edgeA, edgeB, f_common_normal)[source]
optimism.contact.MortarContact.compute_normal(edgeCoords)[source]
optimism.contact.MortarContact.compute_normal_from_a(edgeA: array, edgeB: array) array[source]
optimism.contact.MortarContact.eval_linear_field_on_edge(field, xi)[source]
optimism.contact.MortarContact.get_closest_neighbors(edgeSetA: array, edgeSetB: array, mesh: Mesh, disp: array, maxNeighbors: int)[source]
optimism.contact.MortarContact.get_facet_connectivities(mesh: Mesh, sideset)[source]
optimism.contact.MortarContact.integrate_with_active_mortar(xiA, xiB, g, lengthA, lengthB, func_of_xiA_xiB_g, relativeSmoothingSize)[source]
optimism.contact.MortarContact.integrate_with_mortar(edgeA: array, edgeB: array, f_common_normal: Callable[[array, array], array], func_of_xiA_xiB_g: Callable[[float, float, float], float], relativeSmoothingSize: float = 1e-07)[source]
optimism.contact.MortarContact.smooth_linear(xi, l)[source]

optimism.contact.PenaltyContact module

optimism.contact.PenaltyContact.compute_edge_penalty_contact_energy(levelset, mesh, dispField, quadRule, edge, stiffness)[source]
optimism.contact.PenaltyContact.compute_fisher_burmeister_linearization(levelset, dispField, mesh, quadRule, edges, lmbda)[source]
optimism.contact.PenaltyContact.compute_total_penalty_contact_energy(levelset, dispField, mesh, quadRule, edges, stiffness)[source]
optimism.contact.PenaltyContact.evaluate_contact_constraints(levelset, dispField, mesh, quadRule, edges)[source]
optimism.contact.PenaltyContact.evaluate_levelset_on_edge(levelset, mesh, dispField, quadRule, edge)[source]
optimism.contact.PenaltyContact.get_current_coordinates_at_quadrature_points(mesh, dispField, quadRule, edge)[source]

optimism.contact.Search module

optimism.contact.Search.construct_edge_neighbor_map(mesh, quadRule, edges)[source]
optimism.contact.Search.get_best_neighbor(mesh, edge, listOfEdges, normal, x)[source]
optimism.contact.Search.get_best_neighbors(mesh, quadRule, listOfEdges, edge)[source]
optimism.contact.Search.get_coords_and_distances(mesh, ray, edge, neighbor)[source]

Module contents