-
Notifications
You must be signed in to change notification settings - Fork 34
ERROR Task add_material is not registered to build Kernel derived objects #173
Unanswered
j-barton1066
asked this question in
Q&A General
Hello,
I have been working on learning to use MALAMUTE in the MOOSE system and as I have been expanding my .i file to run a DED simulation I have been running into the error add_material not registered to build Kernel.
Here is my input file it was built out of some of the examples given in the repository it's pretty rough but a part of my learning process.
Thank you for your help
T_room = 300
T_melt = 1500
T_ambient = 300
dt = 200
[Mesh]
[mesh]
type = GeneratedMeshGenerator
dim = 3
xmin = -4.5
xmax = 4.5
ymin = -4.5
ymax = 4.5
zmin = 0
zmax = 3.3
nx = 30
ny = 30
nz = 11
[]
[add_set1]
type = SubdomainBoundingBoxGenerator
input = mesh
block_id = 3
bottom_left = '-50 -50 0'
top_right = '50 50 0.9'
[]
[add_set2]
type = SubdomainBoundingBoxGenerator
input = add_set1
block_id = 1
bottom_left = '-50 -50 0.9'
top_right = '50 50 3.3'
[]
[add_set3]
type = GeneratedMeshGenerator
dim = 3
xmax = 0.001
ymax = 0.001
zmin = -0.001
subdomain_ids = 2
[]
[moving_boundary]
type = SideSetsAroundSubdomainGenerator
input = add_set3
block = 2
new_boundary = 'moving_boundary'
[]
[cmbn]
type = CombinerGenerator
inputs = 'add_set2 moving_boundary'
[]
skip_partitioning = true
[]
[Variables]
[temp]
block = '1 2 3'
[]
[]
[AuxVariables]
#[temp]
#order = FIRST
#family = LAGRANGE
#[]
[temp_aux]
order = FIRST
family = LAGRANGE
block = '1 2 3'
[]
[]
[Kernels]
[time]
type = ADHeatConductionTimeDerivative
variable = temp
[]
[heat_conduction]
type = ADHeatConduction
variable = temp
thermal_conductivity = thermal_conductivity
[]
[heat_source_laser] # Laser heat source
type = MeltPoolHeatSource
variable = temp
laser_power = 100 #Not fixed examples had going up to 250
effective_beam_radius = 0.2 #Not sure if this is standard
absorption_coefficient = 0.2 #GPT says could go up to .6 for Si based alloys
heat_transfer_coefficient = 100 #GPT reccomendation 50-500 W/m^2K
StefanBoltzmann_constant = 5.67e-8
material_emissivity = .3 # .3 to .9 for Si depending on oxidation closer to 1= better emmiter
ambient_temperature = 300
laser_location_x = ".5 + t"
laser_location_y = ".5"
rho_l = 2500 #ranges typically from 2500-2700
rho_g = 1.184 #
vaporization_latent_heat = 6.1e6
[]
[]
[Materials]
[thermal_conductivity]
type = ADHeatConduction
value = 148.0 #silicon(W/m*K)
property = thermal_conductivity
block = '1 2 3'
[]
[E]
type = ADPiecewiseLinearInterpolationMaterial
x = '0 294.994 1671.48 1721.77 1e7'
y = '150e3 150e3 100e3 20e3 5e3' # Si at room temp 130-170 GPa #MPa # 10^9 Pa = 10^9 kg/m/s^2 = kg/mm/ms^2
property = youngs_modulus
variable = temp_aux
extrapolation = false
block = '1 2 3'
[]
[nu]
type = ADPiecewiseLinearInterpolationMaterial
x = '0 294.994 1669.62 1721.77 1e7'
y = '0.26 0.26 0.28 0.28 0.28' #Possion's ratio fir Si is around 0.22-0.28
property = poissons_ratio
variable = temp_aux
extrapolation = false
block = '1 2 3'
[]
[elasticity_tensor]
type = ADComputeVariableIsotropicElasticityTensor
youngs_modulus = youngs_modulus
poissons_ratio = poissons_ratio
block = '1 2 3'
[]
[thermal_expansion_strain_product]
type = ADComputeThermalExpansionEigenstrain
stress_free_temperature = ${T_melt}
thermal_expansion_coeff = 2.6e-6 #for pure silicon adjust based on alloy
temperature = temp_aux
eigenstrain_name = thermal_eigenstrain_product
block = '1 2'
[]
[thermal_expansion_strain_substrate]
type = ADComputeThermalExpansionEigenstrain
stress_free_temperature = ${T_room}
thermal_expansion_coeff = 2.6e-6 #for pure silicon adjust based on alloy
temperature = temp_aux
eigenstrain_name = thermal_eigenstrain_substrate
block = '1 3'
[]
[radial_return_stress]
type = ADComputeMultipleInelasticStress
inelastic_models = 'power_law_hardening'
block = '1 2 3'
[]
[power_law_hardening]
type = ADIsotropicPowerLawHardeningStressUpdate
strength_coefficient = 847 #K
strain_hardening_exponent = 0.01 #n #lower for brittle materials like Si
relative_tolerance = 1e-6 #need changed?
absolute_tolerance = 1e-8 #need changed?
temperature = temp_aux
block = '1 2 3'
[]
[]
[Executioner]
type = Transient
solve_type = 'NEWTON'
petsc_options_iname = '-ksp_type -pc_type -pc_factor_mat_solver_package -pc_factor_shift_type -pc_factor_shift_amount'
petsc_options_value = 'preonly lu superlu_dist NONZERO 1e-10'
line_search = 'none'
l_max_its = 100
nl_max_its = 15
nl_rel_tol = 1e-8
nl_abs_tol = 1e-10
start_time = 0.0
end_time = 2000
dt = ${dt} # ms
dtmin = 1e-6
auto_advance = true # cut time-step when subapp fails
error_on_dtmin = false
[]
[Outputs]
file_base = 'output/laser'
csv = true
[exodus]
type = Exodus
file_base = 'output/Exodus\laser'
time_step_interval = 5
[]
[]
All reactions
Replies: 1 comment
@dewenyushu or @cticenhour, could either of you help to answer this question?
All reactions
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment