when defining Variables, for example, material properties depending on temperature, as in
Code: Select all
Electric Conductivity = Variable Temperature; Real MATC "0.5 * (1 + 0.0025 * (tx - 20))"
Thanks,
Matthias
Code: Select all
Electric Conductivity = Variable Temperature; Real MATC "0.5 * (1 + 0.0025 * (tx - 20))"
Code: Select all
(...)
Solver 2
Equation = Result Output
Output Format = Vtu
Procedure = "ResultOutputSolve" "ResultOutputSolver"
Output File Name = case
Exec Solver = After Simulation
End
Equation 2
Name = "VTK Output"
$fprintf( stderr, "Electric Conductivity: ");
$fprintf( stderr, "%.2f\n", Electric Conductivity);
Active Solvers(1) = 2
End
(...)
Code: Select all
! Very important declaration
CHARACTER(LEN=30) :: FMT
!
!(....)
!
! Floating Number
write(*,FMT="(A, F7.2)"),"Valeur de ma Variable local 1 = ", MaVariablelocal1
! Scientific notation with exponent
write(*,FMT="(A, 1pE11.3E3)")," Valeur de ma Variable local 2 = ", MaVariablelocal2
Code: Select all
!------------------------------------------------------------------------------
!> This subroutine saves 1D dependence of a given property.
!------------------------------------------------------------------------------
SUBROUTINE SaveDependence( Model,Solver,dt,TransientSimulation )
USE Types
USE Lists
USE DefUtils
IMPLICIT NONE
!------------------------------------------------------------------------------
TYPE(Solver_t) :: Solver
TYPE(Model_t) :: Model
REAL(KIND=dp) :: dt
LOGICAL :: TransientSimulation
!------------------------------------------------------------------------------
! Local variables
!------------------------------------------------------------------------------
CHARACTER(LEN=MAX_NAME_LEN) :: FileName, ParName
REAL(KIND=dp) :: x1, x0, x, w, f
INTEGER :: i,j,n,NoPar
TYPE(ValueList_t), POINTER :: Params
LOGICAL :: Found
CALL Info('SaveDependence','Saving dependencies in a table')
Params => Solver % Values
FileName = ListGetString( Params,'Filename',Found)
IF(.NOT. Found ) FileName = 'dep.dat'
n = ListGetInteger( Params,'Number of points',minv=2)
x0 = ListGetCReal( Params,'Lower limit')
x1 = ListGetCReal( Params,'Upper Limit')
NoPar = 0
DO j=1,100
WRITE (ParName,'(A,I0)') 'Expression ',j
IF( ListCheckPresent( Params, ParName ) ) THEN
NoPar = j
ELSE
EXIT
END IF
END DO
IF( NoPar == 0 ) THEN
CALL Warn('SaveDependence','No parameter given!')
RETURN
END IF
OPEN( 10, FILE=FileName )
DO i=1,n
w = (1.0_dp*(i-1))/(n-1)
x = x0 + w*(x1-x0)
WRITE (10,'(I6,ES15.6)',ADVANCE='NO') i,x
DO j=1,NoPar
WRITE (ParName,'(A,I0)') 'Expression ',j
f = ListGetFun( Params,ParName,x )
WRITE (10,'(ES15.6)',ADVANCE='NO') f
END DO
WRITE (10,'(A)') ' '
END DO
CLOSE( 10 )
END SUBROUTINE SaveDependence
Code: Select all
Solver 2
Equation = "SaveDep"
Procedure = "SaveDependence" "SaveDependence"
Filename = File f.dat
Number Of Points = Integer 21
Lower Limit = Real 1.0
Upper Limit = Real 2.0
Expression 1 = Variable dummy
Real MATC "1+tx"
Expression 2 = Variable dummy
Real MATC "1+sin(tx)"
Expression 3 = Variable dummy
Real
0.0 0.0
1.0 5.0
2.0 5.0
End
End
Code: Select all
f = ListGetFun( Params,ParName,x )