no need for orientation class at the moment
implement only if we need symmetry aware operations
This commit is contained in:
parent
0c1c40f1de
commit
407f94082f
|
@ -69,18 +69,14 @@ add_library(ROTATIONS OBJECT "rotations.f90")
|
|||
add_dependencies(ROTATIONS LAMBERT QUATERNIONS)
|
||||
list(APPEND OBJECTFILES $<TARGET_OBJECTS:ROTATIONS>)
|
||||
|
||||
add_library(ORIENTATIONS OBJECT "orientations.f90")
|
||||
add_dependencies(ORIENTATIONS ROTATIONS)
|
||||
list(APPEND OBJECTFILES $<TARGET_OBJECTS:ORIENTATIONS>)
|
||||
|
||||
# SPECTRAL solver and FEM solver use different mesh files
|
||||
if (PROJECT_NAME STREQUAL "DAMASK_spectral")
|
||||
add_library(MESH OBJECT "mesh.f90")
|
||||
add_dependencies(MESH ORIENTATIONS FEsolving)
|
||||
add_dependencies(MESH ROTATIONS FEsolving)
|
||||
list(APPEND OBJECTFILES $<TARGET_OBJECTS:MESH>)
|
||||
elseif (PROJECT_NAME STREQUAL "DAMASK_FEM")
|
||||
add_library(FEZoo OBJECT "FEM_zoo.f90")
|
||||
add_dependencies(FEZoo ORIENTATIONS FEsolving)
|
||||
add_dependencies(FEZoo ROTATIONS FEsolving)
|
||||
list(APPEND OBJECTFILES $<TARGET_OBJECTS:FEZoo>)
|
||||
add_library(MESH OBJECT "meshFEM.f90")
|
||||
add_dependencies(MESH FEZoo)
|
||||
|
|
|
@ -14,7 +14,6 @@
|
|||
#include "quaternions.f90"
|
||||
#include "Lambert.f90"
|
||||
#include "rotations.f90"
|
||||
#include "orientations.f90"
|
||||
#include "FEsolving.f90"
|
||||
#include "mesh.f90"
|
||||
#include "material.f90"
|
||||
|
|
|
@ -12,8 +12,8 @@ module crystallite
|
|||
use prec, only: &
|
||||
pReal, &
|
||||
pInt
|
||||
use orientations, only: &
|
||||
orientation
|
||||
use rotations, only: &
|
||||
rotation
|
||||
use FEsolving, only: &
|
||||
FEsolving_execElem, &
|
||||
FEsolving_execIP
|
||||
|
@ -45,7 +45,7 @@ module crystallite
|
|||
crystallite_Tstar_v, & !< current 2nd Piola-Kirchhoff stress vector (end of converged time step) ToDo: Should be called S, 3x3
|
||||
crystallite_Tstar0_v, & !< 2nd Piola-Kirchhoff stress vector at start of FE inc ToDo: Should be called S, 3x3
|
||||
crystallite_partionedTstar0_v !< 2nd Piola-Kirchhoff stress vector at start of homog inc ToDo: Should be called S, 3x3
|
||||
type(orientation), dimension(:,:,:), allocatable, private :: &
|
||||
type(rotation), dimension(:,:,:), allocatable, private :: &
|
||||
crystallite_ori, & !< orientation as quaternion
|
||||
crystallite_ori0 !< initial orientation as quaternion
|
||||
real(pReal), dimension(:,:,:,:), allocatable, private :: &
|
||||
|
|
|
@ -1,39 +0,0 @@
|
|||
!---------------------------------------------------------------------------------------------------
|
||||
!> @author Martin Diehl, Max-Planck-Institut für Eisenforschung GmbH
|
||||
!> @brief orientation storage
|
||||
!> @details: orientation = rotation + symmetry
|
||||
!---------------------------------------------------------------------------------------------------
|
||||
|
||||
module orientations
|
||||
use rotations
|
||||
use prec, only: &
|
||||
pStringLen
|
||||
|
||||
implicit none
|
||||
type, extends(rotation), public :: orientation
|
||||
character(len=pStringLen) :: sym = 'none'
|
||||
end type orientation
|
||||
|
||||
interface orientation
|
||||
module procedure :: orientation_init
|
||||
end interface orientation
|
||||
|
||||
contains
|
||||
|
||||
type(orientation) function orientation_init(sym,eu,ax,om,qu,cu,ho,ro)
|
||||
use prec
|
||||
implicit none
|
||||
character(len=pStringLen), intent(in), optional :: sym
|
||||
real(pReal), intent(in), optional, dimension(3) :: eu, cu, ho
|
||||
real(pReal), intent(in), optional, dimension(4) :: ax, qu, ro
|
||||
real(pReal), intent(in), optional, dimension(3,3) :: om
|
||||
|
||||
if (present(sym)) orientation_init%sym = sym
|
||||
|
||||
if (present(om)) then
|
||||
call orientation_init%fromRotationMatrix(om)
|
||||
endif
|
||||
|
||||
end function orientation_init
|
||||
|
||||
end module
|
Loading…
Reference in New Issue