HOW TOs

From KratosWiki
(Difference between revisions)
Jump to: navigation, search
(C++)
m
 
(96 intermediate revisions by 13 users not shown)
Line 1: Line 1:
 
This section is intended as a list of "recipes" for common needs in using the Kratos
 
This section is intended as a list of "recipes" for common needs in using the Kratos
 +
 +
----
 +
<div style="background:#F2CECE; color:black; text-align:center;">
 +
== We have moved! ==
 +
 +
The development of Kratos Multiphysics has been moved to GitHub. You can find us [https://github.com/KratosMultiphysics/Kratos in our GitHub project page]. We are keeping this wiki until the migration is complete, but it will no longer be updated. Find up-to date documentation in the new [https://github.com/KratosMultiphysics/Kratos/wiki GitHub wiki page].
 +
</div>
 +
----
  
 
== General ==
 
== General ==
* [[Installing kratos in Ubuntu Linux ]]
+
* [[LinuxInstall | Installing kratos in Ubuntu Linux ]]
* [[How to get Kratos]]
+
* [[Windows 7 Download and Installation | Installing kratos in Windows]]
* [[How to Compile Kratos]]
+
* [[Installing kratos in macOS]]
 +
<!-- * [[MacOSX Installation]] (Leopard) -->
 +
<!-- * [[How to get Kratos]] -->
 +
<!-- * [[How to Compile Kratos]] -->
 
* [[How to Compile Kratos on the Acuario Cluster]]
 
* [[How to Compile Kratos on the Acuario Cluster]]
 
* [[How to Check Kratos is Correctly Installed in Windows]]
 
* [[How to Check Kratos is Correctly Installed in Windows]]
 
* [[How to Check Kratos is Correctly Installed in Linux]]
 
* [[How to Check Kratos is Correctly Installed in Linux]]
 
* [[How to subscribe to Kratos' mailing list]]
 
* [[How to subscribe to Kratos' mailing list]]
 +
* [[How to Profile an application (using google-perftools)]]
 +
* [[How to Measure memory consumption (using google-perftools)]]
 +
* [[How to Profile an application (using OProfile)]]
 +
* [[How to work with Groups (Meshes)]]
 +
* [[How to make my application derivable]]
 +
* [[How to use the PaStiX solver in Kratos]]
 +
<!--* [[Working]]-->
 +
<!--* [[Working_kernel]]-->
  
 
== OpenMP Parallelism ==
 
== OpenMP Parallelism ==
Line 14: Line 33:
 
* [[How to "survive" OpenMP parallelism]]
 
* [[How to "survive" OpenMP parallelism]]
 
* [[How to force a scalar run]]
 
* [[How to force a scalar run]]
 +
* [[How to use ThreadSanitizer to detect data race bugs]]
  
 
== MPI Parallelism ==
 
== MPI Parallelism ==
Line 26: Line 46:
 
* [[How to debug OpenCL programs using GDB]]
 
* [[How to debug OpenCL programs using GDB]]
 
* [[Support for double-precision floating point basic arithmetic in ATI Stream SDK (2.1 and later)]]
 
* [[Support for double-precision floating point basic arithmetic in ATI Stream SDK (2.1 and later)]]
 +
 +
== Git ==
 +
* [[How to make Git ignore the files resulting from a compilation without conflicts in .gitignore]]
  
 
== Python ==
 
== Python ==
* [[How to Use an Application]]
+
'''General Python Use for Kratos'''
 
* [[How to use Python]]
 
* [[How to use Python]]
* [[How to use multiple model parts]]
+
* [[How to Use an Application]]
 +
* [[How to use parameters]]
 
* [[How to import Kratos from Python using the KratosMultiphysics module]]
 
* [[How to import Kratos from Python using the KratosMultiphysics module]]
* [[How to Calculate Distance Function]]
+
* [[How to work with nodes and elements in python]]
* [[How to Calculate Normals]]
+
* [[How to use multiple model parts]]
* [[How to use the GidIO]]
+
* [[How to construct a linear solver using the "Linear Solver Factory"]]
 +
* [[How to construct the "solving strategies"]]
 +
* [[How to create unitary tests]]
 +
* [[How to create a new application]]
 
* [[strategy_python]]
 
* [[strategy_python]]
 +
* [[Operations]]
 +
* [[How to acess the values of a Table]]
 +
'''Input/Output and GiD'''
 +
* [[How to read a mdpa file]]
 +
* [[How to use the GidIO]]
 
* [[How to read a data file]]
 
* [[How to read a data file]]
 
* [[How to plot graphs]]
 
* [[How to plot graphs]]
 +
* [[How to create the problem_type.gid folder with the new problem type generator]]
 +
* [[How to use the Isosurface Node Printer]]
 +
'''Calculation tips for Kratos feasible from Python'''
 +
* [[How to Calculate Distance Function]]
 +
* [[How to Calculate Normals]]
 
* [[How to execute an FFT analysis]]
 
* [[How to execute an FFT analysis]]
 
* [[How to execute fitting of data series]]
 
* [[How to execute fitting of data series]]
Line 44: Line 81:
 
* [[How to add automatic benchmarking to your example]]
 
* [[How to add automatic benchmarking to your example]]
 
* [[How to use parallel Pardiso solver for your example]]
 
* [[How to use parallel Pardiso solver for your example]]
* [[How to work with nodes and elements in python]]
 
* [[How to create the problem_type.gid folder with the new problem type generator]]
 
 
* [[How to use the projection between no matching meshes]]
 
* [[How to use the projection between no matching meshes]]
 
* [[How to use the ReduceTimeStep]]
 
* [[How to use the ReduceTimeStep]]
Line 53: Line 88:
 
<!-- * [[How to include the restart in python]] -->
 
<!-- * [[How to include the restart in python]] -->
 
* [[How to use the Cutting Application (Serial and Parallel)]]
 
* [[How to use the Cutting Application (Serial and Parallel)]]
 +
* [[How to use external linear solvers and preconditioners]]
 
* [[How to create a restart (python) file]]
 
* [[How to create a restart (python) file]]
 
* [[How to use the Cutting Isosurface Application]]
 
* [[How to use the Cutting Isosurface Application]]
* [[How to use the Isosurface Node Printer]]
+
* [[How to access a value in a 'Properties' block]]
  
 
== C++ ==
 
== C++ ==
 +
* [[How to use the Constitutive Law class]]
 +
* [[How to use "Smart Pointers" within Kratos]]
 
* [[How to Use the ModelPart]]
 
* [[How to Use the ModelPart]]
 +
* [[How to Use the Meshes as Group]]
 
* [[How to Add and Delete Components (Nodes, Elements, ...) from ModelPart]]
 
* [[How to Add and Delete Components (Nodes, Elements, ...) from ModelPart]]
 
* [[How to Access Neighbor Nodes and Elements]]
 
* [[How to Access Neighbor Nodes and Elements]]
 
* [[How to Access DataBase]]
 
* [[How to Access DataBase]]
* [[How to Create New Application]] (to be soon deleted)
 
 
* [[How to Create a New Application using cmake]]
 
* [[How to Create a New Application using cmake]]
 
* [[How to Create New Element]]
 
* [[How to Create New Element]]
 +
* [[How to use the geometry within an element]]
 
* [[How to Use Solving Strategy]]
 
* [[How to Use Solving Strategy]]
 
* [[How to understand Kratos Pointers]]
 
* [[How to understand Kratos Pointers]]
Line 71: Line 110:
 
* [[How to Export Function/Classes to the Python]]
 
* [[How to Export Function/Classes to the Python]]
 
* [[How to Interpolate Data]]
 
* [[How to Interpolate Data]]
* [[How to Use Spatial Containers]]
+
* [[How to Compile Kratos in Debug mode]]
 
* [[How to debug with valgrind]]
 
* [[How to debug with valgrind]]
 
* [[How to Add a Custom_Utilities File]]
 
* [[How to Add a Custom_Utilities File]]
 
* [[How to Create a GiD Problem Type]]
 
* [[How to Create a GiD Problem Type]]
* [[How to Add a New Condition]]
+
* [[How to Add a New Element (Condition)]]
 
* [[How to Add a New constitutive law]]
 
* [[How to Add a New constitutive law]]
* [[Some aspects of programing ]]
 
* [[strategy_python]]
 
 
* [[How to Add a New Variable]]
 
* [[How to Add a New Variable]]
 
* [[How to use the Geometry]]
 
* [[How to use the Geometry]]
Line 84: Line 121:
 
* [[How to use push_back]]
 
* [[How to use push_back]]
 
* [[How to Create a executable without Python]]
 
* [[How to Create a executable without Python]]
* [[Compiling lapack++ for 64 bit Windows]]
 
* [[Common errors ]]
 
 
* [[How to apply face pressures]]
 
* [[How to apply face pressures]]
* [[News for constitutive laws]]
+
* [[How to print values on Gauss points]]
* [[How to print values on gauss points]]
+
 
* [[How to use Serialization]]
 
* [[How to use Serialization]]
 +
* [[How to Search neighbors]]
 
* [[How to use Doxygen to generate documentation for our code]]
 
* [[How to use Doxygen to generate documentation for our code]]
 +
* [[News for constitutive laws]]
 +
* [[strategy_python]]
 +
* [[Compiling lapack++ for 64 bit Windows]]
 +
* [[Common errors ]]
 +
* [[Some aspects of programing]]
 +
* [[How to use the Spatial Containers]]
 +
* [[How to solve linker errors]]
  
 
== Debbuging and optimizing your code ==
 
== Debbuging and optimizing your code ==
Line 98: Line 140:
 
* [[Checking memory use with Valgrind]]
 
* [[Checking memory use with Valgrind]]
  
[[Category:How To]]
+
== Graphical User Interfaces ==
 +
* [[How the GiD Graphical User Interface communicates with Kratos]]
 +
 
 +
 
 +
 
 +
<!--== Theory Manual ==
 +
* [[GeneralTemplate]]
 +
* [[MiguelAngel]]
 +
* [[Kazem]]
 +
* [[Computational Fluid Dynamic Module (CFDm)]]
 +
* [[CFDm 1.Introduction]]
 +
* [[CFDm 2.Structure]]
 +
* [[CFDm 2.1.Fluid Types]]
 +
* [[CFDm 2.2.Kinematical Approaches]]
 +
* [[CFDm 2.3.Solution Strategies]]
 +
* [[CFDm 2.4.Elements]]
 +
* [[CFDm 2.5.Boundary Conditions]]
 +
* [[CFDm 2.6.Initial Conditions]]
 +
* [[CFDm 2.7.Turbulence Models]]
 +
* [[CFDm 2.8.HPC]]
 +
* [[CFDm 2.9.Problem Parameters]]
 +
* [[CFDm 2.10.Other Relevant Aspects]]
 +
* [[CFDm 3.Benchmarking]]
 +
* [[CFDm 4.Tutorials]]
 +
* [[CFDm 5.Contact People]]
 +
* [[CFDm 6.Aknowledgements]]
 +
* [[Computational Structural Mechanics Module (CSMm)]]
 +
* [[CSMm 1.Introduction]]
 +
* [[CSMm 2.Structure]]
 +
* [[CSMm 2.1.Analysis Type]]
 +
* [[CSMm 2.2.Elements]]
 +
* [[CSMm 2.3.Boundary Conditions]]
 +
* [[CSMm 2.4.Loads]]
 +
* [[CSMm 2.5.Constitutive Laws]]
 +
* [[CSMm 2.6.HPC]]
 +
* [[CSMm 2.7.Problem Parameters]]
 +
* [[CSMm 2.8.Other Relevant Aspects]]
 +
* [[CSMm 3.Benchmarking]]
 +
* [[CSMm 4.Tutorials]]
 +
* [[CSMm 5.Contact People]]
 +
* [[CSMm 6.Aknowledgements]]
 +
* [[Convection Diffusion Module (CDm)]]
 +
* [[CDm 1.Introduction]]
 +
* [[CDm 2.Structure]]
 +
* [[CDm 2.1.Analysis type]]
 +
* [[CDm 2.2.Kinematical Approaches]]
 +
* [[CDm 2.3.Solution Strategies]]
 +
* [[CDm 2.4.Elements]]
 +
* [[CDm 2.5.Boundary Conditions]]
 +
* [[CDm 2.6.Initial Conditions]]
 +
* [[CDm 2.7.HPC]]
 +
* [[CDm 2.8.Problem Parameters]]
 +
* [[CDm 2.9.Other Relevant Aspects]]
 +
* [[CDm 3.Benchmarking]]
 +
* [[CDm 4.Tutorials]]
 +
* [[CDm 5.Contact People]]
 +
* [[CDm 6.Aknowledgements]]
 +
 
 +
 
 +
[[Category: Theory Manual]]-->

Latest revision as of 11:48, 11 December 2017

This section is intended as a list of "recipes" for common needs in using the Kratos


Contents

We have moved!

The development of Kratos Multiphysics has been moved to GitHub. You can find us in our GitHub project page. We are keeping this wiki until the migration is complete, but it will no longer be updated. Find up-to date documentation in the new GitHub wiki page.


General

OpenMP Parallelism

MPI Parallelism

OpenCL Parallelism

Git

Python

General Python Use for Kratos

Input/Output and GiD

Calculation tips for Kratos feasible from Python

C++

Debbuging and optimizing your code

Graphical User Interfaces



Personal tools
Categories