Skip to main content

Calculation of the phase velocity of Lamb waves in plate composite structures

Project description

PyPi doi pipeline status

Displam

Displam is a legacy Fortran-based program for the calculation of the phase velocity of Lamb waves of plate composite structures.

Installation from source requires an active open source fortran compiler (gfortran). Intel Fortran is not yet supported.

Downloading

Use GIT to get the latest code base. From the command line, use

git clone https://gitlab.dlr.de/fa_sw/displam displam

If you check out the repository for the first time, you have to initialize all submodule dependencies first. Execute the following from within the repository.

git submodule update --init --recursive

To update all refererenced submodules to the latest production level, use

git submodule foreach --recursive 'git pull origin $(git config -f $toplevel/.gitmodules submodule.$name.branch || echo master)'

Installation

Displam can be installed directly using pip

pip install displam

or from source using poetry. If you don't have poetry installed, run

pip install poetry --pre --upgrade

to install the latest version of poetry within your python environment. Use

poetry update

to update all dependencies in the lock file or directly execute

poetry install

to install all dependencies from the lock file. Last, you should be able to use Displam as a CLI tool:

displam <Input file>

If you omit the input file name displam will try to read the input data from a file named sample.inp. An output file disp.txt and a log file log.txt will be created.

Output

The output file contains the dispersion data for the problem defined in the input file. A header line is followed by one record per line. Each record consists of the following data:

  1. fd/(MHz*mm)  - frequency * plate thickness
  2. cp/(km/sec)  - phase velocity
  3. w/(1/�sec)   - circular frequency
  4. k/(1/m)      - wave number
  5. mode         - wave mode ('S' for symmetric, 'A' for antisymmetric
                    and 'H' for quasi-horizontal shear mode)
  6. uu0 - uu2    - complex displacement vector at the upper surface of
                    the laminate
  7. ul0 - ul2    - complex displacement vector at the lower surface of
                    the laminate

The columns are seperated by tab-characters. You can open the output file with Excel or any text editor.

Example

Copy and paste the following text up to the end of this file to a new text file to use it as a sample input file as explained under Installation

#
# Input file for displam
#
############################################################### File format ###
#
#   Input is parsed line by line. Everything after a '#' character is ignored,
#   so it's possible to append comments to input lines. Empty lines are 
#   ignored. White space separates keywords and input parameters and may be
#   entered as spaces or tabs. Lines may not be longer than 1000 characters
#   (excluding comments).
#
#   The following four sections must be present in this file. Each section is
#   initiated with its keyword in capital letters in an otherwise empty line.
#
#     LAYUP    - stacking sequence of the plate
#     WAVE     - wave propagation parameters
#     RANGE    - parameter ranges for circular frequency and phase velocity
#     MATERIAL - material database
#
#   The format of the input lines in each section is explained in the comments
#   above each section.

############################################################# LAYUP section ###
#
#   The layers of the stacking sequence are specified from top to bottom
#   of the laminate. Three parameters must be specified per line:
#
#     1. material id string as specified in the MATERIAL section
#     2. layer thickness in mm
#     3. layer orientation in degrees
#
#   A layer orientation of 0 degree means that the 1-direction of local (layer
#   material) and global (laminate) direction coincide.
#
LAYUP
	cfrp_generic   		0.250	 0.
	titanium    		0.500	90.
	cfrp_generic		0.250	 0.

############################################################## WAVE section ###
#
#   pa - angle of wave propagation w.r.t. global coordinates in degrees.
#   ia - angle of incident wave w.r.t. transverse axis in degrees.
#        90.0 is horizontal (in-plane) incident wave.
WAVE
	pa		 0.01
	ia		90.00		# values other than 90� are not validated yet

############################################################# RANGE section ###
#
#   cp - 3 values for start, end, and number of increments for phase velocity.
#        Unit of phase velocity is in km / s.
#   fq - 3 values for start, end, and number of increments for frequency.
#        Unit of frequencies must be MHz.
RANGE
	cp		0.1		14.0	 200	# unit is km/s
	fq		0.1		 3.0	 200	# unit is MHz

########################################################## MATERIAL section ###
#
#   Each line starts with an identification string of up to 12 alphanumeric
#   characters and '_'. It is followed by the number of independent stiffness
#   constants (nsc) and the density in g / cm^3.
#
#   Transversely isotropic (nsc = 5) and orthotropic (nsc = 9) materials are
#   supported. After the density the stiffness parameters must be specified
#   in GPa for Young's and shear moduli in the following order
#
#     transversely isotropic  E1, E2, G12, G23, nu12
#     orthotropic             E1, E2, E3, G12, G23, G31, nu12, nu23, nu31
#
#   The 3-direction is the out-of-plane direction.
#
MATERIAL
#	123456789012  nsc		 rho		stiffness coefficients
	alu             5		2.70		 69.9	 70.1	26.30	26.20	0.33
	titanium        5		4.50		115.9	116.1	43.95	43.85	0.32
	cfrp_generic    5		1.55		150.0	  9.00	 5.00	 4.00	0.30
	cfrp_rose       5		1.58		123.9	 11.256	 6.73	 3.81	0.31

Contact

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

displam-1.5.0-cp311-cp311-win_amd64.whl (501.1 kB view hashes)

Uploaded CPython 3.11 Windows x86-64

displam-1.5.0-cp311-cp311-musllinux_1_2_x86_64.whl (3.6 MB view hashes)

Uploaded CPython 3.11 musllinux: musl 1.2+ x86-64

displam-1.5.0-cp311-cp311-manylinux_2_28_x86_64.whl (4.5 MB view hashes)

Uploaded CPython 3.11 manylinux: glibc 2.28+ x86-64

displam-1.5.0-cp311-cp311-manylinux_2_24_x86_64.whl (4.0 MB view hashes)

Uploaded CPython 3.11 manylinux: glibc 2.24+ x86-64

displam-1.5.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.2 MB view hashes)

Uploaded CPython 3.11 manylinux: glibc 2.17+ x86-64

displam-1.5.0-cp310-cp310-win_amd64.whl (501.1 kB view hashes)

Uploaded CPython 3.10 Windows x86-64

displam-1.5.0-cp310-cp310-musllinux_1_2_x86_64.whl (3.6 MB view hashes)

Uploaded CPython 3.10 musllinux: musl 1.2+ x86-64

displam-1.5.0-cp310-cp310-manylinux_2_28_x86_64.whl (4.5 MB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.28+ x86-64

displam-1.5.0-cp310-cp310-manylinux_2_24_x86_64.whl (4.0 MB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.24+ x86-64

displam-1.5.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.2 MB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

displam-1.5.0-cp39-cp39-win_amd64.whl (501.1 kB view hashes)

Uploaded CPython 3.9 Windows x86-64

displam-1.5.0-cp39-cp39-musllinux_1_2_x86_64.whl (3.6 MB view hashes)

Uploaded CPython 3.9 musllinux: musl 1.2+ x86-64

displam-1.5.0-cp39-cp39-manylinux_2_28_x86_64.whl (4.5 MB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.28+ x86-64

displam-1.5.0-cp39-cp39-manylinux_2_24_x86_64.whl (4.0 MB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.24+ x86-64

displam-1.5.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.2 MB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

displam-1.5.0-cp38-cp38-win_amd64.whl (501.1 kB view hashes)

Uploaded CPython 3.8 Windows x86-64

displam-1.5.0-cp38-cp38-musllinux_1_2_x86_64.whl (3.6 MB view hashes)

Uploaded CPython 3.8 musllinux: musl 1.2+ x86-64

displam-1.5.0-cp38-cp38-manylinux_2_28_x86_64.whl (4.5 MB view hashes)

Uploaded CPython 3.8 manylinux: glibc 2.28+ x86-64

displam-1.5.0-cp38-cp38-manylinux_2_24_x86_64.whl (4.0 MB view hashes)

Uploaded CPython 3.8 manylinux: glibc 2.24+ x86-64

displam-1.5.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.2 MB view hashes)

Uploaded CPython 3.8 manylinux: glibc 2.17+ x86-64

displam-1.5.0-cp37-cp37m-win_amd64.whl (501.0 kB view hashes)

Uploaded CPython 3.7m Windows x86-64

displam-1.5.0-cp37-cp37m-musllinux_1_2_x86_64.whl (3.6 MB view hashes)

Uploaded CPython 3.7m musllinux: musl 1.2+ x86-64

displam-1.5.0-cp37-cp37m-manylinux_2_28_x86_64.whl (4.5 MB view hashes)

Uploaded CPython 3.7m manylinux: glibc 2.28+ x86-64

displam-1.5.0-cp37-cp37m-manylinux_2_24_x86_64.whl (4.0 MB view hashes)

Uploaded CPython 3.7m manylinux: glibc 2.24+ x86-64

displam-1.5.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.2 MB view hashes)

Uploaded CPython 3.7m manylinux: glibc 2.17+ x86-64

displam-1.5.0-cp36-cp36m-win_amd64.whl (501.1 kB view hashes)

Uploaded CPython 3.6m Windows x86-64

displam-1.5.0-cp36-cp36m-musllinux_1_2_x86_64.whl (3.6 MB view hashes)

Uploaded CPython 3.6m musllinux: musl 1.2+ x86-64

displam-1.5.0-cp36-cp36m-manylinux_2_28_x86_64.whl (4.5 MB view hashes)

Uploaded CPython 3.6m manylinux: glibc 2.28+ x86-64

displam-1.5.0-cp36-cp36m-manylinux_2_24_x86_64.whl (4.0 MB view hashes)

Uploaded CPython 3.6m manylinux: glibc 2.24+ x86-64

displam-1.5.0-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.2 MB view hashes)

Uploaded CPython 3.6m manylinux: glibc 2.17+ x86-64

displam-1.5.0-cp35-cp35m-win_amd64.whl (501.1 kB view hashes)

Uploaded CPython 3.5m Windows x86-64

displam-1.5.0-cp35-cp35m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.2 MB view hashes)

Uploaded CPython 3.5m manylinux: glibc 2.17+ x86-64

displam-1.5.0-cp35-cp35m-manylinux_2_12_x86_64.manylinux2010_x86_64.whl (3.7 MB view hashes)

Uploaded CPython 3.5m manylinux: glibc 2.12+ x86-64

displam-1.5.0-cp27-cp27m-win_amd64.whl (501.0 kB view hashes)

Uploaded CPython 2.7m Windows x86-64

displam-1.5.0-cp27-cp27m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.2 MB view hashes)

Uploaded CPython 2.7m manylinux: glibc 2.17+ x86-64

displam-1.5.0-cp27-cp27m-manylinux_2_12_x86_64.manylinux2010_x86_64.whl (3.7 MB view hashes)

Uploaded CPython 2.7m manylinux: glibc 2.12+ x86-64

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page