Using multiple softwares for performing a simulation

Discussion about building and installing Elmer
chatpall
Posts: 31
Joined: 04 Nov 2011, 20:27
Antispam: Yes

Re: Using multiple softwares for performing a simulation

Post by chatpall »

all about materials
materialing.com
annier
Posts: 1168
Joined: 27 Aug 2013, 13:51
Antispam: Yes

Re: Using multiple softwares for performing a simulation

Post by annier »

Dear Chatpall,
Thank you very much notifying us about a nice software for numerical simulation of microstructures.

Yours
Anil Kunwar
Anil Kunwar
Faculty of Mechanical Engineering, Silesian University of Technology, Gliwice
annier
Posts: 1168
Joined: 27 Aug 2013, 13:51
Antispam: Yes

Re: Using multiple softwares for performing a simulation

Post by annier »

Installing OOF2 in Ubuntu 14.04:
1. Run the following commands in terminal (Prerequisites) as given in this link

Code: Select all

   $ sudo apt-get remove graphicsmagick-libmagick-dev-compat
   $ sudo apt-get install python-gtk2-dev
   $ sudo apt-get install libgnomecanvas2-dev
   $ sudo apt-get install libmagick++-dev
   $ sudo apt-get install liblapack-dev
   $ sudo apt-get install bison
2. Download OOF2 through this link.

3. Untar the tar file .

Code: Select all

$tar -xzf oof2-2.1.11.tar.gz
Assuming that the oof2-2.1.11 is in home directory, for jumping into the OOF2 directory and doing installation, we type these commands:

Code: Select all

$ cd ~/oof2-2.1.11
$ python setup.py build
$ python setup.py install
4. Additionally, the OOFEXTENSIONS package can be downloaded at this link.

Yours
Anil Kunwar
Anil Kunwar
Faculty of Mechanical Engineering, Silesian University of Technology, Gliwice
annier
Posts: 1168
Joined: 27 Aug 2013, 13:51
Antispam: Yes

Re: Using multiple softwares for performing a simulation

Post by annier »

Notes on C++ Code(s) of MOOSE Kernel
1. _test[_i][_qp] - This represents the test function and appears in the residuals and jacobians
2._varname[_qp] or _grad_varname[_qp] - This represents the trial function and replaces the actual variable (not change or not differentiated) in the residual or jacobian PDE.
3. _phi[_j][_qp] - This represents the variable's final form in the Jacobian when differentiated.
4. computeQpResidual() - This represents the residual of the equation.
5. computeQpJacobian() - This represents the Jacobian for single variable or jacobian for primary variable in terms of two variables.
6. computeQpOffDiagJacobian - This represents the jacobian for second variable when there are two variables in the residual.

Illustration literature on solving a finite element numerical problem using MOOSE framework
libmesh code for mathamatics in pages 48/98 and 49/98

Layman concept of Jacobian: Jacobian is the partial differentiation of a Residual in terms of one or more variable. Partial Differentiation w.r.t First Variable - computeQpJacobian() and Partial Differentiation w.r.t. Second Variable - computeQpOffDiagJacobian
Code Snippet for Sorret Diffusion:

Code: Select all

Real
SoretDiffusion::computeQpResidual()
{
  Real T_term = _D[_qp] * _Q[_qp] * _c[_qp] / (_kb * _T[_qp] * _T[_qp]);

  return T_term * _grad_T[_qp] * _grad_test[_i][_qp];
}

...
Real
SoretDiffusion::computeQpOffDiagJacobian(unsigned int jvar)
{
  if (_c_var == jvar) //Requires c jacobian
    return computeQpCJacobian();
  else if (_T_var == jvar) //Requires T jacobian
//Calculate the Jacobian for the T variable
    return _D[_qp] * _Q[_qp] * _c[_qp] * _grad_test[_i][_qp] *
           (_grad_phi[_j][_qp]/(_kb * _T[_qp] * _T[_qp]) - 2.0 * _grad_T[_qp] * _phi[_j][_qp] / (_kb * _T[_qp] * _T[_qp] * _T[_qp]));

  return 0.0;
}

Real
SoretDiffusion::computeQpCJacobian()
{
  //Calculate the Jacobian for the c variable
  return _D[_qp] * _Q[_qp] * _phi[_j][_qp] * _grad_T[_qp] / (_kb * _T[_qp] * _T[_qp]) * _grad_test[_i][_qp];
}

Installing MOOSE in Ubuntu 14.04 without interferring with the Default MPI path of the computer
METHOD -1
When i installed moose software on the basis of the instructions given here:
http://mooseframework.org/getting-started/ubuntu-1404/
it used to set moose environment in /opt/moose and the systems openmpi would be operating from /opt/moose/openmpi.
However, softwares like Elmer will try to invoke mpi from /usr/bin. ElmerSolver won't be able to start if /opt/moose/openmpi is the path of the mpi called from the bash file when the terminal is opened.

The solution for this is to give alias to the moose environment. this will eventually start moose environment only when it is called with the alias name. In this context, Elmer and other softwares will be able to run by invoking mpi from the default /usr/bin/ path.

Steps
1. Go to the website for basic manual installation of moose
http://mooseframework.org/wiki/BasicMan ... ion/Linux/

2. In step 1, namely Environment Setup, make the following changes in #library location

Code: Select all

# Compiler Variables
export CC=mpicc
export CXX=mpicxx
export F77=mpif77
export FC=mpif90

# Library location
# the packages location library has been changed to this path in HOME directory
#openmpi and petsc will be installed in this directory
#export PACKAGES_DIR=/opt/moose
export PACKAGES_DIR=$HOME/moose_projects/moose_lib

# Helper variables
export MPI_HOME=$PACKAGES_DIR/openmpi/openmpi-1.8.1/gcc-opt
export PETSC_DIR=$PACKAGES_DIR/petsc/openmpi_petsc-3.5.2/gcc-opt

# Libraries
export LD_LIBRARY_PATH=$MPI_HOME/lib:$MPI_HOME/lib/openmpi:$LD_LIBRARY_PATH

# PATH
export PATH=$PACKAGES_DIR/miniconda/bin:$MPI_HOME/bin:$PATH

# JOB Count (the number of cores available on this machine)
export MOOSE_JOBS=4
and also simultaneously make directory called moose_projects

Code: Select all

mkdir -p ~/moose_projects/src

3. the above codes are copied in a file named bashrc and put inside the following location:
/home/username/moose_projects/etc/
i.e. the above code can be found at
/HOME/username/moose_projects/etc/ bashrc

4. In order give alias to this moose-environment, we can open the start up bash file

Code: Select all

$gedit ~/.bashrc
and copy the following code at the end of start up bash file.

Code: Select all

alias moose='. /home/username/moose_projects/etc/bashrc'
5. Now, we close all the terminal,then open a new terminal, and type

Code: Select all

$moose
to call the moose environment and start the installation instructions from step 2 of http://mooseframework.org/wiki/BasicMan ... ion/Linux/
Note: the word projects in this instruction is replaced by moose_projects so that all things can be stored within a single directory moose_projects.

6. In the above installation instruction, at steps 2 and 3, the installation directory being HOME,

Code: Select all

$sudo make install 
has to be replaced by

Code: Select all

$make install
Note:
The latest versions of openmpi and petsc can be downloaded from
openmpi-1.8.4
petsc-3.5.3

METHOD-2
I am thankful to Jason Miller and Cody Permann for guiding me about using MOOSE ENVIRONMENT and libmesh.
1. Start the usual ENVIRONMENT SETUP of moose as described in http://mooseframework.org/getting-started/ubuntu-1404/ with some additional workouts to be done for creating mpi switch between moose environment and other ubuntu softwares environment.
2. Now, the current moose environment package for Ubuntu 14.04 is https://mooseframework.org/static/media ... x86_64.deb.
3. During the post install of the moose environment add an additional "modules purge" and "alias ..." in the ~/.bashrc file

Code: Select all

# Source MOOSE Environment
if [ -f /opt/moose/environments/moose_profile ]; then
  . /opt/moose/environments/moose_profile
fi

# the module purge command prevents the moose environmnet from loading
# the alias moose following it is used for loading moose
# moose load command is written in bashrc file in $HOME/moose_projects/etc/
# "module purge" and "$moose" together act as a switch
module purge
alias moose='. /home/username/moose_projects/etc/bashrc'
4. Create a bashrc file in $HOME/moose_projects/etc and write the following in the bashrc file

Code: Select all

module load moose-dev-gcc moose-tools
5. Now open a terminal and type

Code: Select all

$moose
6. Typing $moose will activate the moose modules and when we type

Code: Select all

$module list
, it gives

Code: Select all

Currently Loaded Modulefiles:
  1) moose/.openmpi-1.8.1_gcc         4) moose-dev-gcc
  2) moose/.openmpi_petsc-3.5.1-gcc   5) moose-tools
  3) moose/.cppunit-gcc
7. When we open a terminal and type "$module list" without typing "$moose", it will give,

Code: Select all

No Modulefiles Currently Loaded. 
8. Now, we may continue with the usual steps as described in http://mooseframework.org/getting-started/ubuntu-1404/


Registration of a Moose Application
Let the name of the new Moose Application be BirdOrAnimalName.
steps:
1.Get a copy of existing moose tutorial or example, with the application name PreviousTutorial and locate it as ~/projects/moose/tutorials/myapplication/previous-tutorial/.
So, the minimal files (with the corresponding directories) required for the registration of a moose application are:
  • previous-tutorial/Makefile
    previous-tutorial/LICENSE
    previous-tutorial/README.md
    previous-tutorial/run_tests
    previous-tutorial/src/main.C
    previous-tutorial/src/base/PreviousTutorialApp.C
    previous-tutorial/include/base/PreviousTutorialApp.h
2. Open Makefile

Code: Select all

###############################################################################
################### MOOSE Application Standard Makefile #######################
###############################################################################
#
# Optional Environment variables
# MOOSE_DIR        - Root directory of the MOOSE project
#
###############################################################################
# Use the MOOSE submodule if it exists and MOOSE_DIR is not set
MOOSE_SUBMODULE    := $(CURDIR)/moose
ifneq ($(wildcard $(MOOSE_SUBMODULE)/framework/Makefile),)
  MOOSE_DIR        ?= $(MOOSE_SUBMODULE)
else
  MOOSE_DIR        ?= $(shell dirname `pwd`)/../../../moose
endif

# framework
FRAMEWORK_DIR      := $(MOOSE_DIR)/framework
include $(FRAMEWORK_DIR)/build.mk
include $(FRAMEWORK_DIR)/moose.mk

################################## MODULES ####################################
ALL_MODULES := yes
include $(MOOSE_DIR)/modules/modules.mk
###############################################################################

# dep apps
APPLICATION_DIR    := $(CURDIR)
APPLICATION_NAME   := previous_tutorial
BUILD_EXEC         := yes
DEP_APPS           := $(shell $(FRAMEWORK_DIR)/scripts/find_dep_apps.py $(APPLICATION_NAME))
include            $(FRAMEWORK_DIR)/app.mk

###############################################################################
# Additional special case targets should be added here
-In this Makefile, replace APPLICATION_NAME := previous_tutorial by APPLICATION_NAME := bird_or_animal_name
.
-Also, MOOSE_DIR ?= $(shell dirname `pwd`)/../../../moose, the number of two dots /../ correspond to the location of framework directory with respect to the location of the current Makefile.

3. Change the directory name "previous-tutorial" with "bird-or-animal-name" and replace the names PreviousTutorialApp.C and PreviousTutorialApp.h by BirdOrAnilmalNameApp.C and BirdOrAnilmalNameApp.h respectively for the files i.e.
  • previous-tutorial/src/base/PreviousTutorialApp.C
    previous-tutorial/include/base/PreviousTutorialApp.h
becomes
  • bird-or-animal-name/src/base/BirdOrAnilmalNameApp.C
    bird-or-animal-name/include/base/BirdOrAnilmalNameApp.h
4. Within the src directory, open main.C and BirdOrAnilmalNameApp.C. Replace the words "PreviousTutorial" and "PreviousTutorialApp" by "BirdOrAnilmalName" and "BirdOrAnilmalNameApp" respectively.
5. Similarly, within the include directory, open BirdOrAnilmalNameApp.h and
replace
PREVIOUS_TUTORIALAPP by BIRD_OR_ANIMAL_NAMEAPP
PreviousTutorialApp by BirdOrAnilmalNameApp.

6. In order to verify the registration process, we enter into the directory containing Makefile within the bird-or-animal-name directory and type make command.

Code: Select all

$ cd ~/projects/moose/tutorials/myapplication/bird-or-animal-name/
$ make -j4
This will create an executable called bird_or_animal_name-opt in the same directory having Makefile.


Running a MOOSE application
I would like to thank Andrea Jokisaari for guiding me in getting introduced with how MOOSE FRAMEWORK works.

Steps:
1. Enter into the directory of the MOOSE application with folder name "mooseapp" having the Makefile and input file "moosefile.i". Type

Code: Select all

$make -j4
This will create the executable: mooseapp-opt
2. Type in the directory mentioning the location of moosefile.i and if it is in the same directory with mooseapp-opt, it is like-

Code: Select all

$./mooseapp-opt -i moosefile.i 
For the above context, the executable created will be bird_or_animal_name-opt (as defined in the APPLICATION NAME of the Makefile). So, it can be used to run a given input file moosefile.is
as

Code: Select all

$./bird_or_animal_name-opt -i moosefile.i 
provided that both the executable and the input files are in the same directory bird-or-animal-name.

Update libMesh
http://mooseframework.org/wiki/libMesh/

using ccache to make the moose recompilation faster
http://mooseframework.org/wiki/ccache/

Compiling libMesh using PETSc
http://www.cmiss.org/openCMISS/wiki/Con ... ousSystems
http://www.somewhereville.com/?cat=65

##################################################################################################################################################################
Workout in Ubuntu 14.04 for MOOSE and OpenMPI [in relation to make test after compilation ==>> in response to the message "Undefined Reference to the ... words related to OpenMPI)]
For compilation of MOOSE or update to the latest version of MOOSE (~2015/10/15 or later)
1. Uninstall the mpi-defult-dev and openmpi-common libraries

Code: Select all

$ sudo apt-get remove mpi-defult-dev 

Code: Select all

$ sudo apt-get remove openmpi-common
2. For moose update context, jump into the moose directory and clean the directory:

Code: Select all

$ cd ~/projects/moose/

Code: Select all

$ git clean -fxd
3. Follow the moose installation or update as mentioned in the website of moose framework.
http://mooseframework.org/getting-started/

##################################################################################################################################
http://manpages.ubuntu.com/manpages/luc ... mpi.1.html
MOOSE -phase_field_model
The Gradient Plasticity Model in MOOSE
Function Parser in C++
Lecture Notes on Metallurgy, Materials Science and Phase Field Modeling (http://www.msm.cam.ac.uk)
Phase Field Method for Void Evolution

Phase field equation -evolution of concentration with time for external field such as temperature or voltage:
(hit and trial concepts in FEM numerical approach)
Hypothesis - A
1. thermal or electrical conductivity = is kept low for numerical convergence.
2. diffusivity = this material property is kept high for evolution of width and preferred to be lowered for making simulation more sharp-interfaced. Notably, the negative of vacancy migration enthalpy is used as the exponential in diffusivity computation. So, smaller value of vacancy migration is needed for the convergence. For most of the metals when vacancy migration enthalpy is kept smaller as possible, the numerical convergence is obtained (needs more validation and correction if required).
3. time-step = is kept high for considering the evolution process significantly affected.
4. interval-width = is tried to be kept as low as possible but higher values make the curves more smooth.

Hypothesis - B
For the context of numerical convergence in phase field simulation of sorret diffusion, the following conditions are preferrable:
1. Lower D_0.
2. Q* in the range of 1 - 4 ev.
3. Higher or greater value of l_interface.
4. Fine mesh size and for generated mesh dx = 400, dy = 400.

Unit conversion chart for energy
a thesis on nonlinear systems of equations for multiphysics coupling

Paperwork on RedBack Application Software related to MOOSE software

Thermodynamic Database for CALPHAD and MOOSE

https://github.com/idaholab/moose/commi ... 61dc762543

Literature on Phase Field Modeling

https://icme.hpc.msstate.edu/mediawiki/ ... d_Modeling
http://www.emse.fr/trs/pdf/nucleation/kvamme.pdf
Phase Field Model and Calphad
arxiv.org/ftp/arxiv/papers/1311/1311.5405.pdf
Intergranular Bubble Growth Study_Y_Li_et_al
Intergranular Bubble Growth Study_MR_Tonks_et_al
PhaseFieldModel_by_many_Authors_Intragranular
Presentation on PFM by Daniel Schwen - training lectures
http://www.sciencedirect.com/science/ar ... 3X12007707
Phase field modeling of microstructural evolution
http://iopscience.iop.org/0965-0393/9/6/303
phase field modeling of boiling
Demonstrating the Effect of Temperature Gradient on Grain Growth
phase field model of bubble growth
phase field model for microstructural evolution in Cu-Ag-Sn system
A Thesis on phase field modeling
Website of Daniel A. Cogswell
http://www2.mech.kth.se/~irina/IrinaLoginovaThesis.pdf
phase field model of bubble in electric fields
Theory of thermotransport in MOOSE -BISON
Hydrogen distribution in Zircaloy under thermal gradient Olivier Thesis
Hdrogen transport in temperature gradient Arthur Motta
overview of BISON Multidimensional fuel performance code
Sensitivity of heat transfer in Bison
An article on verification of BISON fuel performance codel
An article on constituent redistribution modeling in BISON
Advanced multiphysics coupling used in BISON code
http://physics.stackexchange.com/questi ... -equations
MARMOT description and relevant theoretical concepts for phase field model in MOOSE framework
MARMOT 2015 tms moose
MARMOT code and theoretical backgrounds on spinodal decomposition tutorial
Hyrax and Phase field model with elasticity theory
Phase selection on grain tracker started by Daniel Schwen
Tensor mechanics module of moose framework- dynamics wiki
Electromigration theory for interconnects
Electromigration induced microstructure evolution in tin
Cooling and cooling rate modeling in materials science(other methods)
Simple Model of Microsegregation during Solidification of
Steels

Relation between experiment and modeling of rapidly solidified steel
Basic parameters and phenomena for solidification of alloys
cooling rate for microstructure and mechanical properties in cast alloy
cooling rate for microstructure and mechanical properties in composite solder
nanoparticle addition and cooling rate effects in solder
effect of temperature on microstructure of solder alloys
Microstructure development in a rapidly cooled solder
numerical investigation(numerically investigating) of cooling effects in reflow soldering
notes on the undercooling in solders
undercooling phenomena and data in solders
Effect of cooling rate on IMC in solder

Phase field modeling of multicomponent and multiphase alloys by Nele Moelans, Belgium
Phase field modeling for Sn-Bi soldering
Thermodynamic optimization/modeling of lead free solder systems
Solidification and microstructure simulation group

Multicomponent diffusion and Bission Code Part
BISON and multicomponent diffusion
BISON code and thermal gradient
Coupling of thermochemistry solver of BISON
thermochimica an opensource thermochemistry library


Bubble Simulation using Phase Field Method
1.Lattice Boltzmann Method for Bubble Simulation
2. Nucleation and Growth of Bubble in Liquid Medium
3. PFM of drops and bubbles in Electrical Fields
4. Simulation of surfactant in diffuse interface flow
5. Horizontally aligned bubbles in gravitational field
6. https://www.comsol.pt/release/5.2/cfd-module
7. Off-diagonal jacobian for threee variables

Notes on Concentration or Composition Dependent Mobility in Cahn-Hilliard Equation
1. http://citeseerx.ist.psu.edu/viewdoc/do ... 1&type=pdf
2. http://biomechanics.stanford.edu/paper/JCP06.pdf
3. http://biomechanics.stanford.edu/paper/CMECH10a.pdf
4. http://www2.math.technion.ac.il/~amync/ ... Rashed.pdf
4. http://homepages.warwick.ac.uk/~masgat/ ... liard.html
5. Thesis by Junseok Kim Solve Convergence Notes on PETSC libraries
1. Nonlinear solve did not converge
2. Preconditioning in MOOSE framework and petsc_options for reasons about convergence
in input file we write the following in the Executioner block,

Code: Select all

[Executioner]
...
petsc_options = '-snes_monitor -ksp_monitor_true_residual -snes_converged_reason -ksp_converged_reason'
...
[]
3. Usage of the PetscOptionsSetValue
4. Convergence of Newton's Method
5. Strongly nonlinear equation solved within the framework of PETSc
6. Convergence of iterative linear solver
7. http://fenicsproject.org/qa/5720/solver ... t-converge
8. Failed line search are resulted due to incorrect Jacobian
9. Threads on preconditioners and executioners on MOOSE
10. Nonlinear solvers convergence in MOOSE
11. On the effect of preconditioning in accuracy of the solve
12. On the petsc options priority notes
13. PETSC options and jacobian debugging in S. Biswas's solver run
14. General questions on MOOSE
15. Discussions on Solver Convergence Criterion
16. solid mechanics and discussions
17. saving nonlinear residuals with residual postprocessors

Effective material properties calculation
1. On the effective material properties computation
2.Effective thermal properties calculation
3. Differentiating sidesets and nodesets in boundaries
4. Adding extra nodeset and related issues
5. Asymptotic expansion homogenization (AEH) method for calculation of effective material properties
6. AEH for calculation of temperature dependent effective thermal properties

XFEM
1. http://dilbert.engr.ucdavis.edu/~suku/xfem/
2. http://www.xfem.rwth-aachen.de/
3. https://en.wikipedia.org/wiki/Extended_ ... ent_method
4. http://dilbert.engr.ucdavis.edu/~suku/x ... algia.html
5. http://www.matthewpais.com/x-fem

career as a post-doctoral researcher for MOOSE Framework
katy huff research profile
Boussinesq application literature for COMSOL
Incompressible Navier-stokes equation and Boussinesq approximation by R.C. Martineau et al (2009)
wikipedia Boussinesq approximation illustration
Using displaced mesh in Navier-stokes formulation for moose framework

Coupling of BISON and Thermochimica
1. User Manual of THERMOCHIMICA v1.0
2. Coupling of THERMOCHIMICA with MOOSE/BISON

Some Important Literatures on Mesoscale Mechanics and Tensor Mechanics
Discussions on How to evaluate mechanical energy in MOOSE dynamics module
Illustration and wiki of grain motion for phase field module + tensor mechanics module in MOOSE framework
Ferret Code
Ferret sourcecode and corresponding publication article about nano-particles
Abstract related to mesoscale modeling of core-shell nanoparticles

Compilation Method (MOOSE needs to be installed as required in /for MOOSE based applications:
1. Download ferret source code from https://bitbucket.org/mesoscience/ferret.git

Code: Select all

git clone https://user@bitbucket.org/mesoscience/ferret.git
2. Put ferret directory in ~/Projgects directory along with moose directory.
3.

Code: Select all

cd ~/Projgects/ferret/
4.

Code: Select all

./configure
5.

Code: Select all

 make METHOD=opt MOOSE_DIR=../moose -j 4
Notes,documentations as well as/ and literatures on restart and recover from previous simulation in MOOSE framework

Phase field methods and community

Codes commitment on github repository:
1. Create a new repository on github , with a name of an animal or bird "xyApp".
2. Jump into the directory containing xyApp, type the following:

Code: Select all

git remote add origin https://github.com/git-username/xyApp
3. Tell your email and username to github, as an applicant from remote computer:

Code: Select all

git config --global user.email "email_address@example.com"

Code: Select all

git config --global user.name "git-username"
4. Make initial commit and push the codes to github.

Code: Select all

 git commit -m "initial commit"

Code: Select all

 git push -u origin master
libmesh configuration with VTK for building mesh from images
1. guidelines given in the website of REDBACK app

2.

Code: Select all

$ export LD_LIBRARY_PATH=/opt/moose/vtk-7.1.0/clang-5.0.1/lib:$LD_LIBRARY_PATH
$ ./update_and_rebuild_libmesh.sh --enable-vtk
Reference: https://groups.google.com/forum/#!topic ... b6s_LWcEnU

Code: Select all

$ ./update_and_rebuild_libmesh.sh --with-vtk-include=/opt/moose/vtk-7.1.0/gcc-7.3.0/include/vtk-7.1 --with-vtk-lib=/opt/moose/vtk-7.1.0/gcc-7.3.0/lib --with-vtk-include=/opt/moose/vtk-7.1.0/clang-5.0.1/include/vtk-7.1 --with-vtk-lib=/opt/moose/vtk-7.1.0/clang-5.0.1/lib
 or,
 
$ export LD_LIBRARY_PATH=/opt/moose/vtk-7.1.0/gcc-7.3.0/lib:$LD_LIBRARY_PATH
 ./update_and_rebuild_libmesh.sh --enable-vtk
Yours
Anil Kunwar
Last edited by annier on 24 Jan 2020, 20:33, edited 156 times in total.
Anil Kunwar
Faculty of Mechanical Engineering, Silesian University of Technology, Gliwice
annier
Posts: 1168
Joined: 27 Aug 2013, 13:51
Antispam: Yes

Re: Using multiple softwares for performing a simulation

Post by annier »

Finite Element Library in Fortran
Finite Element Method using MOOSE software

FENICS project
fenics
Installation of FEniCS in Ubuntu
C++ Coding Standards in MOOSE
https://bitbucket.org/fenics-project
github


SfePy-Simple Finite Elements in Python
1. Introductory concepts
2. research gate
3. github
4. website of sfepy software
5. https://anaconda.org/conda-forge/sfepy
6. Installation of sfepy and fipy in the same environment (in anaconda)
(a) create the conda environment

Code: Select all

$ conda create -n myfpspenv
(b) activate the environment in anaconda

Code: Select all

$ conda activate myfpspenv
(c) install sfepy software in the environment

Code: Select all

( myfpspenv) ... $ conda install -c conda-forge sfepy 
(d) install fipy software in the environment

Code: Select all

( myfpspenv) ... $ conda install --channel guyer --channel conda-forge fipy nomkl
Last edited by annier on 03 Oct 2018, 04:27, edited 9 times in total.
Anil Kunwar
Faculty of Mechanical Engineering, Silesian University of Technology, Gliwice
annier
Posts: 1168
Joined: 27 Aug 2013, 13:51
Antispam: Yes

Re: Using multiple softwares for performing a simulation

Post by annier »

Example of Base and Derived Classes in C++
The Thermomechanical Darcy Flow tutorial in MOOSE software discusses about how a derived class (pressure kernel) is written from the base class (Diffusion Kernel).

File 1 of Base Class (Diffusion.h) and File 2 of Base Class (Diffusion.C)
File 1 of Derived Class i.e. DarcyPressure.h and File 2 of Derived Class i.e. DarcyPressure.C

Registration of Derived Class (Moose Object Developed by User)
The registration of the Moose Object "Darcy Pressure" is done at the src/base/DarcyThermoMechApp.C, with the following lines of codes:

Code: Select all

//Kernels registration
#include "DarcyPressure.h"
...
void
DarcyThermoMechApp::registerObjects(Factory & factory)
{
  registerKernel(DarcyPressure);
}
...
Also, adding time_coefficient in TimeDerivative term is also explained by showing a derived class ExampleTimeDerivative inherits from the base class TimeDerivative in the following link under the title Custom Time Kernel.


yours
Anil Kunwar
Last edited by annier on 20 Apr 2015, 14:55, edited 2 times in total.
Anil Kunwar
Faculty of Mechanical Engineering, Silesian University of Technology, Gliwice
annier
Posts: 1168
Joined: 27 Aug 2013, 13:51
Antispam: Yes

Re: Using multiple softwares for performing a simulation

Post by annier »

Hi,
Another software with the name "elmer" but for different purpose.
http://elmer.sourceforge.net/
https://wiki.python.org/moin/elmer


Yours
Anil Kunwar
Anil Kunwar
Faculty of Mechanical Engineering, Silesian University of Technology, Gliwice
annier
Posts: 1168
Joined: 27 Aug 2013, 13:51
Antispam: Yes

Re: Using multiple softwares for performing a simulation

Post by annier »

Updating a fork with the original parents in github:
The steps are described a in the following links:
http://zanshin.net/2013/01/10/how-to-up ... thub-fork/
http://zanshin.net/2012/01/12/update-a- ... epository/
http://markhnichols.com/

Yours
Anil Kunwar
Anil Kunwar
Faculty of Mechanical Engineering, Silesian University of Technology, Gliwice
annier
Posts: 1168
Joined: 27 Aug 2013, 13:51
Antispam: Yes

Re: Using multiple softwares for performing a simulation

Post by annier »

Last edited by annier on 14 Jan 2018, 19:18, edited 12 times in total.
Anil Kunwar
Faculty of Mechanical Engineering, Silesian University of Technology, Gliwice
annier
Posts: 1168
Joined: 27 Aug 2013, 13:51
Antispam: Yes

Re: Using multiple softwares for performing a simulation

Post by annier »

Working with the LibreOffice
http://www.libreoffice.org/get-help/documentation/
tutorials on the libreoffice
tutorials and illustrations on libreoffice impress
https://ask.libreoffice.org/en/question ... la-object/
https://ask.libreoffice.org/en/question ... in-writer/
Type science and math equations in libreoffice impress
http://extensions.libreoffice.org/exten ... texmaths-1
http://roland65.free.fr/texmaths/
http://comments.gmane.org/gmane.comp.do ... ugs/323944
https://ask.libreoffice.org/en/question ... fractions/
exporting odg file format into jpeg file format for libreoffice drawing

In order to install LibreOffice plugin in mendeley-desktop ( a reference manager tool) in Ubuntu 14.04, one can do the following steps:
1. Download and install mendeley desktop in accordance to https://www.mendeley.com/download-mendeley-desktop/

2.Open mendeley desktop in terminal

Code: Select all

$mendeleydesktop
3. In the mendeley-desktop, go to
Tools>> Install LibreOffice Plugin

4. After the LibreOffice Plugin is installed, open a LibreOffice Writer. There, the Mendeley is found to be connected with the writer and one can cite the references using Mendeley in LibreOffice.
LibreOffice and Mendeley-Desktop
LibreOffice and Mendeley-Desktop
LibreOffice_Toolbar.png (18.27 KiB) Viewed 11920 times

More notes on citation and bibliography

1. http://guides.lib.unc.edu/c.php?g=9096&p=45419
2. http://libguides.wustl.edu/c.php?g=47217&p=303183
3. https://community.mendeley.com/guides/u ... bliography
4. https://www.mendeley.com/features/reference-manager/
5. mendeley desktop bibliography for latex
6. importing web references in mendeley desktop
7. digital library for citation - acm dl
Last edited by annier on 04 Jun 2016, 14:40, edited 11 times in total.
Anil Kunwar
Faculty of Mechanical Engineering, Silesian University of Technology, Gliwice
Post Reply