xcfem / xc Goto Github PK
View Code? Open in Web Editor NEWfinite element analysis package for civil engineering structures.
Home Page: http://www.xcengineering.xyz/html_files/software.html
License: GNU General Public License v3.0
finite element analysis package for civil engineering structures.
Home Page: http://www.xcengineering.xyz/html_files/software.html
License: GNU General Public License v3.0
Results in the computation of neutral axis depth (see test_fiber_section_prop.py) are different in different machines (difference about 10%). This is an error that we must catch but it will be necessary to have some way to transfer partial results between machines quickly and accurately. This way we can
compare results step by step to find the problem. A possible solution is to use 'pickle' with XC classes: https://www.boost.org/doc/libs/1_46_1/libs/python/doc/v2/pickle.html
Hi Luis, Hi Ana,
ist there some documentation to get started? I found https://github.com/anaiortega where are a lot of models. I'm looking for some simple example to get started.
cheers bernd
That will be much more easier to understand if local axis of the section are coincident with those of the elements by default.
See verif/test/elements/zero_length/test_signo_deformaciones*
and verif/test/elements/beam_column/test_signo_deformaciones01
Migrate this new element from OpenSees 2.4.6
See header definition and population in this file:
Write utilities that make easier (not automatic) to generate wind ans snow loads.
To make easier to obtain positions of loads on bridge decks ….
The goal is to calculate, for a defined path, the positions of concentrated, linear and surface loads.
Hi, I would be thankful if you answer my question. It may be a little bit novice but anyway I ask it.
Does this software depend on metis (free software) or parmetis (non-free software)?
Because in the CMake directory, this file tries to find metis while this file says that metis and parmetis both are the dependencies.
I asked this question because I couldn't find a file where parmetis.h is included.
Just some minor thing which confuses new user and it is cumbersome for us to maintain two files.
Do we need a readme.txt and readme.md ? The readme.md could be read with an editor or formated on github. This is a main advantage of markup languarge.
How about checking if everything from readme.txt is in readme.md and just delete the readme.txt .
If you are ok with this I would do that.
cheers bernd
Ĥi Luis
Hi Ana,
just some basic question. Is XC a fork of opensees or is it based on opensees and the opensees code in XC will be updated from time to time when opensees will be released in a new version?
cheers bernd
Hello. Very thanks to your very usefull software. I try to install xc on manjaro linux with .sh installation file, but for xc_basic it gives me this boos error:
-- Could NOT find Boost
Unable to find the Boost header files. Please set BOOST_ROOT to the root directory containing Boost or BOOST_INCLUDEDIR to the directory containing Boost's headers.
I work with python and i don't underestand what this mean? thanks
The IfcStructuralAnalysisModel is used to assemble all information needed to represent a structural analysis model. It encompasses certain general properties (such as analysis type), references to all contained structural members, structural supports or connecting members, the connection properties, as well as loads and the respective load results.
For a general description of BIM implications in structural analysis see: http://projekter.aau.dk/projekter/files/32688467/structural-modelling-and-analysis-using-bim-tools.pdf
Form a description of the IFC structural analysis model see: http://www.buildingsmart-tech.org/ifc/IFC2x3/TC1/html/ifcstructuralanalysisdomain/lexical/ifcstructuralanalysismodel.htm
It can be done in a similar way to the representation of loads, relating the scale of the vector field with the size of the diagonal of the boundary volume.
Hi,
I'm trying to make a test on long-term prestress losses over a single section (see test_long_term_restress_loss.py in work-in-progress repository), but in the first stage (prestress transfer) it returns already a 2% error. It seems that the problem is ill-conditioned (the displacement in the element axis and rotation in its strong axis are free in one of its nodes). The message that pops up is:
XC::Node::checkReactionForce; the node: 2 has not constraints on DOF: 0 and, however, it has a reaction with value: 4385.68 on this degree of freedom, it seems that the solution method and/or tolerances are not well suited to the problem. (tol= 19.2473
XC::Node::checkReactionForce; the node: 2 has not constraints on DOF: 4 and, however, it has a reaction with value: 114.361 on this degree of freedom, it seems that the solution method and/or tolerances are not well suited to the problem. (tol= 19.2473
Does it ring any bells?
If you consider moving to Python 3 before Python 2's End-of-Life which is January 1, 2020. I would be more than happy to give a hand and help about it.
To solve problem with used tags: Fastest container or algorithm for unique reusable ids in C++ - Stack Overflow
Write Python routines to exporte:
Example files in:
materialData.xml.zip
xcdevelopmentmaterialsinsciaxml_.zip
See fagus manual for inspiration.
Integrate the verification routines that are at:
add some verification tests:
Ancoplus.pdf
dimensionnement ancoplus.pdf
Hi,
I have a problem with a steel bar defined by two lines. when using the points for line generation at coordinates [0, 2.5, 5] the calculation of internal forces works fine, but if you move slightly the middle point and use coordinates [0, 2.5006250000000003, 5], an error is displayed:
XC::BandSPDLinLapackSolver::solve; WARNING - the LAPACK routines returned 161
XC::Linear::resuelve; WARNING the XC::BandSPDLinSOE failed in solve()
XC::StaticAnalysis::solve_current_step; the Algorithm failed at step: 0 with domain at load factor 1
Any idea of what is happening?
Sometimes is not trivial to detect where is the problem that causes the solver to crash or, for example, when performing geometrically non linear analysis with loose cables we can find nodes that are almost free.
That will be useful to write the routines to detect this problem based on something like this: http://eprints.ma.man.ac.uk/1997/1/covered/MIMS_ep2013_35.pdf
(Detecting the Causes of Ill-Conditioning in Structural Finite Element Models) by Kannan, Ramaseshan and Hendry, Stephen and Higham, Nicholas J. and Tisseur, Francoise
See code in the file
test_vector_field02.py.zip
From one load state to the following, uniform load pressures are not initialized
See https://gist.github.com/berndhahnebach/7d39889916cb36ea7e6ed6c0d758f9f6
Originally posted by @berndhahnebach in #30 (comment)
ry to combine the arrow and the cone using
vtkAppendPolyData See: this
There is an error when using predefined views (YPos, YNeg...) to display models that are far enough from origin. It's pretty sure that it's a problem with the position of the camera.
set distro name changes source code even if we gone make an out of source build. This is cumbersome if someone works with git and a distro diffrent than ubuntu. In orginal source the name is set to ubuntu and for every cmake run it is changed to debian for me. I need to git checkout the old file with ubuntu than to not change the code for a PR. But than on my machine there is a ubuntu but I'm on debian.
Do we really write the distro name in a file inside the sources? See https://github.com/lcpt/xc/blob/master/CMake/distro_name.txt and https://github.com/lcpt/xc/blob/master/CMake/get_distro_name.sh Is this used somewhere?
cheers bernd
Hi ana, hi luis,
I quit often have a look at the issues and other stuff even when I'm on the way and it is quit cumbersome to keep the names of ana and your github. Furthermore for new user it is cumbersome to have different github to get xc repos. Furthermore on your github are repos not related to xc.
How about making an github organization xcfem and move all xc repos there. This will be the base and all other are forks including your own ones. Furthermore your own delopment or test or play branches will be in your github and not in the main repos. It is eay
Is one of the following possible and if yes how? workingModel of ana is agreat example to play with ...
Cheers bernd
Document beam integration types used this document:
and seeing BeamIntegrationLoader mechanism to setup integration scheme.
Migrate from OpenSees the SurfaceLoad element and other like this to make easier to introduce linear and surface loads in 2D and 3D elements.
Script for plotting the concrete stress-strain diagram:
xc/python_modules/materials/plotParabDiagram.py
Incorporate the script into the routines that write the section reports in latex.
gave it a try on debian stretch on comit 0597827
Here is what I did: https://gist.github.com/berndhahnebach/7d39889916cb36ea7e6ed6c0d758f9f6
On cmake I run into some trouble ...
$ cd /home/vagrant/Documents/build_xc/build && sudo rm -rf * && sudo cmake ../xc/src
CMake Warning (dev) at CMakeLists.txt:76:
Syntax Warning in cmake code at column 35
Argument not separated from preceding token by whitespace.
This warning is for project developers. Use -Wno-dev to suppress it.
CMake version is greater than 2.8.4
-- The C compiler identification is GNU 6.3.0
-- The CXX compiler identification is GNU 6.3.0
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
CMake Error at CMakeLists.txt:19 (INCLUDE):
include could not find load file:
/root/.xc_build/basica_dirs.cmake
-- basica project dir: /..
-- basica include dir:
-- basica lib dir:
CMake Error at CMakeLists.txt:31 (INCLUDE):
include could not find load file:
/root/.xc_build/lcmd_dirs.cmake
-- lcmd project dir: /..
-- lcmd include dir:
-- lcmd lib dir:
-- xc project dir: /home/vagrant/Documents/build_xc/xc/
-- xc include dir: /home/vagrant/Documents/build_xc/xc/src/
-- xc lib dir: /home/vagrant/Documents/build_xc/xc/lib
-- The Fortran compiler identification is GNU 6.3.0
-- Check for working Fortran compiler: /usr/bin/gfortran
-- Check for working Fortran compiler: /usr/bin/gfortran -- works
-- Detecting Fortran compiler ABI info
-- Detecting Fortran compiler ABI info - done
-- Checking whether /usr/bin/gfortran supports Fortran 90
-- Checking whether /usr/bin/gfortran supports Fortran 90 -- yes
-- Looking for XOpenDisplay in /usr/lib/x86_64-linux-gnu/libX11.so;/usr/lib/x86_64-linux-gnu/libXext.so
-- Looking for XOpenDisplay in /usr/lib/x86_64-linux-gnu/libX11.so;/usr/lib/x86_64-linux-gnu/libXext.so - found
-- Looking for gethostbyname
-- Looking for gethostbyname - found
-- Looking for connect
-- Looking for connect - found
-- Looking for remove
-- Looking for remove - found
-- Looking for shmat
-- Looking for shmat - found
-- Looking for IceConnectionNumber in ICE
-- Looking for IceConnectionNumber in ICE - found
-- Found X11: /usr/lib/x86_64-linux-gnu/libX11.so
-- Found OpenGL: /usr/lib/x86_64-linux-gnu/libGL.so
-- The imported target "vtkRenderingPythonTkWidgets" references the file
"/usr/lib/x86_64-linux-gnu/libvtkRenderingPythonTkWidgets.so"
but this file does not exist. Possible reasons include:
* The file was deleted, renamed, or moved to another location.
* An install or uninstall procedure did not complete successfully.
* The installation package was faulty and contained
"/usr/lib/cmake/vtk-6.3/VTKTargets.cmake"
but not all the files it references.
-- The imported target "vtk" references the file
"/usr/bin/vtk"
but this file does not exist. Possible reasons include:
* The file was deleted, renamed, or moved to another location.
* An install or uninstall procedure did not complete successfully.
* The installation package was faulty and contained
"/usr/lib/cmake/vtk-6.3/VTKTargets.cmake"
but not all the files it references.
-- Found GTK2_GTK: /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so
CMake Error at /home/vagrant/Documents/build_xc/xc/CMake/find_packages.cmake:6 (find_package):
By not providing "FindGNUGTS.cmake" in CMAKE_MODULE_PATH this project has
asked CMake to find a package configuration file provided by "GNUGTS", but
CMake did not find one.
Could not find a package configuration file provided by "GNUGTS" with any
of the following names:
GNUGTSConfig.cmake
gnugts-config.cmake
Add the installation prefix of "GNUGTS" to CMAKE_PREFIX_PATH or set
"GNUGTS_DIR" to a directory containing one of the above files. If "GNUGTS"
provides a separate development package or SDK, be sure it has been
installed.
Call Stack (most recent call first):
CMakeLists.txt:75 (INCLUDE)
-- Configuring incomplete, errors occurred!
See also "/home/vagrant/Documents/build_xc/build/CMakeFiles/CMakeOutput.log".
vagrant@stretch:~/Documents/build_xc/build$
Is there any plan to work with python3? for installation it's give me print error frequently, because my default python evnironment is python3. thanks.
Use PDelta for the elements and make some verification tests comparing the results with those of the standards.
Hi,
I have a problem with a test I'm performing to check deflections in prestressed beams. The question is, at some point, I must impose a reduction of prestressing in a beam (from 6800 to 4500 kN/m2). I've tried two methods: 1) change the prestress in the material of each element of the cable, 2) impose an equivalent strain in the elements.
In repository work_in_progress there are three simple models to reproduce the issue:
test_deflection_prestressed_beam_01.- The initial stress in prestressing steel is set to 4500 kN/m2 -> The model outputs the right results (uz=40 mm & N=4500 kN) that match those from a direct calculation, but only because the final tension is directly assigned to the material in its definition statement.
test_deflection_prestressed_beam_02.- I set initial stress in prestressing steel = 6800 kN/m2.
Before calculating I set a prestress of 4500 kN/m2 to the material of
each element (lines 157-158).
Results: uz=60.5 mm (as if prestress = 6800 kN/m2), N=4500 kN
test_deflection_prestressed_beam_03.- I set initial stress in prestressing steel = 6800 kN/m2.
Before calculating I try to impose a strain in order to reduce the stress
from 6800 kN/m2 to 4500 kN/m2 (lines 157-162)
results: idem to case 1. The following error arises: ElementBodyLoad::applyLoad; el number of pointers no coincide con el de identifiers.
Any idea how to tackle it?
Hello,
could anyone provide some assistance with the following error? it occurs when I try to compile xc, with
'cmake ../xc/src'.
I understand there is an issue with cmake identifying petsc, and that the xcfem code includes the script FindPETSc.cmake.
I have PETSc 3.7 installed, and I am using Ubuntu 16. The XC package was downloaded on 28/12/18.
CMake Error at /home/chris/build_xc/xc/CMake/FindPetsc.cmake:32 (MESSAGE):
No se encontró petsc.h
Call Stack (most recent call first):
/home/chris/build_xc/xc/CMake/find_packages.cmake:36 (find_package)
CMakeLists.txt:62 (INCLUDE)
Whilst writing code related to verifications for steel beams, two minor changes would be convenient:
Do you see any problem if I make those changes?
Take the following example as a base:
Make that for all classes that define this kind of elements (20nbrick, 27nbrick,...).
issues are not the best way to ask all the question I have ATM, but we do not have any better ATM, do we? There is neither a forum or a mailing list?
Bernd
Write methods to make possible to aggregate many load patterns into one:
G= selfWeight + deadLoadA + deadLoadB + earthPressure
This way it's easier to write combinations:
ELU1= 1.35*G+...
instead of:
ELU1= 1.35_selfWeight+1.35_deadLoadA+1.35_deadLoadB+1.35_earthPressure.
To do that:
Modifications in MITC4 and NLShell elements (to work with unifor
opensees_2.4.6_change_log.pdf
m ground motion inputs).
Check out these modifications to put them in XC versions of those shell elements.
Hi Luis,
I tried to compile XC on Debian Buster, but xc_utils fails on cmake because of missing mysql dev packages. The problem is on Debian Buster is package libmysql++-dev not available. See https://packages.debian.org/search?searchon=names&keywords=libmysql%2B%2B-dev Do you have an idea how to fix this?
Ahh just realized the following ... but open the ticket anyway to not forget about ...
I may try to install the sid or stretch package. It is not smart, but it could work because all of them are 3.2.2+pristine-2
I will report back.
cheers bernd
BTW: XC compile script's still run flawless on Debian Stretch and Ubuntu Bionic Beaver :-)
Is there any possibility to write a bash script to execute the commands:
https://github.com/xcfem/xc/blob/master/install/install.linux.md
and install xc on Ubuntu?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.