Page Menu
Home
c4science
Search
Configure Global Search
Log In
Files
F96634404
contact
No One
Temporary
Actions
Download File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Subscribers
None
File Metadata
Details
File Info
Storage
Attached
Created
Sun, Dec 29, 07:25
Size
1 KB
Mime Type
text/x-python
Expires
Tue, Dec 31, 07:25 (2 d)
Engine
blob
Format
Raw Data
Handle
23220348
Attached To
rTAMAAS tamaas
contact
View Options
#!/usr/bin/env python3
# -*- mode: python; coding: utf-8 -*-
# vim: set ft=python:
"""
Read from stdin a surface profile and solve an elastic contact problem with
load given as an argument.
"""
import argparse
import sys
import tamaas as tm
import numpy as np
from tamaas.dumpers import NumpyDumper
__author__ = "Lucas Frérot"
__copyright__ = (
"Copyright (©) 2019-2023, EPFL (École Polytechnique Fédérale de Lausanne),"
"\nLaboratory (LSMS - Laboratoire de Simulation en Mécanique des Solides)"
)
__license__ = "SPDX-License-Identifier: AGPL-3.0-or-later"
tm.set_log_level(tm.LogLevel.error)
parser = argparse.ArgumentParser(
description="Compute the elastic contact solution with a given surface")
parser.add_argument("--input", "-i",
help="Rough surface file (default read from stdin)")
parser.add_argument("--tol",
type=float,
default=1e-12,
help="Solver tolerance")
parser.add_argument("load",
type=float,
help="Applied average pressure")
args = parser.parse_args()
if not args.input:
input = sys.stdin
else:
input = args.input
surface = np.loadtxt(input)
discretization = surface.shape
system_size = [1., 1.]
model = tm.ModelFactory.createModel(tm.model_type.basic_2d,
system_size, discretization)
solver = tm.PolonskyKeerRey(model, surface, args.tol)
solver.solve(args.load)
dumper = NumpyDumper('numpy', 'traction', 'displacement')
dumper.dump_to_file(sys.stdout.buffer, model)
Event Timeline
Log In to Comment