Page Menu
Home
c4science
Search
Configure Global Search
Log In
Files
F96078727
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 22, 09:49
Size
1 KB
Mime Type
text/x-python
Expires
Tue, Dec 24, 09:49 (2 d)
Engine
blob
Format
Raw Data
Handle
23029734
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-2021, EPFL (École Polytechnique Fédérale de Lausanne),"
"
\n
Laboratory (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
=
1
e
-
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